@ai-sdk/otel 1.0.152 → 1.0.153
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +2 -90
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @ai-sdk/otel
|
|
2
2
|
|
|
3
|
+
## 1.0.153
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e729d58: chore(docs): update `README.md` for consistent format and to avoid duplication
|
|
8
|
+
- Updated dependencies [5475347]
|
|
9
|
+
- Updated dependencies [e729d58]
|
|
10
|
+
- @ai-sdk/provider@4.0.34
|
|
11
|
+
- ai@7.0.153
|
|
12
|
+
|
|
3
13
|
## 1.0.152
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -6,11 +6,8 @@ OpenTelemetry setup.
|
|
|
6
6
|
|
|
7
7
|
## Setup
|
|
8
8
|
|
|
9
|
-
The OpenTelemetry integration is available in the `@ai-sdk/otel` module. You can
|
|
10
|
-
install it with
|
|
11
|
-
|
|
12
9
|
```bash
|
|
13
|
-
npm i @ai-sdk/otel
|
|
10
|
+
npm i ai @ai-sdk/otel
|
|
14
11
|
```
|
|
15
12
|
|
|
16
13
|
## Skill for Coding Agents
|
|
@@ -24,9 +21,6 @@ npx skills add vercel/ai
|
|
|
24
21
|
|
|
25
22
|
## Usage
|
|
26
23
|
|
|
27
|
-
Register the telemetry integration once at application startup with
|
|
28
|
-
`registerTelemetry()`:
|
|
29
|
-
|
|
30
24
|
```ts
|
|
31
25
|
import { OpenTelemetry } from '@ai-sdk/otel';
|
|
32
26
|
import { registerTelemetry } from 'ai';
|
|
@@ -34,86 +28,4 @@ import { registerTelemetry } from 'ai';
|
|
|
34
28
|
registerTelemetry(new OpenTelemetry());
|
|
35
29
|
```
|
|
36
30
|
|
|
37
|
-
|
|
38
|
-
OpenTelemetry provider setup. For Node.js applications, register it at the top
|
|
39
|
-
level of your entry file.
|
|
40
|
-
|
|
41
|
-
Once registered, AI SDK calls emit telemetry events by default:
|
|
42
|
-
|
|
43
|
-
```ts
|
|
44
|
-
import { generateText } from 'ai';
|
|
45
|
-
|
|
46
|
-
const result = await generateText({
|
|
47
|
-
model: 'openai/gpt-6-astra',
|
|
48
|
-
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
|
|
49
|
-
telemetry: {
|
|
50
|
-
functionId: 'recipe-generator',
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
You can opt out for an individual call with `telemetry.isEnabled`:
|
|
56
|
-
|
|
57
|
-
```ts
|
|
58
|
-
const result = await generateText({
|
|
59
|
-
model: 'openai/gpt-6-astra',
|
|
60
|
-
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
|
|
61
|
-
telemetry: {
|
|
62
|
-
isEnabled: false,
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## OpenTelemetry
|
|
68
|
-
|
|
69
|
-
`OpenTelemetry` is the recommended integration. It emits spans that follow the
|
|
70
|
-
[OpenTelemetry GenAI Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/gen-ai/).
|
|
71
|
-
|
|
72
|
-
You can pass a custom tracer when you want to use a specific `TracerProvider`:
|
|
73
|
-
|
|
74
|
-
```ts
|
|
75
|
-
import { OpenTelemetry } from '@ai-sdk/otel';
|
|
76
|
-
import { registerTelemetry } from 'ai';
|
|
77
|
-
|
|
78
|
-
registerTelemetry(
|
|
79
|
-
new OpenTelemetry({
|
|
80
|
-
tracer: tracerProvider.getTracer('gen_ai'),
|
|
81
|
-
}),
|
|
82
|
-
);
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
You can also add custom attributes to spans with `enrichSpan`:
|
|
86
|
-
|
|
87
|
-
```ts
|
|
88
|
-
import { OpenTelemetry } from '@ai-sdk/otel';
|
|
89
|
-
import { registerTelemetry } from 'ai';
|
|
90
|
-
|
|
91
|
-
registerTelemetry(
|
|
92
|
-
new OpenTelemetry({
|
|
93
|
-
enrichSpan: ({ spanType, operationId, callId }) => ({
|
|
94
|
-
'my_app.span_type': spanType,
|
|
95
|
-
'my_app.operation_id': operationId,
|
|
96
|
-
'my_app.call_id': callId,
|
|
97
|
-
}),
|
|
98
|
-
}),
|
|
99
|
-
);
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Legacy Telemetry
|
|
103
|
-
|
|
104
|
-
`LegacyOpenTelemetry` emits the older AI SDK-specific span format with `ai.*`
|
|
105
|
-
attributes. Use it when an existing observability integration depends on the
|
|
106
|
-
legacy span shape:
|
|
107
|
-
|
|
108
|
-
```ts
|
|
109
|
-
import { LegacyOpenTelemetry } from '@ai-sdk/otel';
|
|
110
|
-
import { registerTelemetry } from 'ai';
|
|
111
|
-
|
|
112
|
-
registerTelemetry(new LegacyOpenTelemetry());
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## Documentation
|
|
116
|
-
|
|
117
|
-
Please check out the
|
|
118
|
-
[AI SDK telemetry documentation](https://ai-sdk.dev/docs/ai-sdk-core/telemetry)
|
|
119
|
-
for more information.
|
|
31
|
+
See the [OpenTelemetry documentation](https://ai-sdk.dev/docs/ai-sdk-core/telemetry) for more information.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/otel",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.153",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@ai-sdk/provider": "4.0.
|
|
29
|
+
"@ai-sdk/provider": "4.0.34",
|
|
30
30
|
"@opentelemetry/api": "1.9.1",
|
|
31
|
-
"ai": "7.0.
|
|
31
|
+
"ai": "7.0.153"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@ai-sdk/provider-utils": "5.0.
|
|
34
|
+
"@ai-sdk/provider-utils": "5.0.68",
|
|
35
35
|
"@opentelemetry/sdk-trace-base": "2.7.1",
|
|
36
36
|
"@types/node": "22.19.19",
|
|
37
37
|
"@vercel/ai-tsconfig": "0.0.0",
|