Skip to content

Commit 4bc1034

Browse files
committed
fix vercel ai op name, and fix tests
1 parent ca37a72 commit 4bc1034

File tree

7 files changed

+103
-64
lines changed

7 files changed

+103
-64
lines changed

dev-packages/node-integration-tests/suites/tracing/google-genai/test.ts

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ describe('Google GenAI integration', () => {
4646
// Third span - models.generateContent
4747
expect.objectContaining({
4848
data: {
49-
'gen_ai.operation.name': 'models',
50-
'sentry.op': 'gen_ai.models',
49+
'gen_ai.operation.name': 'generate_content',
50+
'sentry.op': 'gen_ai.generate_content',
5151
'sentry.origin': 'auto.ai.google_genai',
5252
'gen_ai.system': 'google_genai',
5353
'gen_ai.request.model': 'gemini-1.5-flash',
@@ -58,22 +58,22 @@ describe('Google GenAI integration', () => {
5858
'gen_ai.usage.output_tokens': 12,
5959
'gen_ai.usage.total_tokens': 20,
6060
},
61-
description: 'models gemini-1.5-flash',
62-
op: 'gen_ai.models',
61+
description: 'generate_content gemini-1.5-flash',
62+
op: 'gen_ai.generate_content',
6363
origin: 'auto.ai.google_genai',
6464
status: 'ok',
6565
}),
6666
// Fourth span - error handling
6767
expect.objectContaining({
6868
data: {
69-
'gen_ai.operation.name': 'models',
70-
'sentry.op': 'gen_ai.models',
69+
'gen_ai.operation.name': 'generate_content',
70+
'sentry.op': 'gen_ai.generate_content',
7171
'sentry.origin': 'auto.ai.google_genai',
7272
'gen_ai.system': 'google_genai',
7373
'gen_ai.request.model': 'error-model',
7474
},
75-
description: 'models error-model',
76-
op: 'gen_ai.models',
75+
description: 'generate_content error-model',
76+
op: 'gen_ai.generate_content',
7777
origin: 'auto.ai.google_genai',
7878
status: 'internal_error',
7979
}),
@@ -125,8 +125,8 @@ describe('Google GenAI integration', () => {
125125
// Third span - models.generateContent with PII
126126
expect.objectContaining({
127127
data: expect.objectContaining({
128-
'gen_ai.operation.name': 'models',
129-
'sentry.op': 'gen_ai.models',
128+
'gen_ai.operation.name': 'generate_content',
129+
'sentry.op': 'gen_ai.generate_content',
130130
'sentry.origin': 'auto.ai.google_genai',
131131
'gen_ai.system': 'google_genai',
132132
'gen_ai.request.model': 'gemini-1.5-flash',
@@ -139,23 +139,23 @@ describe('Google GenAI integration', () => {
139139
'gen_ai.usage.output_tokens': 12,
140140
'gen_ai.usage.total_tokens': 20,
141141
}),
142-
description: 'models gemini-1.5-flash',
143-
op: 'gen_ai.models',
142+
description: 'generate_content gemini-1.5-flash',
143+
op: 'gen_ai.generate_content',
144144
origin: 'auto.ai.google_genai',
145145
status: 'ok',
146146
}),
147147
// Fourth span - error handling with PII
148148
expect.objectContaining({
149149
data: expect.objectContaining({
150-
'gen_ai.operation.name': 'models',
151-
'sentry.op': 'gen_ai.models',
150+
'gen_ai.operation.name': 'generate_content',
151+
'sentry.op': 'gen_ai.generate_content',
152152
'sentry.origin': 'auto.ai.google_genai',
153153
'gen_ai.system': 'google_genai',
154154
'gen_ai.request.model': 'error-model',
155155
'gen_ai.request.messages': expect.any(String), // Should include contents when recordInputs: true
156156
}),
157-
description: 'models error-model',
158-
op: 'gen_ai.models',
157+
description: 'generate_content error-model',
158+
op: 'gen_ai.generate_content',
159159
origin: 'auto.ai.google_genai',
160160
status: 'internal_error',
161161
}),
@@ -215,8 +215,8 @@ describe('Google GenAI integration', () => {
215215
// Non-streaming with tools
216216
expect.objectContaining({
217217
data: expect.objectContaining({
218-
'gen_ai.operation.name': 'models',
219-
'sentry.op': 'gen_ai.models',
218+
'gen_ai.operation.name': 'generate_content',
219+
'sentry.op': 'gen_ai.generate_content',
220220
'sentry.origin': 'auto.ai.google_genai',
221221
'gen_ai.system': 'google_genai',
222222
'gen_ai.request.model': 'gemini-2.0-flash-001',
@@ -228,16 +228,16 @@ describe('Google GenAI integration', () => {
228228
'gen_ai.usage.output_tokens': 8,
229229
'gen_ai.usage.total_tokens': 23,
230230
}),
231-
description: 'models gemini-2.0-flash-001',
232-
op: 'gen_ai.models',
231+
description: 'generate_content gemini-2.0-flash-001',
232+
op: 'gen_ai.generate_content',
233233
origin: 'auto.ai.google_genai',
234234
status: 'ok',
235235
}),
236236
// Streaming with tools
237237
expect.objectContaining({
238238
data: expect.objectContaining({
239-
'gen_ai.operation.name': 'models',
240-
'sentry.op': 'gen_ai.models',
239+
'gen_ai.operation.name': 'generate_content',
240+
'sentry.op': 'gen_ai.generate_content',
241241
'sentry.origin': 'auto.ai.google_genai',
242242
'gen_ai.system': 'google_genai',
243243
'gen_ai.request.model': 'gemini-2.0-flash-001',
@@ -252,16 +252,16 @@ describe('Google GenAI integration', () => {
252252
'gen_ai.usage.output_tokens': 10,
253253
'gen_ai.usage.total_tokens': 22,
254254
}),
255-
description: 'models gemini-2.0-flash-001 stream-response',
256-
op: 'gen_ai.models',
255+
description: 'generate_content gemini-2.0-flash-001 stream-response',
256+
op: 'gen_ai.generate_content',
257257
origin: 'auto.ai.google_genai',
258258
status: 'ok',
259259
}),
260260
// Without tools for comparison
261261
expect.objectContaining({
262262
data: expect.objectContaining({
263-
'gen_ai.operation.name': 'models',
264-
'sentry.op': 'gen_ai.models',
263+
'gen_ai.operation.name': 'generate_content',
264+
'sentry.op': 'gen_ai.generate_content',
265265
'sentry.origin': 'auto.ai.google_genai',
266266
'gen_ai.system': 'google_genai',
267267
'gen_ai.request.model': 'gemini-2.0-flash-001',
@@ -271,8 +271,8 @@ describe('Google GenAI integration', () => {
271271
'gen_ai.usage.output_tokens': 12,
272272
'gen_ai.usage.total_tokens': 20,
273273
}),
274-
description: 'models gemini-2.0-flash-001',
275-
op: 'gen_ai.models',
274+
description: 'generate_content gemini-2.0-flash-001',
275+
op: 'gen_ai.generate_content',
276276
origin: 'auto.ai.google_genai',
277277
status: 'ok',
278278
}),
@@ -291,8 +291,8 @@ describe('Google GenAI integration', () => {
291291
// First span - models.generateContentStream (streaming)
292292
expect.objectContaining({
293293
data: expect.objectContaining({
294-
'gen_ai.operation.name': 'models',
295-
'sentry.op': 'gen_ai.models',
294+
'gen_ai.operation.name': 'generate_content',
295+
'sentry.op': 'gen_ai.generate_content',
296296
'sentry.origin': 'auto.ai.google_genai',
297297
'gen_ai.system': 'google_genai',
298298
'gen_ai.request.model': 'gemini-1.5-flash',
@@ -307,8 +307,8 @@ describe('Google GenAI integration', () => {
307307
'gen_ai.usage.output_tokens': 12,
308308
'gen_ai.usage.total_tokens': 22,
309309
}),
310-
description: 'models gemini-1.5-flash stream-response',
311-
op: 'gen_ai.models',
310+
description: 'generate_content gemini-1.5-flash stream-response',
311+
op: 'gen_ai.generate_content',
312312
origin: 'auto.ai.google_genai',
313313
status: 'ok',
314314
}),
@@ -349,24 +349,24 @@ describe('Google GenAI integration', () => {
349349
// Fourth span - blocked content streaming
350350
expect.objectContaining({
351351
data: expect.objectContaining({
352-
'gen_ai.operation.name': 'models',
353-
'sentry.op': 'gen_ai.models',
352+
'gen_ai.operation.name': 'generate_content',
353+
'sentry.op': 'gen_ai.generate_content',
354354
'sentry.origin': 'auto.ai.google_genai',
355355
}),
356-
description: 'models blocked-model stream-response',
357-
op: 'gen_ai.models',
356+
description: 'generate_content blocked-model stream-response',
357+
op: 'gen_ai.generate_content',
358358
origin: 'auto.ai.google_genai',
359359
status: 'internal_error',
360360
}),
361361
// Fifth span - error handling for streaming
362362
expect.objectContaining({
363363
data: expect.objectContaining({
364-
'gen_ai.operation.name': 'models',
365-
'sentry.op': 'gen_ai.models',
364+
'gen_ai.operation.name': 'generate_content',
365+
'sentry.op': 'gen_ai.generate_content',
366366
'sentry.origin': 'auto.ai.google_genai',
367367
}),
368-
description: 'models error-model stream-response',
369-
op: 'gen_ai.models',
368+
description: 'generate_content error-model stream-response',
369+
op: 'gen_ai.generate_content',
370370
origin: 'auto.ai.google_genai',
371371
status: 'internal_error',
372372
}),
@@ -379,8 +379,8 @@ describe('Google GenAI integration', () => {
379379
// First span - models.generateContentStream (streaming) with PII
380380
expect.objectContaining({
381381
data: expect.objectContaining({
382-
'gen_ai.operation.name': 'models',
383-
'sentry.op': 'gen_ai.models',
382+
'gen_ai.operation.name': 'generate_content',
383+
'sentry.op': 'gen_ai.generate_content',
384384
'sentry.origin': 'auto.ai.google_genai',
385385
'gen_ai.system': 'google_genai',
386386
'gen_ai.request.model': 'gemini-1.5-flash',
@@ -396,8 +396,8 @@ describe('Google GenAI integration', () => {
396396
'gen_ai.usage.output_tokens': 12,
397397
'gen_ai.usage.total_tokens': 22,
398398
}),
399-
description: 'models gemini-1.5-flash stream-response',
400-
op: 'gen_ai.models',
399+
description: 'generate_content gemini-1.5-flash stream-response',
400+
op: 'gen_ai.generate_content',
401401
origin: 'auto.ai.google_genai',
402402
status: 'ok',
403403
}),
@@ -443,33 +443,33 @@ describe('Google GenAI integration', () => {
443443
// Fourth span - blocked content stream with PII
444444
expect.objectContaining({
445445
data: expect.objectContaining({
446-
'gen_ai.operation.name': 'models',
447-
'sentry.op': 'gen_ai.models',
446+
'gen_ai.operation.name': 'generate_content',
447+
'sentry.op': 'gen_ai.generate_content',
448448
'sentry.origin': 'auto.ai.google_genai',
449449
'gen_ai.system': 'google_genai',
450450
'gen_ai.request.model': 'blocked-model',
451451
'gen_ai.request.temperature': 0.7,
452452
'gen_ai.request.messages': expect.any(String), // Should include contents when recordInputs: true
453453
'gen_ai.response.streaming': true,
454454
}),
455-
description: 'models blocked-model stream-response',
456-
op: 'gen_ai.models',
455+
description: 'generate_content blocked-model stream-response',
456+
op: 'gen_ai.generate_content',
457457
origin: 'auto.ai.google_genai',
458458
status: 'internal_error',
459459
}),
460460
// Fifth span - error handling for streaming with PII
461461
expect.objectContaining({
462462
data: expect.objectContaining({
463-
'gen_ai.operation.name': 'models',
464-
'sentry.op': 'gen_ai.models',
463+
'gen_ai.operation.name': 'generate_content',
464+
'sentry.op': 'gen_ai.generate_content',
465465
'sentry.origin': 'auto.ai.google_genai',
466466
'gen_ai.system': 'google_genai',
467467
'gen_ai.request.model': 'error-model',
468468
'gen_ai.request.temperature': 0.7,
469469
'gen_ai.request.messages': expect.any(String), // Should include contents when recordInputs: true
470470
}),
471-
description: 'models error-model stream-response',
472-
op: 'gen_ai.models',
471+
description: 'generate_content error-model stream-response',
472+
op: 'gen_ai.generate_content',
473473
origin: 'auto.ai.google_genai',
474474
status: 'internal_error',
475475
}),
@@ -506,8 +506,8 @@ describe('Google GenAI integration', () => {
506506
spans: expect.arrayContaining([
507507
expect.objectContaining({
508508
data: expect.objectContaining({
509-
'gen_ai.operation.name': 'models',
510-
'sentry.op': 'gen_ai.models',
509+
'gen_ai.operation.name': 'generate_content',
510+
'sentry.op': 'gen_ai.generate_content',
511511
'sentry.origin': 'auto.ai.google_genai',
512512
'gen_ai.system': 'google_genai',
513513
'gen_ai.request.model': 'gemini-1.5-flash',
@@ -516,8 +516,8 @@ describe('Google GenAI integration', () => {
516516
/^\[\{"role":"user","parts":\[\{"text":"C+"\}\]\}\]$/,
517517
),
518518
}),
519-
description: 'models gemini-1.5-flash',
520-
op: 'gen_ai.models',
519+
description: 'generate_content gemini-1.5-flash',
520+
op: 'gen_ai.generate_content',
521521
origin: 'auto.ai.google_genai',
522522
status: 'ok',
523523
}),

dev-packages/node-integration-tests/suites/tracing/langchain/test.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,7 @@ describe('LangChain integration', () => {
265265
// First call: Direct Anthropic call made BEFORE LangChain import
266266
// This should have Anthropic instrumentation (origin: 'auto.ai.anthropic')
267267
const firstAnthropicSpan = spans.find(
268-
span =>
269-
span.description === 'chat claude-3-5-sonnet-20241022' && span.origin === 'auto.ai.anthropic',
268+
span => span.description === 'chat claude-3-5-sonnet-20241022' && span.origin === 'auto.ai.anthropic',
270269
);
271270

272271
// Second call: LangChain call
@@ -279,8 +278,7 @@ describe('LangChain integration', () => {
279278
// This should NOT have Anthropic instrumentation (skip works correctly)
280279
// Count how many Anthropic spans we have - should be exactly 1
281280
const anthropicSpans = spans.filter(
282-
span =>
283-
span.description === 'chat claude-3-5-sonnet-20241022' && span.origin === 'auto.ai.anthropic',
281+
span => span.description === 'chat claude-3-5-sonnet-20241022' && span.origin === 'auto.ai.anthropic',
284282
);
285283

286284
// Verify the edge case limitation:

dev-packages/node-integration-tests/suites/tracing/langchain/v1/test.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,7 @@ conditionalTest({ min: 20 })('LangChain integration (v1)', () => {
315315
// First call: Direct Anthropic call made BEFORE LangChain import
316316
// This should have Anthropic instrumentation (origin: 'auto.ai.anthropic')
317317
const firstAnthropicSpan = spans.find(
318-
span =>
319-
span.description === 'chat claude-3-5-sonnet-20241022' && span.origin === 'auto.ai.anthropic',
318+
span => span.description === 'chat claude-3-5-sonnet-20241022' && span.origin === 'auto.ai.anthropic',
320319
);
321320

322321
// Second call: LangChain call
@@ -329,8 +328,7 @@ conditionalTest({ min: 20 })('LangChain integration (v1)', () => {
329328
// This should NOT have Anthropic instrumentation (skip works correctly)
330329
// Count how many Anthropic spans we have - should be exactly 1
331330
const anthropicSpans = spans.filter(
332-
span =>
333-
span.description === 'chat claude-3-5-sonnet-20241022' && span.origin === 'auto.ai.anthropic',
331+
span => span.description === 'chat claude-3-5-sonnet-20241022' && span.origin === 'auto.ai.anthropic',
334332
);
335333

336334
// Verify the edge case limitation:

0 commit comments

Comments
 (0)