Skip to content

Commit c73e84d

Browse files
committed
[o11y] Report SpanOpen event earlier
1 parent 90c3db1 commit c73e84d

File tree

11 files changed

+243
-95
lines changed

11 files changed

+243
-95
lines changed

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

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,6 @@ export const test = {
3131
};
3232

3333
const expectedSpans = [
34-
{
35-
name: 'fetch',
36-
'network.protocol.name': 'http',
37-
'network.protocol.version': 'HTTP/1.1',
38-
'http.request.method': 'POST',
39-
'url.full': 'http://d1/execute?resultsFormat=NONE',
40-
'http.request.header.content-type': 'application/json',
41-
'http.request.body.size': 231n,
42-
'http.response.status_code': 200n,
43-
'http.response.body.size': 0n,
44-
closed: true,
45-
},
4634
{
4735
name: 'd1_run',
4836
'db.system.name': 'cloudflare-d1',
@@ -70,9 +58,9 @@ const expectedSpans = [
7058
'network.protocol.name': 'http',
7159
'network.protocol.version': 'HTTP/1.1',
7260
'http.request.method': 'POST',
73-
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
61+
'url.full': 'http://d1/execute?resultsFormat=NONE',
7462
'http.request.header.content-type': 'application/json',
75-
'http.request.body.size': 42n,
63+
'http.request.body.size': 231n,
7664
'http.response.status_code': 200n,
7765
'http.response.body.size': 0n,
7866
closed: true,
@@ -96,7 +84,7 @@ const expectedSpans = [
9684
'network.protocol.name': 'http',
9785
'network.protocol.version': 'HTTP/1.1',
9886
'http.request.method': 'POST',
99-
'url.full': 'http://d1/execute?resultsFormat=NONE',
87+
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
10088
'http.request.header.content-type': 'application/json',
10189
'http.request.body.size': 42n,
10290
'http.response.status_code': 200n,
@@ -124,7 +112,7 @@ const expectedSpans = [
124112
'http.request.method': 'POST',
125113
'url.full': 'http://d1/execute?resultsFormat=NONE',
126114
'http.request.header.content-type': 'application/json',
127-
'http.request.body.size': 40n,
115+
'http.request.body.size': 42n,
128116
'http.response.status_code': 200n,
129117
'http.response.body.size': 0n,
130118
closed: true,
@@ -148,9 +136,9 @@ const expectedSpans = [
148136
'network.protocol.name': 'http',
149137
'network.protocol.version': 'HTTP/1.1',
150138
'http.request.method': 'POST',
151-
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
139+
'url.full': 'http://d1/execute?resultsFormat=NONE',
152140
'http.request.header.content-type': 'application/json',
153-
'http.request.body.size': 223n,
141+
'http.request.body.size': 40n,
154142
'http.response.status_code': 200n,
155143
'http.response.body.size': 0n,
156144
closed: true,
@@ -180,9 +168,9 @@ const expectedSpans = [
180168
'network.protocol.name': 'http',
181169
'network.protocol.version': 'HTTP/1.1',
182170
'http.request.method': 'POST',
183-
'url.full': 'http://d1/execute?resultsFormat=NONE',
171+
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
184172
'http.request.header.content-type': 'application/json',
185-
'http.request.body.size': 40n,
173+
'http.request.body.size': 223n,
186174
'http.response.status_code': 200n,
187175
'http.response.body.size': 0n,
188176
closed: true,
@@ -208,7 +196,7 @@ const expectedSpans = [
208196
'http.request.method': 'POST',
209197
'url.full': 'http://d1/execute?resultsFormat=NONE',
210198
'http.request.header.content-type': 'application/json',
211-
'http.request.body.size': 223n,
199+
'http.request.body.size': 40n,
212200
'http.response.status_code': 200n,
213201
'http.response.body.size': 0n,
214202
closed: true,
@@ -238,9 +226,9 @@ const expectedSpans = [
238226
'network.protocol.name': 'http',
239227
'network.protocol.version': 'HTTP/1.1',
240228
'http.request.method': 'POST',
241-
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
229+
'url.full': 'http://d1/execute?resultsFormat=NONE',
242230
'http.request.header.content-type': 'application/json',
243-
'http.request.body.size': 31n,
231+
'http.request.body.size': 223n,
244232
'http.response.status_code': 200n,
245233
'http.response.body.size': 0n,
246234
closed: true,
@@ -344,7 +332,7 @@ const expectedSpans = [
344332
'http.request.method': 'POST',
345333
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
346334
'http.request.header.content-type': 'application/json',
347-
'http.request.body.size': 42n,
335+
'http.request.body.size': 31n,
348336
'http.response.status_code': 200n,
349337
'http.response.body.size': 0n,
350338
closed: true,
@@ -448,7 +436,7 @@ const expectedSpans = [
448436
'http.request.method': 'POST',
449437
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
450438
'http.request.header.content-type': 'application/json',
451-
'http.request.body.size': 61n,
439+
'http.request.body.size': 42n,
452440
'http.response.status_code': 200n,
453441
'http.response.body.size': 0n,
454442
closed: true,
@@ -656,7 +644,7 @@ const expectedSpans = [
656644
'http.request.method': 'POST',
657645
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
658646
'http.request.header.content-type': 'application/json',
659-
'http.request.body.size': 125n,
647+
'http.request.body.size': 61n,
660648
'http.response.status_code': 200n,
661649
'http.response.body.size': 0n,
662650
closed: true,
@@ -685,7 +673,7 @@ const expectedSpans = [
685673
'http.request.method': 'POST',
686674
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
687675
'http.request.header.content-type': 'application/json',
688-
'http.request.body.size': 79n,
676+
'http.request.body.size': 125n,
689677
'http.response.status_code': 200n,
690678
'http.response.body.size': 0n,
691679
closed: true,
@@ -815,7 +803,7 @@ const expectedSpans = [
815803
'http.request.method': 'POST',
816804
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
817805
'http.request.header.content-type': 'application/json',
818-
'http.request.body.size': 298n,
806+
'http.request.body.size': 79n,
819807
'http.response.status_code': 200n,
820808
'http.response.body.size': 0n,
821809
closed: true,
@@ -846,7 +834,7 @@ const expectedSpans = [
846834
'http.request.method': 'POST',
847835
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
848836
'http.request.header.content-type': 'application/json',
849-
'http.request.body.size': 45n,
837+
'http.request.body.size': 298n,
850838
'http.response.status_code': 200n,
851839
'http.response.body.size': 0n,
852840
closed: true,
@@ -950,7 +938,7 @@ const expectedSpans = [
950938
'http.request.method': 'POST',
951939
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
952940
'http.request.header.content-type': 'application/json',
953-
'http.request.body.size': 76n,
941+
'http.request.body.size': 45n,
954942
'http.response.status_code': 200n,
955943
'http.response.body.size': 0n,
956944
closed: true,
@@ -976,7 +964,7 @@ const expectedSpans = [
976964
'http.request.method': 'POST',
977965
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
978966
'http.request.header.content-type': 'application/json',
979-
'http.request.body.size': 117n,
967+
'http.request.body.size': 76n,
980968
'http.response.status_code': 200n,
981969
'http.response.body.size': 0n,
982970
closed: true,
@@ -996,4 +984,16 @@ const expectedSpans = [
996984
'cloudflare.d1.response.changes': 0,
997985
closed: true,
998986
},
987+
{
988+
name: 'fetch',
989+
'network.protocol.name': 'http',
990+
'network.protocol.version': 'HTTP/1.1',
991+
'http.request.method': 'POST',
992+
'url.full': 'http://d1/query?resultsFormat=ROWS_AND_COLUMNS',
993+
'http.request.header.content-type': 'application/json',
994+
'http.request.body.size': 117n,
995+
'http.response.status_code': 200n,
996+
'http.response.body.size': 0n,
997+
closed: true,
998+
},
999999
];

src/cloudflare/internal/test/images/images-api-instrumentation-test.js

Lines changed: 77 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ const expectedSpans = [
8484
'network.protocol.version': 'HTTP/1.1',
8585
'http.request.method': 'POST',
8686
'url.full': 'https://js.images.cloudflare.com/transform',
87+
'cloudflare.binding.type': 'Images',
88+
'cloudflare.images.options.format': 'image/avif',
8789
'http.request.header.content-type':
8890
'multipart/form-data; boundary=<dynamic>',
8991
'http.response.status_code': 200n,
@@ -96,6 +98,8 @@ const expectedSpans = [
9698
'network.protocol.version': 'HTTP/1.1',
9799
'http.request.method': 'POST',
98100
'url.full': 'https://js.images.cloudflare.com/transform',
101+
'cloudflare.binding.type': 'Images',
102+
'cloudflare.images.options.format': 'image/avif',
99103
'http.request.header.content-type':
100104
'multipart/form-data; boundary=<dynamic>',
101105
'http.response.status_code': 200n,
@@ -108,6 +112,9 @@ const expectedSpans = [
108112
'network.protocol.version': 'HTTP/1.1',
109113
'http.request.method': 'POST',
110114
'url.full': 'https://js.images.cloudflare.com/transform',
115+
'cloudflare.binding.type': 'Images',
116+
'cloudflare.images.options.format': 'image/avif',
117+
'cloudflare.images.options.transforms': '[{"imageIndex":0,"rotate":90}]',
111118
'http.request.header.content-type':
112119
'multipart/form-data; boundary=<dynamic>',
113120
'http.response.status_code': 200n,
@@ -120,6 +127,9 @@ const expectedSpans = [
120127
'network.protocol.version': 'HTTP/1.1',
121128
'http.request.method': 'POST',
122129
'url.full': 'https://js.images.cloudflare.com/transform',
130+
'cloudflare.binding.type': 'Images',
131+
'cloudflare.images.options.format': 'image/avif',
132+
'cloudflare.images.options.transforms': '[{"imageIndex":0,"rotate":90}]',
123133
'http.request.header.content-type':
124134
'multipart/form-data; boundary=<dynamic>',
125135
'http.response.status_code': 200n,
@@ -132,6 +142,8 @@ const expectedSpans = [
132142
'network.protocol.version': 'HTTP/1.1',
133143
'http.request.method': 'POST',
134144
'url.full': 'https://js.images.cloudflare.com/transform',
145+
'cloudflare.binding.type': 'Images',
146+
'cloudflare.images.options.format': 'image/avif',
135147
'http.request.header.content-type':
136148
'multipart/form-data; boundary=<dynamic>',
137149
'http.response.status_code': 200n,
@@ -144,49 +156,87 @@ const expectedSpans = [
144156
'network.protocol.version': 'HTTP/1.1',
145157
'http.request.method': 'POST',
146158
'url.full': 'https://js.images.cloudflare.com/transform',
159+
'cloudflare.binding.type': 'Images',
160+
'cloudflare.images.options.format': 'image/avif',
147161
'http.request.header.content-type':
148162
'multipart/form-data; boundary=<dynamic>',
149163
'http.response.status_code': 200n,
150164
'http.response.body.size': 63n,
151165
closed: true,
152166
},
153167
{
154-
name: 'images_info',
168+
name: 'fetch',
169+
'network.protocol.name': 'http',
170+
'network.protocol.version': 'HTTP/1.1',
171+
'http.request.method': 'POST',
172+
'url.full': 'https://js.images.cloudflare.com/info',
155173
'cloudflare.binding.type': 'Images',
156174
'cloudflare.images.options.encoding': 'base64',
157-
'cloudflare.images.result.format': 'image/png',
158175
'cloudflare.images.result.file_size': 123,
159-
'cloudflare.images.result.width': 123,
176+
'cloudflare.images.result.format': 'image/png',
160177
'cloudflare.images.result.height': 123,
178+
'cloudflare.images.result.width': 123,
179+
'http.request.header.content-type':
180+
'multipart/form-data; boundary=<dynamic>',
181+
'http.response.status_code': 200n,
182+
'http.response.body.size': 63n,
161183
closed: true,
162184
},
163185
{
164-
name: 'images_info',
186+
name: 'fetch',
187+
'network.protocol.name': 'http',
188+
'network.protocol.version': 'HTTP/1.1',
189+
'http.request.method': 'POST',
190+
'url.full': 'https://js.images.cloudflare.com/info',
165191
'cloudflare.binding.type': 'Images',
166192
'cloudflare.images.options.encoding': 'base64',
167-
'cloudflare.images.result.format': 'image/png',
168193
'cloudflare.images.result.file_size': 123,
169-
'cloudflare.images.result.width': 123,
194+
'cloudflare.images.result.format': 'image/png',
170195
'cloudflare.images.result.height': 123,
196+
'cloudflare.images.result.width': 123,
197+
'http.request.header.content-type':
198+
'multipart/form-data; boundary=<dynamic>',
199+
'http.response.status_code': 200n,
200+
'http.response.body.size': 63n,
171201
closed: true,
172202
},
173203
{
174-
name: 'images_info',
204+
name: 'fetch',
205+
'network.protocol.name': 'http',
206+
'network.protocol.version': 'HTTP/1.1',
207+
'http.request.method': 'POST',
208+
'url.full': 'https://js.images.cloudflare.com/info',
175209
'cloudflare.binding.type': 'Images',
176-
'cloudflare.images.options.encoding': 'base64',
177210
'cloudflare.images.error.code': '123',
211+
'cloudflare.images.options.encoding': 'base64',
178212
'error.type': 'ERROR 123: Bad request',
213+
'http.request.header.content-type':
214+
'multipart/form-data; boundary=<dynamic>',
215+
'http.response.status_code': 409n,
216+
'http.response.body.size': 22n,
179217
closed: true,
180218
},
181219
{
182-
name: 'images_info',
220+
name: 'fetch',
183221
'cloudflare.binding.type': 'Images',
184222
'cloudflare.images.options.encoding': 'base64',
185223
'cloudflare.images.result.format': 'image/svg+xml',
224+
'http.request.header.content-type':
225+
'multipart/form-data; boundary=<dynamic>',
226+
'http.request.method': 'POST',
227+
'http.response.body.size': 26n,
228+
'http.response.status_code': 200n,
229+
'network.protocol.name': 'http',
230+
'network.protocol.version': 'HTTP/1.1',
231+
'url.full': 'https://js.images.cloudflare.com/info',
186232
closed: true,
187233
},
188234
{
189235
name: 'fetch',
236+
'cloudflare.binding.type': 'Images',
237+
'cloudflare.images.options.format': 'image/avif',
238+
'cloudflare.images.options.transforms':
239+
'[{"imageIndex":0,"rotate":90},{"imageIndex":1,"rotate":180},{"drawImageIndex":1,"targetImageIndex":0},{"drawImageIndex":3,"targetImageIndex":2},{"imageIndex":2,"rotate":270},{"drawImageIndex":2,"targetImageIndex":0},{"drawImageIndex":4,"targetImageIndex":0}]',
190240
'network.protocol.name': 'http',
191241
'network.protocol.version': 'HTTP/1.1',
192242
'http.request.method': 'POST',
@@ -199,6 +249,10 @@ const expectedSpans = [
199249
},
200250
{
201251
name: 'fetch',
252+
'cloudflare.binding.type': 'Images',
253+
'cloudflare.images.options.anim': true,
254+
'cloudflare.images.options.format': 'image/avif',
255+
'cloudflare.images.options.transforms': '[{"imageIndex":0,"rotate":90}]',
202256
'network.protocol.name': 'http',
203257
'network.protocol.version': 'HTTP/1.1',
204258
'http.request.method': 'POST',
@@ -210,16 +264,25 @@ const expectedSpans = [
210264
closed: true,
211265
},
212266
{
213-
name: 'images_output',
267+
name: 'fetch',
268+
'network.protocol.name': 'http',
269+
'network.protocol.version': 'HTTP/1.1',
270+
'http.request.method': 'POST',
271+
'url.full': 'https://js.images.cloudflare.com/transform',
214272
'cloudflare.binding.type': 'Images',
215-
'cloudflare.images.options.transforms': '[{"imageIndex":0,"rotate":90}]',
216-
'cloudflare.images.options.format': 'image/avif',
217273
'cloudflare.images.error.code': '123',
274+
'cloudflare.images.options.format': 'image/avif',
275+
'cloudflare.images.options.transforms': '[{"imageIndex":0,"rotate":90}]',
218276
'error.type': 'ERROR 123: Bad request',
277+
'http.request.header.content-type':
278+
'multipart/form-data; boundary=<dynamic>',
279+
'http.response.status_code': 409n,
280+
'http.response.body.size': 22n,
219281
closed: true,
220282
},
221283
{
222-
name: 'fetch',
284+
name: 'images_output',
285+
'cloudflare.binding.type': 'Images',
223286
'network.protocol.name': 'http',
224287
'network.protocol.version': 'HTTP/1.1',
225288
'http.request.method': 'POST',
@@ -232,6 +295,7 @@ const expectedSpans = [
232295
},
233296
{
234297
name: 'fetch',
298+
'cloudflare.binding.type': 'Images',
235299
'network.protocol.name': 'http',
236300
'network.protocol.version': 'HTTP/1.1',
237301
'http.request.method': 'POST',

0 commit comments

Comments
 (0)