Repository navigation
fix(v10/core): Use trace_metric data category for metrics rate limits and client reports
#62907
build.yml
on: pull_request
Get CI Metadata
/
Get Metadata
8s
Check PR branches
4s
Matrix: job_bundler_plugin_integration_tests
Matrix: job_node_core_integration_tests
Matrix: job_node_integration_tests
Matrix: job_node_unit_tests
Lint
1m 24s
Circular Dependency Check
1m 48s
Browser Unit Tests
4m 0s
Bun Unit Tests
45s
Deno Unit Tests
1m 15s
Node v18.0.0 Compatibility Check
37s
Cloudflare Integration Tests
7m 9s
Bun Integration Tests
44s
Deno Integration Tests
48s
Check for faulty .d.ts files
39s
Matrix: job_browser_loader_tests
Matrix: job_browser_playwright_tests
Matrix: job_optional_e2e_tests
Matrix: job_e2e_tests
All required jobs passed or were skipped
4s
Annotations
73 errors, 3 warnings, and 5 notices
|
E2E node-core-express-otel-v1-custom-sampler Test
Process completed with exit code 2.
|
|
E2E node-core-express-otel-v1-custom-sampler Test
Type 'Attributes' is not assignable to type 'SpanAttributes'.
|
|
E2E node-core-express-otel-v2-custom-sampler Test
Process completed with exit code 2.
|
|
E2E node-core-express-otel-v2-custom-sampler Test
Type 'Attributes' is not assignable to type 'SpanAttributes'.
|
|
E2E node-otel-custom-sampler Test
Process completed with exit code 2.
|
|
E2E node-otel-custom-sampler Test
Type 'Attributes' is not assignable to type 'SpanAttributes'.
|
|
E2E node-otel-without-tracing Test
Process completed with exit code 1.
|
|
[chromium] › tests/transactions.test.ts:4:5 › Sends an API route transaction to OTLP:
../../_temp/test-application/tests/transactions.test.ts#L57
3) [chromium] › tests/transactions.test.ts:4:5 › Sends an API route transaction to OTLP ──────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 0
+ Received + 1
@@ -93,10 +93,11 @@
"events": Array [],
"flags": Any<Number>,
"kind": 3,
"links": Array [],
"name": "GET",
+ "parentSpanId": "12b32b409720adbb",
"spanId": Any<String>,
"startTimeUnixNano": Any<String>,
"status": Object {
"code": 0,
},
55 | expect(undiciScopes[0].spans.length).toBe(1);
56 |
> 57 | expect(undiciScopes[0].spans).toEqual([
| ^
58 | {
59 | traceId: expect.any(String),
60 | spanId: expect.any(String),
at /home/runner/work/_temp/test-application/tests/transactions.test.ts:57:33
|
|
[chromium] › tests/errors.test.ts:32:5 › Isolates requests correctly:
../../_temp/test-application/tests/errors.test.ts#L46
2) [chromium] › tests/errors.test.ts:32:5 › Isolates requests correctly ──────────────────────────
Error: expect(received).toEqual(expected) // deep equality
Expected: "GET /test-exception/555-a"
Received: undefined
44 | const errorEvent2 = await errorEventPromise2;
45 |
> 46 | expect(errorEvent1.transaction).toEqual('GET /test-exception/555-a');
| ^
47 | expect(errorEvent1.tags).toEqual({ 'root-level-tag': 'yes', 'param-555-a': '555-a' });
48 |
49 | expect(errorEvent2.transaction).toEqual('GET /test-exception/555-b');
at /home/runner/work/_temp/test-application/tests/errors.test.ts:46:35
|
|
[chromium] › tests/errors.test.ts:4:5 › Sends correct error event:
../../_temp/test-application/tests/errors.test.ts#L24
1) [chromium] › tests/errors.test.ts:4:5 › Sends correct error event ─────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
Expected: "GET /test-exception/123"
Received: undefined
22 |
23 | // This is unparameterized here because we do not have the express instrumentation
> 24 | expect(errorEvent.transaction).toEqual('GET /test-exception/123');
| ^
25 |
26 | expect(errorEvent.contexts?.trace).toEqual({
27 | trace_id: expect.stringMatching(/[a-f0-9]{32}/),
at /home/runner/work/_temp/test-application/tests/errors.test.ts:24:34
|
|
E2E nextjs-16-tunnel (handler, webpack, edge) Test
Process completed with exit code 1.
|
|
[chromium] › tests/tunnel-route.test.ts:6:5 › Tunnel route should proxy pageload transaction to Sentry:
../../_temp/test-application/tests/tunnel-route.test.ts#L0
1) [chromium] › tests/tunnel-route.test.ts:6:5 › Tunnel route should proxy pageload transaction to Sentry
Test timeout of 30000ms exceeded.
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > captures error in tool:
dev-packages/node-integration-tests/utils/runner/createRunner.ts#L373
Error: Expected envelope item type 'span' but got 'event'.
Item: [{"type":"event"},{"exception":{"values":[{"type":"Error","value":"Error in tool","stacktrace":{"frames":[{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl7je_a0lw6a/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"generateText","lineno":4642,"colno":12,"in_app":false,"pre_context":[" callbacks: ["," onStart,"," globalTelemetry.onStart"," ]"," });"," const tracer = getTracer(telemetry);"," try {"],"context_line":" return await recordSpan({","post_context":[" name: \"ai.generateText\","," attributes: selectTelemetryAttributes({"," telemetry,"," attributes: {"," ...assembleOperationName({"," operationId: \"ai.generateText\","," telemetry"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl7je_a0lw6a/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, error);"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl7je_a0lw6a/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"fn","lineno":5050,"colno":20,"in_app":false,"pre_context":[" clientToolCalls = stepToolCalls.filter("," (toolCall) => !toolCall.providerExecuted"," );"," if (stepToolSet != null && isToolExecutionAllowedFinishReason("," currentModelResponse.finishReason.unified"," )) {"," clientToolOutputs.push("],"context_line":" ...await executeTools({","post_context":[" toolCalls: clientToolCalls.filter("," (toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null"," ),"," tools: stepToolSet,"," tracer,"," telemetry,"," messages: stepInputMessages,"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl7je_a0lw6a/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"executeTools","lineno":5275,"colno":23,"in_app":false,"pre_context":[" abortSignal,"," experimental_context,"," stepNumber,"," model,"," onToolCallStart,"," onToolCallFinish","}) {"],"context_line":" const toolOutputs = await Promise.all(","post_context":[" toolCalls.map("," async (toolCall) => executeToolCall({"," toolCall,"," tools,"," tracer,"," telemetry,"," messages,"]},{"filename":"index 0","module":"index 0","function":"Promise.all","in_app":false},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl7je_a0lw6a/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, erro
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans when dataCollection.genAi has inputs and outputs disabled:
dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/test.ts#L179
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:179:7
❯ createEsmTests utils/runner/createEsmAndCjsTests.ts:120:3
❯ suites/tracing/vercelai/v6_v7/test.ts:174:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [cjs]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:84:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [esm]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:68:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13380161536,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 126058496,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:16.068Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:48:59.974Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 9V45 96-Core Processor",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13380161536,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766414848,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
},
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "13.6.233.17-node.53",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13384298496,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 172335104,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:15.439Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:48:59.976Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 9V45 96-Core Processor",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13384298496,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766414848,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
},
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "13.6.233.17-node.53",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13411872768,
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 124588032,
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:15.044Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13376716800,
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 174428160,
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:14.370Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13417254912,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.memory": {
+ "type": "integer",
+ "value": 128745472,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:13.907Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.boot_time": {
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13385719808,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.memory": {
+ "type": "integer",
+ "value": 172998656,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:13.122Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.boot_time": {
+
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > captures error in tool:
dev-packages/node-integration-tests/utils/runner/createRunner.ts#L373
Error: Expected envelope item type 'span' but got 'event'.
Item: [{"type":"event"},{"exception":{"values":[{"type":"Error","value":"Error in tool","stacktrace":{"frames":[{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicla5u_46nadd/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"generateText","lineno":4642,"colno":12,"in_app":false,"pre_context":[" callbacks: ["," onStart,"," globalTelemetry.onStart"," ]"," });"," const tracer = getTracer(telemetry);"," try {"],"context_line":" return await recordSpan({","post_context":[" name: \"ai.generateText\","," attributes: selectTelemetryAttributes({"," telemetry,"," attributes: {"," ...assembleOperationName({"," operationId: \"ai.generateText\","," telemetry"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicla5u_46nadd/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, error);"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicla5u_46nadd/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"fn","lineno":5050,"colno":20,"in_app":false,"pre_context":[" clientToolCalls = stepToolCalls.filter("," (toolCall) => !toolCall.providerExecuted"," );"," if (stepToolSet != null && isToolExecutionAllowedFinishReason("," currentModelResponse.finishReason.unified"," )) {"," clientToolOutputs.push("],"context_line":" ...await executeTools({","post_context":[" toolCalls: clientToolCalls.filter("," (toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null"," ),"," tools: stepToolSet,"," tracer,"," telemetry,"," messages: stepInputMessages,"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicla5u_46nadd/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"executeTools","lineno":5275,"colno":23,"in_app":false,"pre_context":[" abortSignal,"," experimental_context,"," stepNumber,"," model,"," onToolCallStart,"," onToolCallFinish","}) {"],"context_line":" const toolOutputs = await Promise.all(","post_context":[" toolCalls.map("," async (toolCall) => executeToolCall({"," toolCall,"," tools,"," tracer,"," telemetry,"," messages,"]},{"filename":"index 0","module":"index 0","function":"Promise.all","in_app":false},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicla5u_46nadd/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, erro
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans when dataCollection.genAi has inputs and outputs disabled:
dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/test.ts#L179
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:179:7
❯ createEsmTests utils/runner/createEsmAndCjsTests.ts:120:3
❯ suites/tracing/vercelai/v6_v7/test.ts:174:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [cjs]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:84:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [esm]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:68:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.memory": {
+ "type": "integer",
+ "value": 102985728,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:26.673Z",
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "name": "invoke_agent",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:46:51.099Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.cpu_description": {
+ "type": "string",
+ "value": "Intel(R) Xeon(R) 6973P-C",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 14264807424,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16759308288,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 3598,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "10.2.154.26-node.39",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sdk.integrations": {
+ "type": "array",
+ "value": [
+ "InboundFilters",
+ "FunctionToString",
+ "LinkedErrors",
+ "Req
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.memory": {
+ "type": "integer",
+ "value": 142270464,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:25.858Z",
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "name": "invoke_agent",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:46:51.092Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.cpu_description": {
+ "type": "string",
+ "value": "Intel(R) Xeon(R) 6973P-C",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 14275072000,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16759308288,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 4101,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "os.kernel_version": {
+ "type": "string",
+ "value": "7.0.0-1017-azure",
},
+ "os.name": {
+ "type": "string",
+ "value": "Ubuntu Linux",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "os.version": {
+ "type": "string",
+ "value": "24.04",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "10.2.154.26-node.39",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.type": ObjectContaining {
+ "sentry.op": {
+ "type": "string",
"value": "function",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
+ },
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
+ },
+ "sentry.sam
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_ag
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
+ "items": [
+ {
+ "attributes": {
+ "app.memory": {
+ "type": "integer",
+ "value": 139956224,
},
- "name": "invoke_agent",
- "status": "ok",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:24.566Z",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:46:51.094Z",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.cpu_description": {
+ "type": "string",
+ "value": "Intel(R) Xeon(R) 6973P-C",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.memory": {
+ "type": "integer",
+ "value": 103665664,
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:24.067Z",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:46:51.096Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "device.cpu_description": {
+ "type": "string",
+ "value": "Intel(R) Xeon(R) 6973P-C",
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.free_memory": {
+ "type": "integer",
+ "value": 14362877952,
},
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16759308288,
},
- "name": "invoke_agent",
- "status": "ok",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 4099,
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "10.2.154.26-node.39",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.memory": {
+ "type": "integer",
+ "value": 140427264,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:23.260Z",
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:46:51.101Z",
},
- "name": "invoke_agent",
- "status": "ok",
+ "device.cpu_description": {
+ "type": "string",
+ "value": "Intel(R) Xeon(R) 6973P-C",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "device.free_memory": {
+ "type": "integer",
+ "value": 14334193664,
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-mode
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > captures error in tool:
dev-packages/node-integration-tests/utils/runner/createRunner.ts#L373
Error: Expected envelope item type 'span' but got 'event'.
Item: [{"type":"event"},{"exception":{"values":[{"type":"Error","value":"Error in tool","stacktrace":{"frames":[{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl81c_vnx6k8/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"generateText","lineno":4642,"colno":12,"in_app":false,"pre_context":[" callbacks: ["," onStart,"," globalTelemetry.onStart"," ]"," });"," const tracer = getTracer(telemetry);"," try {"],"context_line":" return await recordSpan({","post_context":[" name: \"ai.generateText\","," attributes: selectTelemetryAttributes({"," telemetry,"," attributes: {"," ...assembleOperationName({"," operationId: \"ai.generateText\","," telemetry"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl81c_vnx6k8/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, error);"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl81c_vnx6k8/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"fn","lineno":5050,"colno":20,"in_app":false,"pre_context":[" clientToolCalls = stepToolCalls.filter("," (toolCall) => !toolCall.providerExecuted"," );"," if (stepToolSet != null && isToolExecutionAllowedFinishReason("," currentModelResponse.finishReason.unified"," )) {"," clientToolOutputs.push("],"context_line":" ...await executeTools({","post_context":[" toolCalls: clientToolCalls.filter("," (toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null"," ),"," tools: stepToolSet,"," tracer,"," telemetry,"," messages: stepInputMessages,"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl81c_vnx6k8/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"executeTools","lineno":5275,"colno":23,"in_app":false,"pre_context":[" abortSignal,"," experimental_context,"," stepNumber,"," model,"," onToolCallStart,"," onToolCallFinish","}) {"],"context_line":" const toolOutputs = await Promise.all(","post_context":[" toolCalls.map("," async (toolCall) => executeToolCall({"," toolCall,"," tools,"," tracer,"," telemetry,"," messages,"]},{"filename":"index 0","module":"index 0","function":"Promise.all","in_app":false},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl81c_vnx6k8/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, erro
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans when dataCollection.genAi has inputs and outputs disabled:
dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/test.ts#L179
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:179:7
❯ createEsmTests utils/runner/createEsmAndCjsTests.ts:120:3
❯ suites/tracing/vercelai/v6_v7/test.ts:174:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [cjs]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:84:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [esm]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:68:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13782286336,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 125403136,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:02.279Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:48:51.812Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 9V74 80-Core Processor",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13782286336,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766414848,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
},
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "14.6.202.34-node.40",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13717598208,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 169623552,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:01.361Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:48:51.803Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 9V74 80-Core Processor",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13717598208,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766414848,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
},
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "14.6.202.34-node.40",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13778137088,
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 125779968,
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:00.708Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13767856128,
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 173920256,
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:59.783Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13727117312,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.memory": {
+ "type": "integer",
+ "value": 125329408,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:59.188Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.boot_time": {
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13652848640,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.memory": {
+ "type": "integer",
+ "value": 171724800,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:58.222Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.boot_time": {
+
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > captures error in tool:
dev-packages/node-integration-tests/utils/runner/createRunner.ts#L373
Error: Expected envelope item type 'span' but got 'event'.
Item: [{"type":"event"},{"exception":{"values":[{"type":"Error","value":"Error in tool","stacktrace":{"frames":[{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl5xk_01s9c9/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"generateText","lineno":4642,"colno":12,"in_app":false,"pre_context":[" callbacks: ["," onStart,"," globalTelemetry.onStart"," ]"," });"," const tracer = getTracer(telemetry);"," try {"],"context_line":" return await recordSpan({","post_context":[" name: \"ai.generateText\","," attributes: selectTelemetryAttributes({"," telemetry,"," attributes: {"," ...assembleOperationName({"," operationId: \"ai.generateText\","," telemetry"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl5xk_01s9c9/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, error);"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl5xk_01s9c9/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"fn","lineno":5050,"colno":20,"in_app":false,"pre_context":[" clientToolCalls = stepToolCalls.filter("," (toolCall) => !toolCall.providerExecuted"," );"," if (stepToolSet != null && isToolExecutionAllowedFinishReason("," currentModelResponse.finishReason.unified"," )) {"," clientToolOutputs.push("],"context_line":" ...await executeTools({","post_context":[" toolCalls: clientToolCalls.filter("," (toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null"," ),"," tools: stepToolSet,"," tracer,"," telemetry,"," messages: stepInputMessages,"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl5xk_01s9c9/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"executeTools","lineno":5275,"colno":23,"in_app":false,"pre_context":[" abortSignal,"," experimental_context,"," stepNumber,"," model,"," onToolCallStart,"," onToolCallFinish","}) {"],"context_line":" const toolOutputs = await Promise.all(","post_context":[" toolCalls.map("," async (toolCall) => executeToolCall({"," toolCall,"," tools,"," tracer,"," telemetry,"," messages,"]},{"filename":"index 0","module":"index 0","function":"Promise.all","in_app":false},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl5xk_01s9c9/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, erro
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans when dataCollection.genAi has inputs and outputs disabled:
dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/test.ts#L179
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:179:7
❯ createEsmTests utils/runner/createEsmAndCjsTests.ts:120:3
❯ suites/tracing/vercelai/v6_v7/test.ts:174:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [cjs]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:84:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [esm]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:68:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13986775040,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 117137408,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:03.318Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:47:45.490Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13986775040,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16765374464,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 3465,
},
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "12.4.254.21-node.57",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.ve
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13977473024,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 156839936,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:02.450Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:47:45.491Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13977473024,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16765374464,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 3491,
+ },
+ "os.kernel_version": {
+ "type": "string",
+ "value": "6.17.0-1022-azure",
},
+ "os.name": {
+ "type": "string",
+ "value": "Ubuntu Linux",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "os.version": {
+ "type": "string",
+ "value": "24.04",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "12.4.254.21-node.57",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.type": ObjectContaining {
+ "sentry.op": {
+ "type": "string",
"value": "function",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 14041141248,
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 116035584,
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:01.845Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_ag
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 14019809280,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.memory": {
+ "type": "integer",
+ "value": 116490240,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:00.247Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.boot_time": {
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13904855040,
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "app.memory": {
+ "type": "integer",
+ "value": 160702464,
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:52:59.309Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:47:45.497Z",
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.cpu_description": {
+ "type": "string",
+ "value": "Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz",
},
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13904855040,
},
- "name": "invoke_agent",
- "status": "ok",
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16765374464,
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 3491,
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origi
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > captures error in tool:
dev-packages/node-integration-tests/utils/runner/createRunner.ts#L373
Error: Expected envelope item type 'span' but got 'event'.
Item: [{"type":"event"},{"exception":{"values":[{"type":"Error","value":"Error in tool","stacktrace":{"frames":[{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl8ng_gxi7ds/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"generateText","lineno":4642,"colno":12,"in_app":false,"pre_context":[" callbacks: ["," onStart,"," globalTelemetry.onStart"," ]"," });"," const tracer = getTracer(telemetry);"," try {"],"context_line":" return await recordSpan({","post_context":[" name: \"ai.generateText\","," attributes: selectTelemetryAttributes({"," telemetry,"," attributes: {"," ...assembleOperationName({"," operationId: \"ai.generateText\","," telemetry"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl8ng_gxi7ds/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, error);"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl8ng_gxi7ds/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"fn","lineno":5050,"colno":20,"in_app":false,"pre_context":[" clientToolCalls = stepToolCalls.filter("," (toolCall) => !toolCall.providerExecuted"," );"," if (stepToolSet != null && isToolExecutionAllowedFinishReason("," currentModelResponse.finishReason.unified"," )) {"," clientToolOutputs.push("],"context_line":" ...await executeTools({","post_context":[" toolCalls: clientToolCalls.filter("," (toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null"," ),"," tools: stepToolSet,"," tracer,"," telemetry,"," messages: stepInputMessages,"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl8ng_gxi7ds/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"executeTools","lineno":5275,"colno":23,"in_app":false,"pre_context":[" abortSignal,"," experimental_context,"," stepNumber,"," model,"," onToolCallStart,"," onToolCallFinish","}) {"],"context_line":" const toolOutputs = await Promise.all(","post_context":[" toolCalls.map("," async (toolCall) => executeToolCall({"," toolCall,"," tools,"," tracer,"," telemetry,"," messages,"]},{"filename":"index 0","module":"index 0","function":"Promise.all","in_app":false},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicl8ng_gxi7ds/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, erro
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans when dataCollection.genAi has inputs and outputs disabled:
dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/test.ts#L179
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:179:7
❯ createEsmTests utils/runner/createEsmAndCjsTests.ts:120:3
❯ suites/tracing/vercelai/v6_v7/test.ts:174:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [cjs]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:84:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [esm]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:68:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 14032838656,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 101134336,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:28.689Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:47:44.138Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 7763 64-Core Processor",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 14032838656,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766406656,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
},
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "11.3.244.8-node.38",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 14022860800,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 143245312,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:27.350Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:47:44.140Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 7763 64-Core Processor",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 14022860800,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766406656,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
+ },
+ "os.kernel_version": {
+ "type": "string",
+ "value": "6.17.0-1022-azure",
},
+ "os.name": {
+ "type": "string",
+ "value": "Ubuntu Linux",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "os.version": {
+ "type": "string",
+ "value": "24.04",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "11.3.244.8-node.38",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.type": ObjectContaining {
+ "sentry.op": {
+ "type": "string",
"value": "function",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
+ },
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 14074589184,
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 99942400,
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:26.591Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_ag
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 14074257408,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.memory": {
+ "type": "integer",
+ "value": 101470208,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:24.853Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.boot_time": {
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 14097620992,
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "app.memory": {
+ "type": "integer",
+ "value": 149647360,
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:53:23.745Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:47:44.145Z",
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 7763 64-Core Processor",
},
+ "device.free_memory": {
+ "type": "integer",
+ "value": 14097620992,
},
- "name": "invoke_agent",
- "status": "ok",
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766406656,
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContain
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > captures error in tool:
dev-packages/node-integration-tests/utils/runner/createRunner.ts#L373
Error: Expected envelope item type 'span' but got 'event'.
Item: [{"type":"event"},{"exception":{"values":[{"type":"Error","value":"Error in tool","stacktrace":{"frames":[{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicp4zq_stpfd1/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"generateText","lineno":4642,"colno":12,"in_app":false,"pre_context":[" callbacks: ["," onStart,"," globalTelemetry.onStart"," ]"," });"," const tracer = getTracer(telemetry);"," try {"],"context_line":" return await recordSpan({","post_context":[" name: \"ai.generateText\","," attributes: selectTelemetryAttributes({"," telemetry,"," attributes: {"," ...assembleOperationName({"," operationId: \"ai.generateText\","," telemetry"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicp4zq_stpfd1/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, error);"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicp4zq_stpfd1/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"fn","lineno":5050,"colno":20,"in_app":false,"pre_context":[" clientToolCalls = stepToolCalls.filter("," (toolCall) => !toolCall.providerExecuted"," );"," if (stepToolSet != null && isToolExecutionAllowedFinishReason("," currentModelResponse.finishReason.unified"," )) {"," clientToolOutputs.push("],"context_line":" ...await executeTools({","post_context":[" toolCalls: clientToolCalls.filter("," (toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null"," ),"," tools: stepToolSet,"," tracer,"," telemetry,"," messages: stepInputMessages,"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicp4zq_stpfd1/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"executeTools","lineno":5275,"colno":23,"in_app":false,"pre_context":[" abortSignal,"," experimental_context,"," stepNumber,"," model,"," onToolCallStart,"," onToolCallFinish","}) {"],"context_line":" const toolOutputs = await Promise.all(","post_context":[" toolCalls.map("," async (toolCall) => executeToolCall({"," toolCall,"," tools,"," tracer,"," telemetry,"," messages,"]},{"filename":"index 0","module":"index 0","function":"Promise.all","in_app":false},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/tmp_mvicp4zq_stpfd1/node_modules/ai/dist/index.mjs","module":"ai.dist:index","function":"?","lineno":2458,"colno":24,"in_app":false,"pre_context":["}) {"," return tracer.startActiveSpan("," name23,"," { attributes: await attributes },"," async (span) => {"," const ctx = context.active();"," try {"],"context_line":" const result = await context.with(ctx, () => fn(span));","post_context":[" if (endWhenDone) {"," span.end();"," }"," return result;"," } catch (error) {"," try {"," recordErrorOnSpan(span, erro
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans when dataCollection.genAi has inputs and outputs disabled:
dev-packages/node-integration-tests/suites/tracing/vercelai/v6_v7/test.ts#L179
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:179:7
❯ createEsmTests utils/runner/createEsmAndCjsTests.ts:120:3
❯ suites/tracing/vercelai/v6_v7/test.ts:174:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [cjs]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:84:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/v6_v7/test.ts > Vercel AI integration (version 6) > creates ai spans for dataCollection defaults [esm]:
dev-packages/node-integration-tests/utils/runner/createEsmAndCjsTests.ts#L427
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ Object.apply utils/runner/createEsmAndCjsTests.ts:427:22
❯ additionalDependencies.ai suites/tracing/vercelai/v6_v7/test.ts:55:7
❯ createEsmAndCjsTests utils/runner/createEsmAndCjsTests.ts:68:3
❯ suites/tracing/vercelai/v6_v7/test.ts:50:3
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13538512896,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 123695104,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:56:34.883Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:47:34.802Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 7763 64-Core Processor",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13538512896,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766414848,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
},
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "13.6.233.17-node.53",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > normalizes error status in streaming mode [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13502799872,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 170397696,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:56:33.821Z",
},
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "name": "invoke_agent",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "device.boot_time": {
+ "type": "string",
+ "value": "2026-10-21T16:47:34.802Z",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.cpu_description": {
+ "type": "string",
+ "value": "AMD EPYC 7763 64-Core Processor",
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.free_memory": {
+ "type": "integer",
+ "value": 13502799872,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 40,
+ "device.memory_size": {
+ "type": "integer",
+ "value": 16766414848,
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
+ "device.processor_count": {
+ "type": "integer",
+ "value": 4,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+ "device.processor_frequency": {
+ "type": "integer",
+ "value": 0,
},
+ "process.runtime.engine.name": {
+ "type": "string",
+ "value": "v8",
},
- "name": "generate_content mock-model-id",
- "status": "ok",
+ "process.runtime.engine.version": {
+ "type": "string",
+ "value": "13.6.233.17-node.53",
},
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "execute_tool",
+ "sentry.environment": {
+ "type": "string",
+ "value": "production",
},
- "gen_ai.tool.call.id": ObjectContaining {
- "value": "call-1",
+ "sentry.op": {
+ "type": "string",
+ "value": "function",
},
- "gen_ai.tool.name": ObjectContaining {
- "value": "getWeather",
+ "sentry.origin": {
+ "type": "string",
+ "value": "manual",
},
- "gen_ai.tool.type": ObjectContaining {
- "value": "function",
+ "sentry.release": {
+ "type": "string",
+ "value": "1.0",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.execute_tool",
+ "sentry.sample_rate": {
+ "type": "integer",
+ "value": 1,
},
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13578121216,
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 122339328,
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:56:33.161Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording enabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the first span?\"}]",
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13487992832,
},
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "app.memory": {
+ "type": "integer",
+ "value": 171507712,
},
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:56:32.092Z",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- "sentry.sdk_meta.gen_ai.input.messages.original_length": ObjectContaining {
- "value": 1,
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": Any<String>,
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"First span here!\"}],\"finish_reason\":\"stop\"}]",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.input.messages": ObjectContaining {
- "value": "[{\"role\":\"user\",\"content\":\"Where is the second span?\"}]",
- },
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.output.messages": ObjectContaining {
- "value": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Second span here!\"}],\"finish_reason\":\"stop\"}]",
-
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [cjs]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13600514048,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.memory": {
+ "type": "integer",
+ "value": 122499072,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:56:31.317Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.boot_time": {
+
|
|
suites/tracing/vercelai/span-streaming-v6/test.ts > Vercel AI integration (streaming, v6) > creates ai related spans in streaming mode with genAI recording disabled [esm]:
dev-packages/node-integration-tests/utils/assertions.ts#L100
AssertionError: expected { version: 2, items: [ { …(8) } ] } to match object { items: ArrayContaining{…} }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "items": ArrayContaining [
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "generate_content",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.response.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
- },
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
- },
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
- },
- "sentry.op": ObjectContaining {
- "value": "gen_ai.generate_content",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "generate_content mock-model-id",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
- },
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
- },
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 10,
+ "items": [
+ {
+ "attributes": {
+ "app.free_memory": {
+ "type": "integer",
+ "value": 13576249344,
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 20,
+ "app.memory": {
+ "type": "integer",
+ "value": 170184704,
},
- "gen_ai.usage.total_tokens": ObjectContaining {
- "value": 30,
+ "app.start_time": {
+ "type": "string",
+ "value": "2026-10-21T16:56:30.048Z",
},
- "sentry.op": ObjectContaining {
- "value": "gen_ai.invoke_agent",
- },
- "sentry.origin": ObjectContaining {
- "value": "auto.vercelai.otel",
- },
- },
- "name": "invoke_agent",
- "status": "ok",
- },
- ObjectContaining {
- "attributes": ObjectContaining {
- "gen_ai.operation.name": ObjectContaining {
- "value": "invoke_agent",
+ "culture.locale": {
+ "type": "string",
+ "value": "en-US",
},
- "gen_ai.request.model": ObjectContaining {
- "value": "mock-model-id",
+ "culture.timezone": {
+ "type": "string",
+ "value": "UTC",
},
- "gen_ai.usage.input_tokens": ObjectContaining {
- "value": 15,
+ "device.archs": {
+ "type": "array",
+ "value": [
+ "x64",
+ ],
},
- "gen_ai.usage.output_tokens": ObjectContaining {
- "value": 25,
+ "device.boot_time": {
+
|
|
All required jobs passed or were skipped
Process completed with exit code 1.
|
|
E2E node-core-express-otel-v1-custom-sampler Test
No files were found with the provided path: /home/runner/work/_temp/test-application/test-results. No artifacts will be uploaded.
|
|
E2E node-core-express-otel-v2-custom-sampler Test
No files were found with the provided path: /home/runner/work/_temp/test-application/test-results. No artifacts will be uploaded.
|
|
E2E node-otel-custom-sampler Test
No files were found with the provided path: /home/runner/work/_temp/test-application/test-results. No artifacts will be uploaded.
|
|
🎭 Playwright Run Summary
3 failed
[chromium] › tests/errors.test.ts:4:5 › Sends correct error event ──────────────────────────────
[chromium] › tests/errors.test.ts:32:5 › Isolates requests correctly ───────────────────────────
[chromium] › tests/transactions.test.ts:4:5 › Sends an API route transaction to OTLP ───────────
2 passed (18.1s)
|
|
🎭 Playwright Run Summary
12 passed (20.8s)
|
|
🎭 Playwright Run Summary
1 failed
[chromium] › tests/tunnel-route.test.ts:6:5 › Tunnel route should proxy pageload transaction to Sentry
1 skipped
4 passed (52.7s)
|
|
🎭 Playwright Run Summary
1 skipped
5 passed (11.7s)
|
|
🎭 Playwright Run Summary
4 passed (21.5s)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
E2E Test Dump (nextjs-16-tunnel (handler, webpack, edge))
|
48.9 KB |
sha256:710ae79f0c15317f25223bc607514f04a357c11059d3f4274c8888cbc4bde354
|
|
|
playwright-traces-job_e2e_playwright_tests-nextjs-16-tunnel
|
83.6 KB |
sha256:f3f8a13c1fa3d9ddee4ad72103dba457658db6f79fda97a339fb4eab18aa297c
|
|
|
playwright-traces-job_e2e_playwright_tests-node-otel-without-tracing
|
7.47 KB |
sha256:77c9ffa2477ab1c46ab79e963fee575304848037714d765c545fe6c78ce06857
|
|