@mastra/otel-exporter 1.0.0-beta.0 → 1.0.0-beta.10

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 CHANGED
@@ -1,5 +1,184 @@
1
1
  # @mastra/otel-exporter
2
2
 
3
+ ## 1.0.0-beta.10
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`51fec93`](https://github.com/mastra-ai/mastra/commit/51fec93ffd2f167b1247c23e5c04ed24e369ff75), [`5947fcd`](https://github.com/mastra-ai/mastra/commit/5947fcdd425531f29f9422026d466c2ee3113c93)]:
8
+ - @mastra/observability@1.0.0-beta.9
9
+ - @mastra/core@1.0.0-beta.18
10
+
11
+ ## 1.0.0-beta.9
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [[`3d93a15`](https://github.com/mastra-ai/mastra/commit/3d93a15796b158c617461c8b98bede476ebb43e2), [`efe406a`](https://github.com/mastra-ai/mastra/commit/efe406a1353c24993280ebc2ed61dd9f65b84b26), [`119e5c6`](https://github.com/mastra-ai/mastra/commit/119e5c65008f3e5cfca954eefc2eb85e3bf40da4), [`74e504a`](https://github.com/mastra-ai/mastra/commit/74e504a3b584eafd2f198001c6a113bbec589fd3), [`e33fdbd`](https://github.com/mastra-ai/mastra/commit/e33fdbd07b33920d81e823122331b0c0bee0bb59), [`929f69c`](https://github.com/mastra-ai/mastra/commit/929f69c3436fa20dd0f0e2f7ebe8270bd82a1529), [`8a73529`](https://github.com/mastra-ai/mastra/commit/8a73529ca01187f604b1f3019d0a725ac63ae55f)]:
16
+ - @mastra/core@1.0.0-beta.16
17
+ - @mastra/observability@1.0.0-beta.8
18
+
19
+ ## 1.0.0-beta.8
20
+
21
+ ### Minor Changes
22
+
23
+ - Unified observability schema with entity-based span identification ([#11132](https://github.com/mastra-ai/mastra/pull/11132))
24
+
25
+ ## What changed
26
+
27
+ Spans now use a unified identification model with `entityId`, `entityType`, and `entityName` instead of separate `agentId`, `toolId`, `workflowId` fields.
28
+
29
+ **Before:**
30
+
31
+ ```typescript
32
+ // Old span structure
33
+ span.agentId; // 'my-agent'
34
+ span.toolId; // undefined
35
+ span.workflowId; // undefined
36
+ ```
37
+
38
+ **After:**
39
+
40
+ ```typescript
41
+ // New span structure
42
+ span.entityType; // EntityType.AGENT
43
+ span.entityId; // 'my-agent'
44
+ span.entityName; // 'My Agent'
45
+ ```
46
+
47
+ ## New `listTraces()` API
48
+
49
+ Query traces with filtering, pagination, and sorting:
50
+
51
+ ```typescript
52
+ const { spans, pagination } = await storage.listTraces({
53
+ filters: {
54
+ entityType: EntityType.AGENT,
55
+ entityId: 'my-agent',
56
+ userId: 'user-123',
57
+ environment: 'production',
58
+ status: TraceStatus.SUCCESS,
59
+ startedAt: { start: new Date('2024-01-01'), end: new Date('2024-01-31') },
60
+ },
61
+ pagination: { page: 0, perPage: 50 },
62
+ orderBy: { field: 'startedAt', direction: 'DESC' },
63
+ });
64
+ ```
65
+
66
+ **Available filters:** date ranges (`startedAt`, `endedAt`), entity (`entityType`, `entityId`, `entityName`), identity (`userId`, `organizationId`), correlation IDs (`runId`, `sessionId`, `threadId`), deployment (`environment`, `source`, `serviceName`), `tags`, `metadata`, and `status`.
67
+
68
+ ## New retrieval methods
69
+ - `getSpan({ traceId, spanId })` - Get a single span
70
+ - `getRootSpan({ traceId })` - Get the root span of a trace
71
+ - `getTrace({ traceId })` - Get all spans for a trace
72
+
73
+ ## Backward compatibility
74
+
75
+ The legacy `getTraces()` method continues to work. When you pass `name: "agent run: my-agent"`, it automatically transforms to `entityId: "my-agent", entityType: AGENT`.
76
+
77
+ ## Migration
78
+
79
+ **Automatic:** SQL-based stores (PostgreSQL, LibSQL, MSSQL) automatically add new columns to existing `spans` tables on initialization. Existing data is preserved with new columns set to `NULL`.
80
+
81
+ **No action required:** Your existing code continues to work. Adopt the new fields and `listTraces()` API at your convenience.
82
+
83
+ ### Patch Changes
84
+
85
+ - Updated dependencies [[`33a4d2e`](https://github.com/mastra-ai/mastra/commit/33a4d2e4ed8af51f69256232f00c34d6b6b51d48), [`4aaa844`](https://github.com/mastra-ai/mastra/commit/4aaa844a4f19d054490f43638a990cc57bda8d2f), [`4a1a6cb`](https://github.com/mastra-ai/mastra/commit/4a1a6cb3facad54b2bb6780b00ce91d6de1edc08), [`31d13d5`](https://github.com/mastra-ai/mastra/commit/31d13d5fdc2e2380e2e3ee3ec9fb29d2a00f265d), [`4c62166`](https://github.com/mastra-ai/mastra/commit/4c621669f4a29b1f443eca3ba70b814afa286266), [`7bcbf10`](https://github.com/mastra-ai/mastra/commit/7bcbf10133516e03df964b941f9a34e9e4ab4177), [`4353600`](https://github.com/mastra-ai/mastra/commit/43536005a65988a8eede236f69122e7f5a284ba2), [`6986fb0`](https://github.com/mastra-ai/mastra/commit/6986fb064f5db6ecc24aa655e1d26529087b43b3), [`053e979`](https://github.com/mastra-ai/mastra/commit/053e9793b28e970086b0507f7f3b76ea32c1e838), [`e26dc9c`](https://github.com/mastra-ai/mastra/commit/e26dc9c3ccfec54ae3dc3e2b2589f741f9ae60a6), [`55edf73`](https://github.com/mastra-ai/mastra/commit/55edf7302149d6c964fbb7908b43babfc2b52145), [`27c0009`](https://github.com/mastra-ai/mastra/commit/27c0009777a6073d7631b0eb7b481d94e165b5ca), [`dee388d`](https://github.com/mastra-ai/mastra/commit/dee388dde02f2e63c53385ae69252a47ab6825cc), [`3f3fc30`](https://github.com/mastra-ai/mastra/commit/3f3fc3096f24c4a26cffeecfe73085928f72aa63), [`d90ea65`](https://github.com/mastra-ai/mastra/commit/d90ea6536f7aa51c6545a4e9215b55858e98e16d), [`d171e55`](https://github.com/mastra-ai/mastra/commit/d171e559ead9f52ec728d424844c8f7b164c4510), [`10c2735`](https://github.com/mastra-ai/mastra/commit/10c27355edfdad1ee2b826b897df74125eb81fb8), [`1924cf0`](https://github.com/mastra-ai/mastra/commit/1924cf06816e5e4d4d5333065ec0f4bb02a97799), [`b339816`](https://github.com/mastra-ai/mastra/commit/b339816df0984d0243d944ac2655d6ba5f809cde)]:
86
+ - @mastra/core@1.0.0-beta.15
87
+ - @mastra/observability@1.0.0-beta.7
88
+
89
+ ## 1.0.0-beta.7
90
+
91
+ ### Patch Changes
92
+
93
+ - Updated dependencies [[`4f94ed8`](https://github.com/mastra-ai/mastra/commit/4f94ed8177abfde3ec536e3574883e075423350c), [`ac3cc23`](https://github.com/mastra-ai/mastra/commit/ac3cc2397d1966bc0fc2736a223abc449d3c7719), [`a86f4df`](https://github.com/mastra-ai/mastra/commit/a86f4df0407311e0d2ea49b9a541f0938810d6a9), [`029540c`](https://github.com/mastra-ai/mastra/commit/029540ca1e582fc2dd8d288ecd4a9b0f31a954ef), [`f1bbc94`](https://github.com/mastra-ai/mastra/commit/f1bbc941934a4806f5512b3fb1507c77420336b1), [`66741d1`](https://github.com/mastra-ai/mastra/commit/66741d1a99c4f42cf23a16109939e8348ac6852e), [`01b20fe`](https://github.com/mastra-ai/mastra/commit/01b20fefb7c67c2b7d79417598ef4e60256d1225), [`0dbf199`](https://github.com/mastra-ai/mastra/commit/0dbf199110f22192ce5c95b1c8148d4872b4d119), [`a7ce182`](https://github.com/mastra-ai/mastra/commit/a7ce1822a8785ce45d62dd5c911af465e144f7d7)]:
94
+ - @mastra/core@1.0.0-beta.14
95
+ - @mastra/observability@1.0.0-beta.6
96
+
97
+ ## 1.0.0-beta.6
98
+
99
+ ### Patch Changes
100
+
101
+ - Updated dependencies [[`d5ed981`](https://github.com/mastra-ai/mastra/commit/d5ed981c8701c1b8a27a5f35a9a2f7d9244e695f), [`9650cce`](https://github.com/mastra-ai/mastra/commit/9650cce52a1d917ff9114653398e2a0f5c3ba808), [`932d63d`](https://github.com/mastra-ai/mastra/commit/932d63dd51be9c8bf1e00e3671fe65606c6fb9cd), [`b760b73`](https://github.com/mastra-ai/mastra/commit/b760b731aca7c8a3f041f61d57a7f125ae9cb215), [`695a621`](https://github.com/mastra-ai/mastra/commit/695a621528bdabeb87f83c2277cf2bb084c7f2b4), [`2b459f4`](https://github.com/mastra-ai/mastra/commit/2b459f466fd91688eeb2a44801dc23f7f8a887ab), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`24b76d8`](https://github.com/mastra-ai/mastra/commit/24b76d8e17656269c8ed09a0c038adb9cc2ae95a), [`243a823`](https://github.com/mastra-ai/mastra/commit/243a8239c5906f5c94e4f78b54676793f7510ae3), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`c61fac3`](https://github.com/mastra-ai/mastra/commit/c61fac3add96f0dcce0208c07415279e2537eb62), [`6f14f70`](https://github.com/mastra-ai/mastra/commit/6f14f706ccaaf81b69544b6c1b75ab66a41e5317), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`4524734`](https://github.com/mastra-ai/mastra/commit/45247343e384717a7c8404296275c56201d6470f), [`2a53598`](https://github.com/mastra-ai/mastra/commit/2a53598c6d8cfeb904a7fc74e57e526d751c8fa6), [`c7cd3c7`](https://github.com/mastra-ai/mastra/commit/c7cd3c7a187d7aaf79e2ca139de328bf609a14b4), [`5a632bd`](https://github.com/mastra-ai/mastra/commit/5a632bdf7b78953b664f5e038e98d4ba5f971e47), [`847c212`](https://github.com/mastra-ai/mastra/commit/847c212caba7df0d6f2fc756b494ac3c75c3720d), [`6f941c4`](https://github.com/mastra-ai/mastra/commit/6f941c438ca5f578619788acc7608fc2e23bd176)]:
102
+ - @mastra/core@1.0.0-beta.12
103
+ - @mastra/observability@1.0.0-beta.5
104
+
105
+ ## 1.0.0-beta.5
106
+
107
+ ### Patch Changes
108
+
109
+ - Fixed CachedToken tracking in all Observability Exporters. Also fixed TimeToFirstToken in Langfuse, Braintrust, PostHog exporters. Fixed trace formatting in Posthog Exporter. ([#11029](https://github.com/mastra-ai/mastra/pull/11029))
110
+
111
+ - Updated dependencies [[`edb07e4`](https://github.com/mastra-ai/mastra/commit/edb07e49283e0c28bd094a60e03439bf6ecf0221), [`b7e17d3`](https://github.com/mastra-ai/mastra/commit/b7e17d3f5390bb5a71efc112204413656fcdc18d), [`261473a`](https://github.com/mastra-ai/mastra/commit/261473ac637e633064a22076671e2e02b002214d), [`5d7000f`](https://github.com/mastra-ai/mastra/commit/5d7000f757cd65ea9dc5b05e662fd83dfd44e932), [`4f0331a`](https://github.com/mastra-ai/mastra/commit/4f0331a79bf6eb5ee598a5086e55de4b5a0ada03), [`8a000da`](https://github.com/mastra-ai/mastra/commit/8a000da0c09c679a2312f6b3aa05b2ca78ca7393)]:
112
+ - @mastra/core@1.0.0-beta.10
113
+ - @mastra/observability@1.0.0-beta.4
114
+
115
+ ## 1.0.0-beta.4
116
+
117
+ ### Patch Changes
118
+
119
+ - Add agentId and agentName attributes to MODEL_GENERATION spans. This allows users to correlate gen_ai.usage metrics with specific agents when analyzing LLM operation spans. The attributes are exported as gen_ai.agent.id and gen_ai.agent.name in the OtelExporter. ([#10984](https://github.com/mastra-ai/mastra/pull/10984))
120
+
121
+ - Updated dependencies [[`72df8ae`](https://github.com/mastra-ai/mastra/commit/72df8ae595584cdd7747d5c39ffaca45e4507227), [`9198899`](https://github.com/mastra-ai/mastra/commit/91988995c427b185c33714b7f3be955367911324), [`653e65a`](https://github.com/mastra-ai/mastra/commit/653e65ae1f9502c2958a32f47a5a2df11e612a92), [`c6fd6fe`](https://github.com/mastra-ai/mastra/commit/c6fd6fedd09e9cf8004b03a80925f5e94826ad7e), [`0bed332`](https://github.com/mastra-ai/mastra/commit/0bed332843f627202c6520eaf671771313cd20f3)]:
122
+ - @mastra/core@1.0.0-beta.9
123
+
124
+ ## 1.0.0-beta.3
125
+
126
+ ### Patch Changes
127
+
128
+ - Updated OtelExporters, Bridge, and Arize packages to better implement GenAI v1.38.0 Otel Semantic Conventions. See: ([#10591](https://github.com/mastra-ai/mastra/pull/10591))
129
+ https://github.com/open-telemetry/semantic-conventions/blob/v1.38.0/docs/gen-ai/README.md
130
+
131
+ - feat(observability): Add tags support to OtelExporter, OtelBridge, and ArizeExporter ([#10843](https://github.com/mastra-ai/mastra/pull/10843))
132
+
133
+ This change adds support for the `tracingOptions.tags` feature to the OpenTelemetry-based exporters and bridge. Tags are now included as span attributes when present on root spans, following the same pattern as Braintrust and Langfuse exporters.
134
+
135
+ **Changes:**
136
+ - **OtelExporter**: Tags are now included as `mastra.tags` span attribute for root spans
137
+ - **OtelBridge**: Tags flow through the SpanConverter and are included in native OTEL spans as `mastra.tags`
138
+ - **ArizeExporter**: Tags are mapped to the native OpenInference `tag.tags` semantic convention
139
+
140
+ **Implementation Details:**
141
+ - Tags are only included on root spans (by design)
142
+ - Tags are stored as JSON-stringified arrays for maximum backend compatibility (many OTEL backends have limited native array support)
143
+ - Empty or undefined tag arrays are not included in span attributes
144
+
145
+ **Usage:**
146
+
147
+ ```typescript
148
+ const result = await agent.generate({
149
+ messages: [{ role: 'user', content: 'Hello' }],
150
+ tracingOptions: {
151
+ tags: ['production', 'experiment-v2'],
152
+ },
153
+ });
154
+ ```
155
+
156
+ Fixes #10771
157
+
158
+ - Updated dependencies [[`6c59a40`](https://github.com/mastra-ai/mastra/commit/6c59a40e0ad160467bd13d63a8a287028d75b02d), [`3076c67`](https://github.com/mastra-ai/mastra/commit/3076c6778b18988ae7d5c4c5c466366974b2d63f), [`85d7ee1`](https://github.com/mastra-ai/mastra/commit/85d7ee18ff4e14d625a8a30ec6656bb49804989b), [`c6c1092`](https://github.com/mastra-ai/mastra/commit/c6c1092f8fbf76109303f69e000e96fd1960c4ce), [`81dc110`](https://github.com/mastra-ai/mastra/commit/81dc11008d147cf5bdc8996ead1aa61dbdebb6fc), [`7aedb74`](https://github.com/mastra-ai/mastra/commit/7aedb74883adf66af38e270e4068fd42e7a37036), [`8f02d80`](https://github.com/mastra-ai/mastra/commit/8f02d800777397e4b45d7f1ad041988a8b0c6630), [`d7aad50`](https://github.com/mastra-ai/mastra/commit/d7aad501ce61646b76b4b511e558ac4eea9884d0), [`ce0a73a`](https://github.com/mastra-ai/mastra/commit/ce0a73abeaa75b10ca38f9e40a255a645d50ebfb), [`a02e542`](https://github.com/mastra-ai/mastra/commit/a02e542d23179bad250b044b17ff023caa61739f), [`a372c64`](https://github.com/mastra-ai/mastra/commit/a372c640ad1fd12e8f0613cebdc682fc156b4d95), [`8846867`](https://github.com/mastra-ai/mastra/commit/8846867ffa9a3746767618e314bebac08eb77d87), [`0bada2f`](https://github.com/mastra-ai/mastra/commit/0bada2f2c1234932cf30c1c47a719ffb64b801c5), [`42a42cf`](https://github.com/mastra-ai/mastra/commit/42a42cf3132b9786feecbb8c13c583dce5b0e198), [`cc60ff6`](https://github.com/mastra-ai/mastra/commit/cc60ff616541a3b0fb531a7e469bf9ae7bb90528), [`ae08bf0`](https://github.com/mastra-ai/mastra/commit/ae08bf0ebc6a4e4da992b711c4a389c32ba84cf4), [`21735a7`](https://github.com/mastra-ai/mastra/commit/21735a7ef306963554a69a89b44f06c3bcd85141), [`1d877b8`](https://github.com/mastra-ai/mastra/commit/1d877b8d7b536a251c1a7a18db7ddcf4f68d6f8b)]:
159
+ - @mastra/observability@1.0.0-beta.3
160
+ - @mastra/core@1.0.0-beta.7
161
+
162
+ ## 1.0.0-beta.2
163
+
164
+ ### Minor Changes
165
+
166
+ - Adds bidirectional integration with otel tracing via a new @mastra/otel-bridge package. ([#10482](https://github.com/mastra-ai/mastra/pull/10482))
167
+
168
+ ### Patch Changes
169
+
170
+ - Updated dependencies [[`ac0d2f4`](https://github.com/mastra-ai/mastra/commit/ac0d2f4ff8831f72c1c66c2be809706d17f65789), [`1a0d3fc`](https://github.com/mastra-ai/mastra/commit/1a0d3fc811482c9c376cdf79ee615c23bae9b2d6), [`85a628b`](https://github.com/mastra-ai/mastra/commit/85a628b1224a8f64cd82ea7f033774bf22df7a7e), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`15f9e21`](https://github.com/mastra-ai/mastra/commit/15f9e216177201ea6e3f6d0bfb063fcc0953444f), [`ff94dea`](https://github.com/mastra-ai/mastra/commit/ff94dea935f4e34545c63bcb6c29804732698809), [`5b2ff46`](https://github.com/mastra-ai/mastra/commit/5b2ff4651df70c146523a7fca773f8eb0a2272f8), [`db41688`](https://github.com/mastra-ai/mastra/commit/db4168806d007417e2e60b4f68656dca4e5f40c9), [`103586c`](https://github.com/mastra-ai/mastra/commit/103586cb23ebcd2466c7f68a71674d37cc10e263), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`bff1145`](https://github.com/mastra-ai/mastra/commit/bff114556b3cbadad9b2768488708f8ad0e91475), [`5c8ca24`](https://github.com/mastra-ai/mastra/commit/5c8ca247094e0cc2cdbd7137822fb47241f86e77), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`22553f1`](https://github.com/mastra-ai/mastra/commit/22553f11c63ee5e966a9c034a349822249584691), [`7237163`](https://github.com/mastra-ai/mastra/commit/72371635dbf96a87df4b073cc48fc655afbdce3d), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`873ecbb`](https://github.com/mastra-ai/mastra/commit/873ecbb517586aa17d2f1e99283755b3ebb2863f), [`4f9bbe5`](https://github.com/mastra-ai/mastra/commit/4f9bbe5968f42c86f4930b8193de3c3c17e5bd36), [`02e51fe`](https://github.com/mastra-ai/mastra/commit/02e51feddb3d4155cfbcc42624fd0d0970d032c0), [`8f3fa3a`](https://github.com/mastra-ai/mastra/commit/8f3fa3a652bb77da092f913ec51ae46e3a7e27dc), [`cd29ad2`](https://github.com/mastra-ai/mastra/commit/cd29ad23a255534e8191f249593849ed29160886), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`854e3da`](https://github.com/mastra-ai/mastra/commit/854e3dad5daac17a91a20986399d3a51f54bf68b), [`ce18d38`](https://github.com/mastra-ai/mastra/commit/ce18d38678c65870350d123955014a8432075fd9), [`cccf9c8`](https://github.com/mastra-ai/mastra/commit/cccf9c8b2d2dfc1a5e63919395b83d78c89682a0), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`f0fdc14`](https://github.com/mastra-ai/mastra/commit/f0fdc14ee233d619266b3d2bbdeea7d25cfc6d13), [`db18bc9`](https://github.com/mastra-ai/mastra/commit/db18bc9c3825e2c1a0ad9a183cc9935f6691bfa1), [`9b37b56`](https://github.com/mastra-ai/mastra/commit/9b37b565e1f2a76c24f728945cc740c2b09be9da), [`41a23c3`](https://github.com/mastra-ai/mastra/commit/41a23c32f9877d71810f37e24930515df2ff7a0f), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`d1e74a0`](https://github.com/mastra-ai/mastra/commit/d1e74a0a293866dece31022047f5dbab65a304d0), [`39e7869`](https://github.com/mastra-ai/mastra/commit/39e7869bc7d0ee391077ce291474d8a84eedccff), [`5761926`](https://github.com/mastra-ai/mastra/commit/57619260c4a2cdd598763abbacd90de594c6bc76), [`c900fdd`](https://github.com/mastra-ai/mastra/commit/c900fdd504c41348efdffb205cfe80d48c38fa33), [`604a79f`](https://github.com/mastra-ai/mastra/commit/604a79fecf276e26a54a3fe01bb94e65315d2e0e), [`887f0b4`](https://github.com/mastra-ai/mastra/commit/887f0b4746cdbd7cb7d6b17ac9f82aeb58037ea5), [`2562143`](https://github.com/mastra-ai/mastra/commit/256214336b4faa78646c9c1776612393790d8784), [`ef11a61`](https://github.com/mastra-ai/mastra/commit/ef11a61920fa0ed08a5b7ceedd192875af119749)]:
171
+ - @mastra/core@1.0.0-beta.6
172
+ - @mastra/observability@1.0.0-beta.2
173
+
174
+ ## 1.0.0-beta.1
175
+
176
+ ### Patch Changes
177
+
178
+ - Updated dependencies [[`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`a64d16a`](https://github.com/mastra-ai/mastra/commit/a64d16aedafe57ee5707bdcc25f96e07fa1a0233), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`ad6250d`](https://github.com/mastra-ai/mastra/commit/ad6250dbdaad927e29f74a27b83f6c468b50a705), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`e1bb9c9`](https://github.com/mastra-ai/mastra/commit/e1bb9c94b4eb68b019ae275981be3feb769b5365), [`351a11f`](https://github.com/mastra-ai/mastra/commit/351a11fcaf2ed1008977fa9b9a489fc422e51cd4)]:
179
+ - @mastra/core@1.0.0-beta.3
180
+ - @mastra/observability@1.0.0-beta.1
181
+
3
182
  ## 1.0.0-beta.0
4
183
 
5
184
  ### Major Changes
package/README.md CHANGED
@@ -359,7 +359,7 @@ Spans are named following OTEL conventions:
359
359
 
360
360
  - **LLM Operations**: `chat {model}` or `tool_selection {model}`
361
361
  - **Tool Execution**: `tool.execute {tool_name}`
362
- - **Agent Runs**: `agent.{agent_id}`
362
+ - **Agent Runs**: `invoke_agent {agent_name}`
363
363
  - **Workflow Runs**: `workflow.{workflow_id}`
364
364
 
365
365
  ### Attributes
@@ -369,7 +369,7 @@ The exporter maps Mastra's tracing data to OTEL-compliant attributes:
369
369
  #### Core Attributes
370
370
 
371
371
  - `gen_ai.operation.name` - Operation type (chat, tool.execute, agent.run, workflow.run)
372
- - `gen_ai.system` - AI provider (openai, anthropic, etc.)
372
+ - `gen_ai.provider.name` - AI provider (openai, anthropic, etc.)
373
373
  - `gen_ai.request.model` - Model identifier
374
374
 
375
375
  #### LLM-Specific Attributes
@@ -382,8 +382,12 @@ The exporter maps Mastra's tracing data to OTEL-compliant attributes:
382
382
  - `gen_ai.request.top_p` - Top-p sampling parameter
383
383
  - `gen_ai.request.top_k` - Top-k sampling parameter
384
384
  - `gen_ai.response.finish_reasons` - Reason for completion
385
+ - `gen_ai.response.model` - Actual model used in response (may differ from request)
386
+ - `gen_ai.response.id` - Unique response identifier
385
387
  - `gen_ai.prompt` - Input prompt (for Model spans)
386
388
  - `gen_ai.completion` - Model output (for Model spans)
389
+ - `server.address` - Server address for the model endpoint
390
+ - `server.port` - Server port for the model endpoint
387
391
 
388
392
  #### Tool Attributes
389
393
 
@@ -395,7 +399,10 @@ The exporter maps Mastra's tracing data to OTEL-compliant attributes:
395
399
 
396
400
  #### Agent & Workflow Attributes
397
401
 
398
- - `agent.id` - Agent identifier
402
+ - `gen_ai.agent.id` - Agent identifier
403
+ - `gen_ai.agent.name` - Human-readable agent name
404
+ - `gen_ai.conversation.id` - Conversation/thread/session identifier
405
+ - `agent.id` - Agent identifier (also included for compatibility)
399
406
  - `agent.max_steps` - Maximum agent steps
400
407
  - `workflow.id` - Workflow identifier
401
408
  - `workflow.status` - Workflow execution status
@@ -407,6 +414,43 @@ The exporter maps Mastra's tracing data to OTEL-compliant attributes:
407
414
  - `error.message` - Error description
408
415
  - `error.domain` - Error domain/category
409
416
 
417
+ ### Opt-In Content Attributes
418
+
419
+ For enhanced observability, you can enable additional content attributes that capture detailed message data. These attributes may contain sensitive information and should only be enabled with proper consent and security considerations.
420
+
421
+ To enable content attributes:
422
+
423
+ ```typescript
424
+ new OtelExporter({
425
+ provider: {
426
+ /* your provider config */
427
+ },
428
+ genAiConventions: {
429
+ includeContentAttributes: true, // Default: false
430
+ },
431
+ });
432
+ ```
433
+
434
+ When enabled, the following additional attributes are captured:
435
+
436
+ #### Model Content Attributes
437
+
438
+ - `gen_ai.input.messages` - Structured input messages in OpenTelemetry format
439
+ - `gen_ai.output.messages` - Structured output messages in OpenTelemetry format
440
+
441
+ These attributes convert Mastra's message format to the OpenTelemetry GenAI standard message schema, providing detailed conversation history and tool interactions.
442
+
443
+ #### Agent Content Attributes
444
+
445
+ - `gen_ai.system_instructions` - Agent system instructions/prompts
446
+
447
+ **Privacy Considerations:**
448
+
449
+ - These attributes may contain user data, prompts, and model responses
450
+ - Only enable in environments where data privacy and compliance requirements are met
451
+ - Consider using span processors to filter sensitive data before export
452
+ - Review your organization's data retention and privacy policies before enabling
453
+
410
454
  ## Troubleshooting
411
455
 
412
456
  ### Missing Dependency Error
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Utilities for converting Mastra messages to OpenTelemetry gen_ai message format
3
+ * Based on OpenTelemetry GenAI semantic conventions
4
+ * @see https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-input-messages
5
+ * @see https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-input-messages.json
6
+ */
7
+ /**
8
+ * Convert an Input/Output string from a MastraSpan into a jsonified string that adheres to
9
+ * OpenTelemetry gen_ai.input.messages and gen_ai.output.messages schema.
10
+ * If parsing fails at any step, the original inputOutputString is returned unmodified.
11
+ *
12
+ * This conversion is best effort; It assumes a consistent shape for mastra messages, and converts
13
+ * into the gen_ai input and output schemas as of October 20th, 2025.
14
+ *
15
+ * @see https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-input-messages
16
+ * @see https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-input-messages.json
17
+ * @see https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-output-messages
18
+ * @see https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-output-messages.json
19
+ *
20
+ * @param inputOutputString a jsonified string that contains messages adhering to what appears to be
21
+ * Mastra's message shape.
22
+ * @returns a jsonified string that contains messages adhering to the OpenTelemetry gen_ai.input.messages and gen_ai.output.messages schema.
23
+ * If parsing fails at any step, the original inputOutputString is returned unmodified.
24
+ */
25
+ export declare const convertMastraMessagesToGenAIMessages: (inputOutputString: string) => string;
26
+ //# sourceMappingURL=gen-ai-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen-ai-messages.d.ts","sourceRoot":"","sources":["../src/gen-ai-messages.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oCAAoC,GAAI,mBAAmB,MAAM,KAAG,MAyEhF,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Utilities for converting Mastra Spans to OTel Spans
3
+ * with Semantic conventions for generative AI systems
4
+ * @see https://github.com/open-telemetry/semantic-conventions/blob/v1.38.0/docs/gen-ai/README.md
5
+ * @see https://github.com/open-telemetry/semantic-conventions/blob/v1.38.0/docs/gen-ai/gen-ai-events.md
6
+ * @see https://github.com/open-telemetry/semantic-conventions/blob/v1.38.0/docs/gen-ai/gen-ai-spans.md
7
+ * @see https://github.com/open-telemetry/semantic-conventions/blob/v1.38.0/docs/gen-ai/gen-ai-agent-spans.md
8
+ * @see https://opentelemetry.io/docs/specs/semconv/gen-ai/non-normative/examples-llm-calls/
9
+ * @see https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/
10
+ */
11
+ import type { AnyExportedSpan, UsageStats } from '@mastra/core/observability';
12
+ import type { Attributes } from '@opentelemetry/api';
13
+ import { ATTR_GEN_AI_USAGE_INPUT_TOKENS, ATTR_GEN_AI_USAGE_OUTPUT_TOKENS } from '@opentelemetry/semantic-conventions/incubating';
14
+ /**
15
+ * Token usage attributes following OTel GenAI semantic conventions.
16
+ * @see https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-spans/
17
+ */
18
+ export interface OtelUsageMetrics {
19
+ [ATTR_GEN_AI_USAGE_INPUT_TOKENS]?: number;
20
+ [ATTR_GEN_AI_USAGE_OUTPUT_TOKENS]?: number;
21
+ 'gen_ai.usage.reasoning_tokens'?: number;
22
+ 'gen_ai.usage.cached_input_tokens'?: number;
23
+ 'gen_ai.usage.cache_write_tokens'?: number;
24
+ 'gen_ai.usage.audio_input_tokens'?: number;
25
+ 'gen_ai.usage.audio_output_tokens'?: number;
26
+ }
27
+ /**
28
+ * Formats UsageStats to OTel GenAI semantic convention attributes.
29
+ */
30
+ export declare function formatUsageMetrics(usage?: UsageStats): OtelUsageMetrics;
31
+ /**
32
+ * Get an OTEL-compliant span name based on span type and attributes
33
+ */
34
+ export declare function getSpanName(span: AnyExportedSpan): string;
35
+ /**
36
+ * Gets OpenTelemetry attributes from Mastra Span
37
+ * Following OTEL Semantic Conventions for GenAI
38
+ */
39
+ export declare function getAttributes(span: AnyExportedSpan): Attributes;
40
+ //# sourceMappingURL=gen-ai-semantics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen-ai-semantics.d.ts","sourceRoot":"","sources":["../src/gen-ai-semantics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAEV,eAAe,EAIf,UAAU,EACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAgBL,8BAA8B,EAC9B,+BAA+B,EAYhC,MAAM,gDAAgD,CAAC;AAGxD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,8BAA8B,CAAC,CAAC,EAAE,MAAM,CAAC;IAC1C,CAAC,+BAA+B,CAAC,CAAC,EAAE,MAAM,CAAC;IAC3C,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,kCAAkC,CAAC,EAAE,MAAM,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAqCvE;AAuCD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAUzD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,UAAU,CA+K/D"}