Skip to content
File

Blob: src/cloudflare/internal/test/d1/d1-api-instrumentation-test.js

javascript1085 lines
1// Copyright (c) 2017-2023 Cloudflare, Inc.
2// Licensed under the Apache 2.0 license found in the LICENSE file or at:
3// https://opensource.org/licenses/Apache-2.0
4 
5import {
6 createInstrumentationState,
7 createTailStreamHandler,
8 runInstrumentationTest,
9} from 'instrumentation-test-helper';
10 
11// Create module-level state using the helper
12const state = createInstrumentationState();
13 
14export default {
15 tailStream: createTailStreamHandler(state),
16};
17 
18export const test = {
19 async test() {
20 await runInstrumentationTest(state, expectedSpans, {
21 testName: 'D1 instrumentation',
22 mapFn: (span) => {
23 // varies test-by-test because random duration in d1-mock.js
24 if (span['http.response.body.size']) {
25 span['http.response.body.size'] = 0n;
26 }
27 return span;
28 },
29 });
30 },
31};
32 
33const expectedSpans = [
34 // testExec: exec() happy path and error handling (regression test for #5218).
35 {
36 name: 'd1_exec',
37 'db.system.name': 'cloudflare-d1',
38 'db.operation.name': 'exec',
39 'db.query.text': 'select 1',
40 'cloudflare.binding.type': 'D1',
41 'cloudflare.d1.response.size_after': 4096,
42 'cloudflare.d1.response.rows_read': 0,
43 'cloudflare.d1.response.rows_written': 0,
44 'cloudflare.d1.response.last_row_id': 0,
45 'cloudflare.d1.response.changed_db': false,
46 'cloudflare.d1.response.changes': 0,
47 'cloudflare.d1.response.served_by_colo': 'DFW',
48 closed: true,
49 },
50 {
51 name: 'fetch',
52 'network.protocol.name': 'http',
53 'network.protocol.version': 'HTTP/1.1',
54 'http.request.method': 'POST',
55 'url.full': 'http://d1/execute?resultsFormat=NONE',
56 'http.request.header.content-type': 'application/json',
57 'http.request.body.size': 20n,
58 'http.response.status_code': 200n,
59 'http.response.body.size': 0n,
60 closed: true,
61 },
62 {
63 name: 'd1_exec',
64 'db.system.name': 'cloudflare-d1',
65 'db.operation.name': 'exec',
66 'db.query.text': 'INVALID SQL',
67 'cloudflare.binding.type': 'D1',
68 'error.type': 'Error in line 1',
69 closed: true,
70 },
71 {
72 name: 'fetch',
73 'network.protocol.name': 'http',
74 'network.protocol.version': 'HTTP/1.1',
75 'http.request.method': 'POST',
76 'url.full': 'http://d1/execute?resultsFormat=NONE',
77 'http.request.header.content-type': 'application/json',
78 'http.request.body.size': 23n,
79 'http.response.status_code': 200n,
80 'http.response.body.size': 0n,
81 closed: true,
82 },
83 {
84 name: 'd1_run',
85 'db.system.name': 'cloudflare-d1',
86 'db.operation.name': 'run',
87 'db.query.text':
88 ' CREATE TABLE users\n' +
89 ' (\n' +
90 ' user_id INTEGER PRIMARY KEY,\n' +
91 ' name TEXT,\n' +
92 ' home TEXT,\n' +
93 ' features TEXT,\n' +
94 ' land_based BOOLEAN\n' +
95 ' );',
96 'cloudflare.binding.type': 'D1',
97 'cloudflare.d1.response.size_after': 8192,
98 'cloudflare.d1.response.rows_read': 1,
99 'cloudflare.d1.response.rows_written': 2,
100 'cloudflare.d1.response.last_row_id': 0,
101 'cloudflare.d1.response.changed_db': true,
102 'cloudflare.d1.response.changes': 0,
103 'cloudflare.d1.response.served_by_colo': 'DFW',
104 closed: true,
105 },
106 {
107 name: 'fetch',
108 'network.protocol.name': 'http',
109 'network.protocol.version': 'HTTP/1.1',
110 'http.request.method': 'POST',
111 'url.full': 'http://d1/execute?resultsFormat=NONE',
112 'http.request.header.content-type': 'application/json',
113 'http.request.body.size': 231n,
114 'http.response.status_code': 200n,
115 'http.response.body.size': 0n,
116 closed: true,
117 },
118 {
119 name: 'd1_all',
120 'db.system.name': 'cloudflare-d1',
121 'db.operation.name': 'all',
122 'db.query.text': 'SELECT * FROM users;',
123 'cloudflare.binding.type': 'D1',
124 'cloudflare.d1.response.size_after': 8192,
125 'cloudflare.d1.response.rows_read': 1,
126 'cloudflare.d1.response.rows_written': 0,
127 'cloudflare.d1.response.last_row_id': 0,
128 'cloudflare.d1.response.changed_db': false,
129 'cloudflare.d1.response.changes': 0,
130 'cloudflare.d1.response.served_by_colo': 'DFW',
131 closed: true,
132 },
133 {
134 name: 'fetch',
135 'network.protocol.name': 'http',
136 'network.protocol.version': 'HTTP/1.1',
137 'http.request.method': 'POST',
138 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
139 'http.request.header.content-type': 'application/json',
140 'http.request.body.size': 42n,
141 'http.response.status_code': 200n,
142 'http.response.body.size': 0n,
143 closed: true,
144 },
145 {
146 name: 'd1_run',
147 'db.system.name': 'cloudflare-d1',
148 'db.operation.name': 'run',
149 'db.query.text': 'SELECT * FROM users;',
150 'cloudflare.binding.type': 'D1',
151 'cloudflare.d1.response.size_after': 8192,
152 'cloudflare.d1.response.rows_read': 1,
153 'cloudflare.d1.response.rows_written': 0,
154 'cloudflare.d1.response.last_row_id': 0,
155 'cloudflare.d1.response.changed_db': false,
156 'cloudflare.d1.response.changes': 0,
157 'cloudflare.d1.response.served_by_colo': 'DFW',
158 closed: true,
159 },
160 {
161 name: 'fetch',
162 'network.protocol.name': 'http',
163 'network.protocol.version': 'HTTP/1.1',
164 'http.request.method': 'POST',
165 'url.full': 'http://d1/execute?resultsFormat=NONE',
166 'http.request.header.content-type': 'application/json',
167 'http.request.body.size': 42n,
168 'http.response.status_code': 200n,
169 'http.response.body.size': 0n,
170 closed: true,
171 },
172 {
173 name: 'd1_run',
174 'db.system.name': 'cloudflare-d1',
175 'db.operation.name': 'run',
176 'db.query.text': 'DELETE FROM users;',
177 'cloudflare.binding.type': 'D1',
178 'cloudflare.d1.response.size_after': 8192,
179 'cloudflare.d1.response.rows_read': 0,
180 'cloudflare.d1.response.rows_written': 0,
181 'cloudflare.d1.response.last_row_id': 0,
182 'cloudflare.d1.response.changed_db': false,
183 'cloudflare.d1.response.changes': 0,
184 'cloudflare.d1.response.served_by_colo': 'DFW',
185 closed: true,
186 },
187 {
188 name: 'fetch',
189 'network.protocol.name': 'http',
190 'network.protocol.version': 'HTTP/1.1',
191 'http.request.method': 'POST',
192 'url.full': 'http://d1/execute?resultsFormat=NONE',
193 'http.request.header.content-type': 'application/json',
194 'http.request.body.size': 40n,
195 'http.response.status_code': 200n,
196 'http.response.body.size': 0n,
197 closed: true,
198 },
199 {
200 name: 'd1_all',
201 'db.system.name': 'cloudflare-d1',
202 'db.operation.name': 'all',
203 'db.query.text':
204 '\n' +
205 ' INSERT INTO users (name, home, features, land_based) VALUES\n' +
206 " ('Albert Ross', 'sky', 'wingspan', false),\n" +
207 " ('Al Dente', 'bowl', 'mouthfeel', true)\n" +
208 ' RETURNING *\n' +
209 ' ',
210 'cloudflare.binding.type': 'D1',
211 'cloudflare.d1.response.size_after': 8192,
212 'cloudflare.d1.response.rows_read': 4,
213 'cloudflare.d1.response.rows_written': 2,
214 'cloudflare.d1.response.last_row_id': 2,
215 'cloudflare.d1.response.changed_db': true,
216 'cloudflare.d1.response.changes': 2,
217 'cloudflare.d1.response.served_by_colo': 'DFW',
218 closed: true,
219 },
220 {
221 name: 'fetch',
222 'network.protocol.name': 'http',
223 'network.protocol.version': 'HTTP/1.1',
224 'http.request.method': 'POST',
225 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
226 'http.request.header.content-type': 'application/json',
227 'http.request.body.size': 223n,
228 'http.response.status_code': 200n,
229 'http.response.body.size': 0n,
230 closed: true,
231 },
232 {
233 name: 'd1_run',
234 'db.system.name': 'cloudflare-d1',
235 'db.operation.name': 'run',
236 'db.query.text': 'DELETE FROM users;',
237 'cloudflare.binding.type': 'D1',
238 'cloudflare.d1.response.size_after': 8192,
239 'cloudflare.d1.response.rows_read': 0,
240 'cloudflare.d1.response.rows_written': 2,
241 'cloudflare.d1.response.last_row_id': 2,
242 'cloudflare.d1.response.changed_db': true,
243 'cloudflare.d1.response.changes': 2,
244 'cloudflare.d1.response.served_by_colo': 'DFW',
245 closed: true,
246 },
247 {
248 name: 'fetch',
249 'network.protocol.name': 'http',
250 'network.protocol.version': 'HTTP/1.1',
251 'http.request.method': 'POST',
252 'url.full': 'http://d1/execute?resultsFormat=NONE',
253 'http.request.header.content-type': 'application/json',
254 'http.request.body.size': 40n,
255 'http.response.status_code': 200n,
256 'http.response.body.size': 0n,
257 closed: true,
258 },
259 {
260 name: 'd1_run',
261 'db.system.name': 'cloudflare-d1',
262 'db.operation.name': 'run',
263 'db.query.text':
264 '\n' +
265 ' INSERT INTO users (name, home, features, land_based) VALUES\n' +
266 " ('Albert Ross', 'sky', 'wingspan', false),\n" +
267 " ('Al Dente', 'bowl', 'mouthfeel', true)\n" +
268 ' RETURNING *\n' +
269 ' ',
270 'cloudflare.binding.type': 'D1',
271 'cloudflare.d1.response.size_after': 8192,
272 'cloudflare.d1.response.rows_read': 4,
273 'cloudflare.d1.response.rows_written': 2,
274 'cloudflare.d1.response.last_row_id': 2,
275 'cloudflare.d1.response.changed_db': true,
276 'cloudflare.d1.response.changes': 2,
277 'cloudflare.d1.response.served_by_colo': 'DFW',
278 closed: true,
279 },
280 {
281 name: 'fetch',
282 'network.protocol.name': 'http',
283 'network.protocol.version': 'HTTP/1.1',
284 'http.request.method': 'POST',
285 'url.full': 'http://d1/execute?resultsFormat=NONE',
286 'http.request.header.content-type': 'application/json',
287 'http.request.body.size': 223n,
288 'http.response.status_code': 200n,
289 'http.response.body.size': 0n,
290 closed: true,
291 },
292 {
293 name: 'd1_all',
294 'db.system.name': 'cloudflare-d1',
295 'db.operation.name': 'all',
296 'db.query.text': 'select 1;',
297 'cloudflare.binding.type': 'D1',
298 'cloudflare.d1.response.size_after': 8192,
299 'cloudflare.d1.response.rows_read': 0,
300 'cloudflare.d1.response.rows_written': 0,
301 'cloudflare.d1.response.last_row_id': 2,
302 'cloudflare.d1.response.changed_db': false,
303 'cloudflare.d1.response.changes': 0,
304 'cloudflare.d1.response.served_by_colo': 'DFW',
305 closed: true,
306 },
307 {
308 name: 'fetch',
309 'network.protocol.name': 'http',
310 'network.protocol.version': 'HTTP/1.1',
311 'http.request.method': 'POST',
312 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
313 'http.request.header.content-type': 'application/json',
314 'http.request.body.size': 31n,
315 'http.response.status_code': 200n,
316 'http.response.body.size': 0n,
317 closed: true,
318 },
319 {
320 name: 'd1_all',
321 'db.system.name': 'cloudflare-d1',
322 'db.operation.name': 'raw',
323 'db.query.text': 'select 1;',
324 'cloudflare.binding.type': 'D1',
325 'cloudflare.d1.response.size_after': 8192,
326 'cloudflare.d1.response.rows_read': 0,
327 'cloudflare.d1.response.rows_written': 0,
328 'cloudflare.d1.response.last_row_id': 2,
329 'cloudflare.d1.response.changed_db': false,
330 'cloudflare.d1.response.changes': 0,
331 'cloudflare.d1.response.served_by_colo': 'DFW',
332 closed: true,
333 },
334 {
335 name: 'fetch',
336 'network.protocol.name': 'http',
337 'network.protocol.version': 'HTTP/1.1',
338 'http.request.method': 'POST',
339 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
340 'http.request.header.content-type': 'application/json',
341 'http.request.body.size': 31n,
342 'http.response.status_code': 200n,
343 'http.response.body.size': 0n,
344 closed: true,
345 },
346 {
347 name: 'd1_first',
348 'db.system.name': 'cloudflare-d1',
349 'db.operation.name': 'first',
350 'db.query.text': 'select 1;',
351 'cloudflare.binding.type': 'D1',
352 'cloudflare.d1.response.size_after': 8192,
353 'cloudflare.d1.response.rows_read': 0,
354 'cloudflare.d1.response.rows_written': 0,
355 'cloudflare.d1.response.last_row_id': 2,
356 'cloudflare.d1.response.changed_db': false,
357 'cloudflare.d1.response.changes': 0,
358 'cloudflare.d1.response.served_by_colo': 'DFW',
359 closed: true,
360 },
361 {
362 name: 'fetch',
363 'network.protocol.name': 'http',
364 'network.protocol.version': 'HTTP/1.1',
365 'http.request.method': 'POST',
366 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
367 'http.request.header.content-type': 'application/json',
368 'http.request.body.size': 31n,
369 'http.response.status_code': 200n,
370 'http.response.body.size': 0n,
371 closed: true,
372 },
373 {
374 name: 'd1_first',
375 'db.system.name': 'cloudflare-d1',
376 'db.operation.name': 'first',
377 'db.query.text': 'select 1;',
378 'cloudflare.binding.type': 'D1',
379 'cloudflare.d1.response.size_after': 8192,
380 'cloudflare.d1.response.rows_read': 0,
381 'cloudflare.d1.response.rows_written': 0,
382 'cloudflare.d1.response.last_row_id': 2,
383 'cloudflare.d1.response.changed_db': false,
384 'cloudflare.d1.response.changes': 0,
385 'cloudflare.d1.response.served_by_colo': 'DFW',
386 closed: true,
387 },
388 {
389 name: 'fetch',
390 'network.protocol.name': 'http',
391 'network.protocol.version': 'HTTP/1.1',
392 'http.request.method': 'POST',
393 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
394 'http.request.header.content-type': 'application/json',
395 'http.request.body.size': 31n,
396 'http.response.status_code': 200n,
397 'http.response.body.size': 0n,
398 closed: true,
399 },
400 {
401 name: 'd1_all',
402 'db.system.name': 'cloudflare-d1',
403 'db.operation.name': 'all',
404 'db.query.text': 'SELECT * FROM users;',
405 'cloudflare.binding.type': 'D1',
406 'cloudflare.d1.response.size_after': 8192,
407 'cloudflare.d1.response.rows_read': 2,
408 'cloudflare.d1.response.rows_written': 0,
409 'cloudflare.d1.response.last_row_id': 2,
410 'cloudflare.d1.response.changed_db': false,
411 'cloudflare.d1.response.changes': 0,
412 'cloudflare.d1.response.served_by_colo': 'DFW',
413 closed: true,
414 },
415 {
416 name: 'fetch',
417 'network.protocol.name': 'http',
418 'network.protocol.version': 'HTTP/1.1',
419 'http.request.method': 'POST',
420 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
421 'http.request.header.content-type': 'application/json',
422 'http.request.body.size': 42n,
423 'http.response.status_code': 200n,
424 'http.response.body.size': 0n,
425 closed: true,
426 },
427 {
428 name: 'd1_all',
429 'db.system.name': 'cloudflare-d1',
430 'db.operation.name': 'raw',
431 'db.query.text': 'SELECT * FROM users;',
432 'cloudflare.binding.type': 'D1',
433 'cloudflare.d1.response.size_after': 8192,
434 'cloudflare.d1.response.rows_read': 2,
435 'cloudflare.d1.response.rows_written': 0,
436 'cloudflare.d1.response.last_row_id': 2,
437 'cloudflare.d1.response.changed_db': false,
438 'cloudflare.d1.response.changes': 0,
439 'cloudflare.d1.response.served_by_colo': 'DFW',
440 closed: true,
441 },
442 {
443 name: 'fetch',
444 'network.protocol.name': 'http',
445 'network.protocol.version': 'HTTP/1.1',
446 'http.request.method': 'POST',
447 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
448 'http.request.header.content-type': 'application/json',
449 'http.request.body.size': 42n,
450 'http.response.status_code': 200n,
451 'http.response.body.size': 0n,
452 closed: true,
453 },
454 {
455 name: 'd1_first',
456 'db.system.name': 'cloudflare-d1',
457 'db.operation.name': 'first',
458 'db.query.text': 'SELECT * FROM users;',
459 'cloudflare.binding.type': 'D1',
460 'cloudflare.d1.response.size_after': 8192,
461 'cloudflare.d1.response.rows_read': 2,
462 'cloudflare.d1.response.rows_written': 0,
463 'cloudflare.d1.response.last_row_id': 2,
464 'cloudflare.d1.response.changed_db': false,
465 'cloudflare.d1.response.changes': 0,
466 'cloudflare.d1.response.served_by_colo': 'DFW',
467 closed: true,
468 },
469 {
470 name: 'fetch',
471 'network.protocol.name': 'http',
472 'network.protocol.version': 'HTTP/1.1',
473 'http.request.method': 'POST',
474 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
475 'http.request.header.content-type': 'application/json',
476 'http.request.body.size': 42n,
477 'http.response.status_code': 200n,
478 'http.response.body.size': 0n,
479 closed: true,
480 },
481 {
482 name: 'd1_first',
483 'db.system.name': 'cloudflare-d1',
484 'db.operation.name': 'first',
485 'db.query.text': 'SELECT * FROM users;',
486 'cloudflare.binding.type': 'D1',
487 'cloudflare.d1.response.size_after': 8192,
488 'cloudflare.d1.response.rows_read': 2,
489 'cloudflare.d1.response.rows_written': 0,
490 'cloudflare.d1.response.last_row_id': 2,
491 'cloudflare.d1.response.changed_db': false,
492 'cloudflare.d1.response.changes': 0,
493 'cloudflare.d1.response.served_by_colo': 'DFW',
494 closed: true,
495 },
496 {
497 name: 'fetch',
498 'network.protocol.name': 'http',
499 'network.protocol.version': 'HTTP/1.1',
500 'http.request.method': 'POST',
501 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
502 'http.request.header.content-type': 'application/json',
503 'http.request.body.size': 42n,
504 'http.response.status_code': 200n,
505 'http.response.body.size': 0n,
506 closed: true,
507 },
508 {
509 name: 'd1_all',
510 'db.system.name': 'cloudflare-d1',
511 'db.operation.name': 'all',
512 'db.query.text': 'SELECT * FROM users WHERE user_id = ?;',
513 'cloudflare.binding.type': 'D1',
514 'cloudflare.d1.response.size_after': 8192,
515 'cloudflare.d1.response.rows_read': 1,
516 'cloudflare.d1.response.rows_written': 0,
517 'cloudflare.d1.response.last_row_id': 2,
518 'cloudflare.d1.response.changed_db': false,
519 'cloudflare.d1.response.changes': 0,
520 'cloudflare.d1.response.served_by_colo': 'DFW',
521 closed: true,
522 },
523 {
524 name: 'fetch',
525 'network.protocol.name': 'http',
526 'network.protocol.version': 'HTTP/1.1',
527 'http.request.method': 'POST',
528 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
529 'http.request.header.content-type': 'application/json',
530 'http.request.body.size': 61n,
531 'http.response.status_code': 200n,
532 'http.response.body.size': 0n,
533 closed: true,
534 },
535 {
536 name: 'd1_all',
537 'db.system.name': 'cloudflare-d1',
538 'db.operation.name': 'raw',
539 'db.query.text': 'SELECT * FROM users WHERE user_id = ?;',
540 'cloudflare.binding.type': 'D1',
541 'cloudflare.d1.response.size_after': 8192,
542 'cloudflare.d1.response.rows_read': 1,
543 'cloudflare.d1.response.rows_written': 0,
544 'cloudflare.d1.response.last_row_id': 2,
545 'cloudflare.d1.response.changed_db': false,
546 'cloudflare.d1.response.changes': 0,
547 'cloudflare.d1.response.served_by_colo': 'DFW',
548 closed: true,
549 },
550 {
551 name: 'fetch',
552 'network.protocol.name': 'http',
553 'network.protocol.version': 'HTTP/1.1',
554 'http.request.method': 'POST',
555 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
556 'http.request.header.content-type': 'application/json',
557 'http.request.body.size': 61n,
558 'http.response.status_code': 200n,
559 'http.response.body.size': 0n,
560 closed: true,
561 },
562 {
563 name: 'd1_first',
564 'db.system.name': 'cloudflare-d1',
565 'db.operation.name': 'first',
566 'db.query.text': 'SELECT * FROM users WHERE user_id = ?;',
567 'cloudflare.binding.type': 'D1',
568 'cloudflare.d1.response.size_after': 8192,
569 'cloudflare.d1.response.rows_read': 1,
570 'cloudflare.d1.response.rows_written': 0,
571 'cloudflare.d1.response.last_row_id': 2,
572 'cloudflare.d1.response.changed_db': false,
573 'cloudflare.d1.response.changes': 0,
574 'cloudflare.d1.response.served_by_colo': 'DFW',
575 closed: true,
576 },
577 {
578 name: 'fetch',
579 'network.protocol.name': 'http',
580 'network.protocol.version': 'HTTP/1.1',
581 'http.request.method': 'POST',
582 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
583 'http.request.header.content-type': 'application/json',
584 'http.request.body.size': 61n,
585 'http.response.status_code': 200n,
586 'http.response.body.size': 0n,
587 closed: true,
588 },
589 {
590 name: 'd1_first',
591 'db.system.name': 'cloudflare-d1',
592 'db.operation.name': 'first',
593 'db.query.text': 'SELECT * FROM users WHERE user_id = ?;',
594 'cloudflare.binding.type': 'D1',
595 'cloudflare.d1.response.size_after': 8192,
596 'cloudflare.d1.response.rows_read': 1,
597 'cloudflare.d1.response.rows_written': 0,
598 'cloudflare.d1.response.last_row_id': 2,
599 'cloudflare.d1.response.changed_db': false,
600 'cloudflare.d1.response.changes': 0,
601 'cloudflare.d1.response.served_by_colo': 'DFW',
602 closed: true,
603 },
604 {
605 name: 'fetch',
606 'network.protocol.name': 'http',
607 'network.protocol.version': 'HTTP/1.1',
608 'http.request.method': 'POST',
609 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
610 'http.request.header.content-type': 'application/json',
611 'http.request.body.size': 61n,
612 'http.response.status_code': 200n,
613 'http.response.body.size': 0n,
614 closed: true,
615 },
616 {
617 name: 'd1_all',
618 'db.system.name': 'cloudflare-d1',
619 'db.operation.name': 'all',
620 'db.query.text': 'SELECT * FROM users WHERE user_id = ?;',
621 'cloudflare.binding.type': 'D1',
622 'cloudflare.d1.response.size_after': 8192,
623 'cloudflare.d1.response.rows_read': 1,
624 'cloudflare.d1.response.rows_written': 0,
625 'cloudflare.d1.response.last_row_id': 2,
626 'cloudflare.d1.response.changed_db': false,
627 'cloudflare.d1.response.changes': 0,
628 'cloudflare.d1.response.served_by_colo': 'DFW',
629 closed: true,
630 },
631 {
632 name: 'fetch',
633 'network.protocol.name': 'http',
634 'network.protocol.version': 'HTTP/1.1',
635 'http.request.method': 'POST',
636 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
637 'http.request.header.content-type': 'application/json',
638 'http.request.body.size': 61n,
639 'http.response.status_code': 200n,
640 'http.response.body.size': 0n,
641 closed: true,
642 },
643 {
644 name: 'd1_all',
645 'db.system.name': 'cloudflare-d1',
646 'db.operation.name': 'raw',
647 'db.query.text': 'SELECT * FROM users WHERE user_id = ?;',
648 'cloudflare.binding.type': 'D1',
649 'cloudflare.d1.response.size_after': 8192,
650 'cloudflare.d1.response.rows_read': 1,
651 'cloudflare.d1.response.rows_written': 0,
652 'cloudflare.d1.response.last_row_id': 2,
653 'cloudflare.d1.response.changed_db': false,
654 'cloudflare.d1.response.changes': 0,
655 'cloudflare.d1.response.served_by_colo': 'DFW',
656 closed: true,
657 },
658 {
659 name: 'fetch',
660 'network.protocol.name': 'http',
661 'network.protocol.version': 'HTTP/1.1',
662 'http.request.method': 'POST',
663 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
664 'http.request.header.content-type': 'application/json',
665 'http.request.body.size': 61n,
666 'http.response.status_code': 200n,
667 'http.response.body.size': 0n,
668 closed: true,
669 },
670 {
671 name: 'd1_first',
672 'db.system.name': 'cloudflare-d1',
673 'db.operation.name': 'first',
674 'db.query.text': 'SELECT * FROM users WHERE user_id = ?;',
675 'cloudflare.binding.type': 'D1',
676 'cloudflare.d1.response.size_after': 8192,
677 'cloudflare.d1.response.rows_read': 1,
678 'cloudflare.d1.response.rows_written': 0,
679 'cloudflare.d1.response.last_row_id': 2,
680 'cloudflare.d1.response.changed_db': false,
681 'cloudflare.d1.response.changes': 0,
682 'cloudflare.d1.response.served_by_colo': 'DFW',
683 closed: true,
684 },
685 {
686 name: 'fetch',
687 'network.protocol.name': 'http',
688 'network.protocol.version': 'HTTP/1.1',
689 'http.request.method': 'POST',
690 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
691 'http.request.header.content-type': 'application/json',
692 'http.request.body.size': 61n,
693 'http.response.status_code': 200n,
694 'http.response.body.size': 0n,
695 closed: true,
696 },
697 {
698 name: 'd1_first',
699 'db.system.name': 'cloudflare-d1',
700 'db.operation.name': 'first',
701 'db.query.text': 'SELECT * FROM users WHERE user_id = ?;',
702 'cloudflare.binding.type': 'D1',
703 'cloudflare.d1.response.size_after': 8192,
704 'cloudflare.d1.response.rows_read': 1,
705 'cloudflare.d1.response.rows_written': 0,
706 'cloudflare.d1.response.last_row_id': 2,
707 'cloudflare.d1.response.changed_db': false,
708 'cloudflare.d1.response.changes': 0,
709 'cloudflare.d1.response.served_by_colo': 'DFW',
710 closed: true,
711 },
712 {
713 name: 'fetch',
714 'network.protocol.name': 'http',
715 'network.protocol.version': 'HTTP/1.1',
716 'http.request.method': 'POST',
717 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
718 'http.request.header.content-type': 'application/json',
719 'http.request.body.size': 61n,
720 'http.response.status_code': 200n,
721 'http.response.body.size': 0n,
722 closed: true,
723 },
724 {
725 name: 'd1_batch',
726 'db.system.name': 'cloudflare-d1',
727 'db.operation.name': 'batch',
728 'db.query.text':
729 'SELECT * FROM users WHERE user_id = ?;\n' +
730 'SELECT * FROM users WHERE user_id = ?;',
731 'db.operation.batch.size': 2,
732 'cloudflare.binding.type': 'D1',
733 'cloudflare.d1.response.size_after': 8192,
734 'cloudflare.d1.response.rows_read': 2,
735 'cloudflare.d1.response.rows_written': 0,
736 'cloudflare.d1.response.last_row_id': 2,
737 'cloudflare.d1.response.changed_db': false,
738 'cloudflare.d1.response.changes': 0,
739 'cloudflare.d1.response.served_by_colo': 'DFW',
740 closed: true,
741 },
742 {
743 name: 'fetch',
744 'network.protocol.name': 'http',
745 'network.protocol.version': 'HTTP/1.1',
746 'http.request.method': 'POST',
747 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
748 'http.request.header.content-type': 'application/json',
749 'http.request.body.size': 125n,
750 'http.response.status_code': 200n,
751 'http.response.body.size': 0n,
752 closed: true,
753 },
754 {
755 name: 'd1_first',
756 'db.system.name': 'cloudflare-d1',
757 'db.operation.name': 'first',
758 'db.query.text': 'SELECT count(1) as count FROM users WHERE land_based = ?',
759 'cloudflare.binding.type': 'D1',
760 'cloudflare.d1.response.size_after': 8192,
761 'cloudflare.d1.response.rows_read': 2,
762 'cloudflare.d1.response.rows_written': 0,
763 'cloudflare.d1.response.last_row_id': 2,
764 'cloudflare.d1.response.changed_db': false,
765 'cloudflare.d1.response.changes': 0,
766 'cloudflare.d1.response.served_by_colo': 'DFW',
767 closed: true,
768 },
769 {
770 name: 'fetch',
771 'network.protocol.name': 'http',
772 'network.protocol.version': 'HTTP/1.1',
773 'http.request.method': 'POST',
774 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
775 'http.request.header.content-type': 'application/json',
776 'http.request.body.size': 79n,
777 'http.response.status_code': 200n,
778 'http.response.body.size': 0n,
779 closed: true,
780 },
781 {
782 name: 'd1_first',
783 'db.system.name': 'cloudflare-d1',
784 'db.operation.name': 'first',
785 'db.query.text': 'SELECT count(1) as count FROM users WHERE land_based = ?',
786 'cloudflare.binding.type': 'D1',
787 'cloudflare.d1.response.size_after': 8192,
788 'cloudflare.d1.response.rows_read': 2,
789 'cloudflare.d1.response.rows_written': 0,
790 'cloudflare.d1.response.last_row_id': 2,
791 'cloudflare.d1.response.changed_db': false,
792 'cloudflare.d1.response.changes': 0,
793 'cloudflare.d1.response.served_by_colo': 'DFW',
794 closed: true,
795 },
796 {
797 name: 'fetch',
798 'network.protocol.name': 'http',
799 'network.protocol.version': 'HTTP/1.1',
800 'http.request.method': 'POST',
801 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
802 'http.request.header.content-type': 'application/json',
803 'http.request.body.size': 79n,
804 'http.response.status_code': 200n,
805 'http.response.body.size': 0n,
806 closed: true,
807 },
808 {
809 name: 'd1_first',
810 'db.system.name': 'cloudflare-d1',
811 'db.operation.name': 'first',
812 'db.query.text': 'SELECT count(1) as count FROM users WHERE land_based = ?',
813 'cloudflare.binding.type': 'D1',
814 'cloudflare.d1.response.size_after': 8192,
815 'cloudflare.d1.response.rows_read': 2,
816 'cloudflare.d1.response.rows_written': 0,
817 'cloudflare.d1.response.last_row_id': 2,
818 'cloudflare.d1.response.changed_db': false,
819 'cloudflare.d1.response.changes': 0,
820 'cloudflare.d1.response.served_by_colo': 'DFW',
821 closed: true,
822 },
823 {
824 name: 'fetch',
825 'network.protocol.name': 'http',
826 'network.protocol.version': 'HTTP/1.1',
827 'http.request.method': 'POST',
828 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
829 'http.request.header.content-type': 'application/json',
830 'http.request.body.size': 79n,
831 'http.response.status_code': 200n,
832 'http.response.body.size': 0n,
833 closed: true,
834 },
835 {
836 name: 'd1_first',
837 'db.system.name': 'cloudflare-d1',
838 'db.operation.name': 'first',
839 'db.query.text': 'SELECT count(1) as count FROM users WHERE land_based = ?',
840 'cloudflare.binding.type': 'D1',
841 'cloudflare.d1.response.size_after': 8192,
842 'cloudflare.d1.response.rows_read': 2,
843 'cloudflare.d1.response.rows_written': 0,
844 'cloudflare.d1.response.last_row_id': 2,
845 'cloudflare.d1.response.changed_db': false,
846 'cloudflare.d1.response.changes': 0,
847 'cloudflare.d1.response.served_by_colo': 'DFW',
848 closed: true,
849 },
850 {
851 name: 'fetch',
852 'network.protocol.name': 'http',
853 'network.protocol.version': 'HTTP/1.1',
854 'http.request.method': 'POST',
855 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
856 'http.request.header.content-type': 'application/json',
857 'http.request.body.size': 79n,
858 'http.response.status_code': 200n,
859 'http.response.body.size': 0n,
860 closed: true,
861 },
862 {
863 name: 'd1_first',
864 'db.system.name': 'cloudflare-d1',
865 'db.operation.name': 'first',
866 'db.query.text': 'SELECT count(1) as count FROM users WHERE land_based = ?',
867 'cloudflare.binding.type': 'D1',
868 'cloudflare.d1.response.size_after': 8192,
869 'cloudflare.d1.response.rows_read': 2,
870 'cloudflare.d1.response.rows_written': 0,
871 'cloudflare.d1.response.last_row_id': 2,
872 'cloudflare.d1.response.changed_db': false,
873 'cloudflare.d1.response.changes': 0,
874 'cloudflare.d1.response.served_by_colo': 'DFW',
875 closed: true,
876 },
877 {
878 name: 'fetch',
879 'network.protocol.name': 'http',
880 'network.protocol.version': 'HTTP/1.1',
881 'http.request.method': 'POST',
882 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
883 'http.request.header.content-type': 'application/json',
884 'http.request.body.size': 79n,
885 'http.response.status_code': 200n,
886 'http.response.body.size': 0n,
887 closed: true,
888 },
889 {
890 name: 'd1_batch',
891 'db.system.name': 'cloudflare-d1',
892 'db.operation.name': 'batch',
893 'db.query.text':
894 'CREATE TABLE abc (a INT, b INT, c INT);\n' +
895 'CREATE TABLE cde (c TEXT, d TEXT, e TEXT);\n' +
896 'INSERT INTO abc VALUES (1,2,3),(4,5,6);\n' +
897 'INSERT INTO cde VALUES ("A", "B", "C"),("D","E","F"),("G","H","I");',
898 'db.operation.batch.size': 4,
899 'cloudflare.binding.type': 'D1',
900 'cloudflare.d1.response.size_after': 16384,
901 'cloudflare.d1.response.rows_read': 2,
902 'cloudflare.d1.response.rows_written': 9,
903 'cloudflare.d1.response.last_row_id': 3,
904 'cloudflare.d1.response.changed_db': true,
905 'cloudflare.d1.response.changes': 5,
906 'cloudflare.d1.response.served_by_colo': 'DFW',
907 closed: true,
908 },
909 {
910 name: 'fetch',
911 'network.protocol.name': 'http',
912 'network.protocol.version': 'HTTP/1.1',
913 'http.request.method': 'POST',
914 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
915 'http.request.header.content-type': 'application/json',
916 'http.request.body.size': 298n,
917 'http.response.status_code': 200n,
918 'http.response.body.size': 0n,
919 closed: true,
920 },
921 {
922 name: 'd1_all',
923 'db.system.name': 'cloudflare-d1',
924 'db.operation.name': 'all',
925 'db.query.text': 'SELECT * FROM abc, cde;',
926 'cloudflare.binding.type': 'D1',
927 'cloudflare.d1.response.size_after': 16384,
928 'cloudflare.d1.response.rows_read': 8,
929 'cloudflare.d1.response.rows_written': 0,
930 'cloudflare.d1.response.last_row_id': 3,
931 'cloudflare.d1.response.changed_db': false,
932 'cloudflare.d1.response.changes': 0,
933 'cloudflare.d1.response.served_by_colo': 'DFW',
934 closed: true,
935 },
936 {
937 name: 'fetch',
938 'network.protocol.name': 'http',
939 'network.protocol.version': 'HTTP/1.1',
940 'http.request.method': 'POST',
941 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
942 'http.request.header.content-type': 'application/json',
943 'http.request.body.size': 45n,
944 'http.response.status_code': 200n,
945 'http.response.body.size': 0n,
946 closed: true,
947 },
948 {
949 name: 'd1_all',
950 'db.system.name': 'cloudflare-d1',
951 'db.operation.name': 'raw',
952 'db.query.text': 'SELECT * FROM abc, cde;',
953 'cloudflare.binding.type': 'D1',
954 'cloudflare.d1.response.size_after': 16384,
955 'cloudflare.d1.response.rows_read': 8,
956 'cloudflare.d1.response.rows_written': 0,
957 'cloudflare.d1.response.last_row_id': 3,
958 'cloudflare.d1.response.changed_db': false,
959 'cloudflare.d1.response.changes': 0,
960 'cloudflare.d1.response.served_by_colo': 'DFW',
961 closed: true,
962 },
963 {
964 name: 'fetch',
965 'network.protocol.name': 'http',
966 'network.protocol.version': 'HTTP/1.1',
967 'http.request.method': 'POST',
968 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
969 'http.request.header.content-type': 'application/json',
970 'http.request.body.size': 45n,
971 'http.response.status_code': 200n,
972 'http.response.body.size': 0n,
973 closed: true,
974 },
975 {
976 name: 'd1_all',
977 'db.system.name': 'cloudflare-d1',
978 'db.operation.name': 'raw',
979 'db.query.text': 'SELECT * FROM abc, cde;',
980 'cloudflare.binding.type': 'D1',
981 'cloudflare.d1.response.size_after': 16384,
982 'cloudflare.d1.response.rows_read': 8,
983 'cloudflare.d1.response.rows_written': 0,
984 'cloudflare.d1.response.last_row_id': 3,
985 'cloudflare.d1.response.changed_db': false,
986 'cloudflare.d1.response.changes': 0,
987 'cloudflare.d1.response.served_by_colo': 'DFW',
988 closed: true,
989 },
990 {
991 name: 'fetch',
992 'network.protocol.name': 'http',
993 'network.protocol.version': 'HTTP/1.1',
994 'http.request.method': 'POST',
995 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
996 'http.request.header.content-type': 'application/json',
997 'http.request.body.size': 45n,
998 'http.response.status_code': 200n,
999 'http.response.body.size': 0n,
1000 closed: true,
1001 },
1002 {
1003 name: 'd1_all',
1004 'db.system.name': 'cloudflare-d1',
1005 'db.operation.name': 'raw',
1006 'db.query.text': 'SELECT * FROM abc, cde;',
1007 'cloudflare.binding.type': 'D1',
1008 'cloudflare.d1.response.size_after': 16384,
1009 'cloudflare.d1.response.rows_read': 8,
1010 'cloudflare.d1.response.rows_written': 0,
1011 'cloudflare.d1.response.last_row_id': 3,
1012 'cloudflare.d1.response.changed_db': false,
1013 'cloudflare.d1.response.changes': 0,
1014 'cloudflare.d1.response.served_by_colo': 'DFW',
1015 closed: true,
1016 },
1017 {
1018 name: 'fetch',
1019 'network.protocol.name': 'http',
1020 'network.protocol.version': 'HTTP/1.1',
1021 'http.request.method': 'POST',
1022 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
1023 'http.request.header.content-type': 'application/json',
1024 'http.request.body.size': 45n,
1025 'http.response.status_code': 200n,
1026 'http.response.body.size': 0n,
1027 closed: true,
1028 },
1029 {
1030 name: 'd1_all',
1031 'db.system.name': 'cloudflare-d1',
1032 'db.operation.name': 'all',
1033 'db.query.text': "SELECT * from cde WHERE c IN ('A','B','C','X','Y','Z')",
1034 'cloudflare.binding.type': 'D1',
1035 'cloudflare.d1.response.size_after': 16384,
1036 'cloudflare.d1.response.rows_read': 3,
1037 'cloudflare.d1.response.rows_written': 0,
1038 'cloudflare.d1.response.last_row_id': 3,
1039 'cloudflare.d1.response.changed_db': false,
1040 'cloudflare.d1.response.changes': 0,
1041 'cloudflare.d1.response.served_by_colo': 'DFW',
1042 closed: true,
1043 },
1044 {
1045 name: 'fetch',
1046 'network.protocol.name': 'http',
1047 'network.protocol.version': 'HTTP/1.1',
1048 'http.request.method': 'POST',
1049 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
1050 'http.request.header.content-type': 'application/json',
1051 'http.request.body.size': 76n,
1052 'http.response.status_code': 200n,
1053 'http.response.body.size': 0n,
1054 closed: true,
1055 },
1056 {
1057 name: 'd1_batch',
1058 'db.system.name': 'cloudflare-d1',
1059 'db.operation.name': 'batch',
1060 'db.query.text': 'DROP TABLE users;\nDROP TABLE abc;\nDROP TABLE cde;',
1061 'db.operation.batch.size': 3,
1062 'cloudflare.binding.type': 'D1',
1063 'cloudflare.d1.response.size_after': 4096,
1064 'cloudflare.d1.response.rows_read': 9,
1065 'cloudflare.d1.response.rows_written': 0,
1066 'cloudflare.d1.response.last_row_id': 3,
1067 'cloudflare.d1.response.changed_db': true,
1068 'cloudflare.d1.response.changes': 0,
1069 'cloudflare.d1.response.served_by_colo': 'DFW',
1070 closed: true,
1071 },
1072 {
1073 name: 'fetch',
1074 'network.protocol.name': 'http',
1075 'network.protocol.version': 'HTTP/1.1',
1076 'http.request.method': 'POST',
1077 'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
1078 'http.request.header.content-type': 'application/json',
1079 'http.request.body.size': 117n,
1080 'http.response.status_code': 200n,
1081 'http.response.body.size': 0n,
1082 closed: true,
1083 },
1084];