@mastra/otel-exporter 0.0.0-add-crumb-action-20251028105537

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 ADDED
@@ -0,0 +1,177 @@
1
+ # @mastra/otel-exporter
2
+
3
+ ## 0.0.0-add-crumb-action-20251028105537
4
+
5
+ ### Minor Changes
6
+
7
+ - Rename LLM span types and attributes to use Model prefix ([#9105](https://github.com/mastra-ai/mastra/pull/9105))
8
+
9
+ BREAKING CHANGE: This release renames AI tracing span types and attribute interfaces to use the "Model" prefix instead of "LLM":
10
+ - `AISpanType.LLM_GENERATION` → `AISpanType.MODEL_GENERATION`
11
+ - `AISpanType.LLM_STEP` → `AISpanType.MODEL_STEP`
12
+ - `AISpanType.LLM_CHUNK` → `AISpanType.MODEL_CHUNK`
13
+ - `LLMGenerationAttributes` → `ModelGenerationAttributes`
14
+ - `LLMStepAttributes` → `ModelStepAttributes`
15
+ - `LLMChunkAttributes` → `ModelChunkAttributes`
16
+ - `InternalSpans.LLM` → `InternalSpans.MODEL`
17
+
18
+ This change better reflects that these span types apply to all AI models, not just Large Language Models.
19
+
20
+ Migration guide:
21
+ - Update all imports: `import { ModelGenerationAttributes } from '@mastra/core/ai-tracing'`
22
+ - Update span type references: `AISpanType.MODEL_GENERATION`
23
+ - Update InternalSpans usage: `InternalSpans.MODEL`
24
+
25
+ ### Patch Changes
26
+
27
+ - Fixed import isssues in exporters. ([#9316](https://github.com/mastra-ai/mastra/pull/9316))
28
+
29
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
30
+
31
+ - Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
32
+ - @mastra/core@0.0.0-add-crumb-action-20251028105537
33
+
34
+ ## 0.2.0
35
+
36
+ ### Minor Changes
37
+
38
+ - feat(otel-exporter): Add customizable 'exporter' constructor parameter ([#8827](https://github.com/mastra-ai/mastra/pull/8827))
39
+
40
+ You can now pass in an instantiated `TraceExporter` inheriting class into `OtelExporter`.
41
+ This will circumvent the default package detection, no longer instantiating a `TraceExporter`
42
+ automatically if one is instead passed in to the `OtelExporter` constructor.
43
+
44
+ feat(arize): Initial release of @mastra/arize observability package
45
+
46
+ The `@mastra/arize` package exports an `ArizeExporter` class that can be used to easily send AI
47
+ traces from Mastra to Arize AX, Arize Phoenix, or any OpenInference compatible collector.
48
+ It sends traces uses `BatchSpanProcessor` over OTLP connections.
49
+ It leverages the `@mastra/otel-exporter` package, reusing `OtelExporter` for transmission and
50
+ span management.
51
+ See the README in `observability/arize/README.md` for more details
52
+
53
+ ### Patch Changes
54
+
55
+ - fix(observability): Add ParentSpanContext to MastraSpan's with parentage ([#9085](https://github.com/mastra-ai/mastra/pull/9085))
56
+
57
+ - Update peerdeps to 0.23.0-0 ([#9043](https://github.com/mastra-ai/mastra/pull/9043))
58
+
59
+ - Updated dependencies [[`c67ca32`](https://github.com/mastra-ai/mastra/commit/c67ca32e3c2cf69bfc146580770c720220ca44ac), [`efb5ed9`](https://github.com/mastra-ai/mastra/commit/efb5ed946ae7f410bc68c9430beb4b010afd25ec), [`dbc9e12`](https://github.com/mastra-ai/mastra/commit/dbc9e1216ba575ba59ead4afb727a01215f7de4f), [`99e41b9`](https://github.com/mastra-ai/mastra/commit/99e41b94957cdd25137d3ac12e94e8b21aa01b68), [`c28833c`](https://github.com/mastra-ai/mastra/commit/c28833c5b6d8e10eeffd7f7d39129d53b8bca240), [`8ea07b4`](https://github.com/mastra-ai/mastra/commit/8ea07b4bdc73e4218437dbb6dcb0f4b23e745a44), [`ba201b8`](https://github.com/mastra-ai/mastra/commit/ba201b8f8feac4c72350f2dbd52c13c7297ba7b0), [`f053e89`](https://github.com/mastra-ai/mastra/commit/f053e89160dbd0bd3333fc3492f68231b5c7c349), [`4fc4136`](https://github.com/mastra-ai/mastra/commit/4fc413652866a8d2240694fddb2562e9edbb70df), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`d10baf5`](https://github.com/mastra-ai/mastra/commit/d10baf5a3c924f2a6654e23a3e318ed03f189b76), [`038c55a`](https://github.com/mastra-ai/mastra/commit/038c55a7090fc1b1513a966386d3072617f836ac), [`182f045`](https://github.com/mastra-ai/mastra/commit/182f0458f25bd70aa774e64fd923c8a483eddbf1), [`9a1a485`](https://github.com/mastra-ai/mastra/commit/9a1a4859b855e37239f652bf14b1ecd1029b8c4e), [`9257233`](https://github.com/mastra-ai/mastra/commit/9257233c4ffce09b2bedc2a9adbd70d7a83fa8e2), [`7620d2b`](https://github.com/mastra-ai/mastra/commit/7620d2bddeb4fae4c3c0a0b4e672969795fca11a), [`b2365f0`](https://github.com/mastra-ai/mastra/commit/b2365f038dd4c5f06400428b224af963f399ad50), [`0f1a4c9`](https://github.com/mastra-ai/mastra/commit/0f1a4c984fb4b104b2f0b63ba18c9fa77f567700), [`9029ba3`](https://github.com/mastra-ai/mastra/commit/9029ba34459c8859fed4c6b73efd8e2d0021e7ba), [`426cc56`](https://github.com/mastra-ai/mastra/commit/426cc561c85ae76a112ded2385532a91f9f9f074), [`00931fb`](https://github.com/mastra-ai/mastra/commit/00931fb1a21aa42c4fbc20c2c40dd62466b8fc8f), [`e473bfe`](https://github.com/mastra-ai/mastra/commit/e473bfe416c0b8e876973c2b6a6f13c394b7a93f), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`2db6160`](https://github.com/mastra-ai/mastra/commit/2db6160e2022ff8827c15d30157e684683b934b5), [`8aeea37`](https://github.com/mastra-ai/mastra/commit/8aeea37efdde347c635a67fed56794943b7f74ec), [`02fe153`](https://github.com/mastra-ai/mastra/commit/02fe15351d6021d214da48ec982a0e9e4150bcee), [`648e2ca`](https://github.com/mastra-ai/mastra/commit/648e2ca42da54838c6ccbdaadc6fadd808fa6b86), [`74567b3`](https://github.com/mastra-ai/mastra/commit/74567b3d237ae3915cd0bca3cf55fa0a64e4e4a4), [`b65c5e0`](https://github.com/mastra-ai/mastra/commit/b65c5e0fe6f3c390a9a8bbcf69304d972c3a4afb), [`15a1733`](https://github.com/mastra-ai/mastra/commit/15a1733074cee8bd37370e1af34cd818e89fa7ac), [`fc2a774`](https://github.com/mastra-ai/mastra/commit/fc2a77468981aaddc3e77f83f0c4ad4a4af140da), [`4e08933`](https://github.com/mastra-ai/mastra/commit/4e08933625464dfde178347af5b6278fcf34188e)]:
60
+ - @mastra/core@0.22.0
61
+
62
+ ## 0.2.0-alpha.0
63
+
64
+ ### Minor Changes
65
+
66
+ - feat(otel-exporter): Add customizable 'exporter' constructor parameter ([#8827](https://github.com/mastra-ai/mastra/pull/8827))
67
+
68
+ You can now pass in an instantiated `TraceExporter` inheriting class into `OtelExporter`.
69
+ This will circumvent the default package detection, no longer instantiating a `TraceExporter`
70
+ automatically if one is instead passed in to the `OtelExporter` constructor.
71
+
72
+ feat(arize): Initial release of @mastra/arize observability package
73
+
74
+ The `@mastra/arize` package exports an `ArizeExporter` class that can be used to easily send AI
75
+ traces from Mastra to Arize AX, Arize Phoenix, or any OpenInference compatible collector.
76
+ It sends traces uses `BatchSpanProcessor` over OTLP connections.
77
+ It leverages the `@mastra/otel-exporter` package, reusing `OtelExporter` for transmission and
78
+ span management.
79
+ See the README in `observability/arize/README.md` for more details
80
+
81
+ ### Patch Changes
82
+
83
+ - fix(observability): Add ParentSpanContext to MastraSpan's with parentage ([#9085](https://github.com/mastra-ai/mastra/pull/9085))
84
+
85
+ - Update peerdeps to 0.23.0-0 ([#9043](https://github.com/mastra-ai/mastra/pull/9043))
86
+
87
+ - Updated dependencies [[`efb5ed9`](https://github.com/mastra-ai/mastra/commit/efb5ed946ae7f410bc68c9430beb4b010afd25ec), [`8ea07b4`](https://github.com/mastra-ai/mastra/commit/8ea07b4bdc73e4218437dbb6dcb0f4b23e745a44), [`ba201b8`](https://github.com/mastra-ai/mastra/commit/ba201b8f8feac4c72350f2dbd52c13c7297ba7b0), [`4fc4136`](https://github.com/mastra-ai/mastra/commit/4fc413652866a8d2240694fddb2562e9edbb70df), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`d10baf5`](https://github.com/mastra-ai/mastra/commit/d10baf5a3c924f2a6654e23a3e318ed03f189b76), [`038c55a`](https://github.com/mastra-ai/mastra/commit/038c55a7090fc1b1513a966386d3072617f836ac), [`182f045`](https://github.com/mastra-ai/mastra/commit/182f0458f25bd70aa774e64fd923c8a483eddbf1), [`7620d2b`](https://github.com/mastra-ai/mastra/commit/7620d2bddeb4fae4c3c0a0b4e672969795fca11a), [`b2365f0`](https://github.com/mastra-ai/mastra/commit/b2365f038dd4c5f06400428b224af963f399ad50), [`9029ba3`](https://github.com/mastra-ai/mastra/commit/9029ba34459c8859fed4c6b73efd8e2d0021e7ba), [`426cc56`](https://github.com/mastra-ai/mastra/commit/426cc561c85ae76a112ded2385532a91f9f9f074), [`00931fb`](https://github.com/mastra-ai/mastra/commit/00931fb1a21aa42c4fbc20c2c40dd62466b8fc8f), [`e473bfe`](https://github.com/mastra-ai/mastra/commit/e473bfe416c0b8e876973c2b6a6f13c394b7a93f), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`648e2ca`](https://github.com/mastra-ai/mastra/commit/648e2ca42da54838c6ccbdaadc6fadd808fa6b86), [`b65c5e0`](https://github.com/mastra-ai/mastra/commit/b65c5e0fe6f3c390a9a8bbcf69304d972c3a4afb)]:
88
+ - @mastra/core@0.22.0-alpha.1
89
+
90
+ ## 0.1.0
91
+
92
+ ### Minor Changes
93
+
94
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8623](https://github.com/mastra-ai/mastra/pull/8623))
95
+
96
+ ### Patch Changes
97
+
98
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8619](https://github.com/mastra-ai/mastra/pull/8619))
99
+
100
+ - Added tracing of input & output processors (this includes using structuredOutput) ([#8623](https://github.com/mastra-ai/mastra/pull/8623))
101
+
102
+ - Add `resourceAttributes` to `OtelExporterConfig` so that attributes like `deployment.environment` can be set in the new OpenTelemetry exporter. ([#8700](https://github.com/mastra-ai/mastra/pull/8700))
103
+
104
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8557](https://github.com/mastra-ai/mastra/pull/8557))
105
+
106
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8626](https://github.com/mastra-ai/mastra/pull/8626))
107
+
108
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8686](https://github.com/mastra-ai/mastra/pull/8686))
109
+
110
+ - Updated dependencies [[`1ed9670`](https://github.com/mastra-ai/mastra/commit/1ed9670d3ca50cb60dc2e517738c5eef3968ed27), [`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`f59fc1e`](https://github.com/mastra-ai/mastra/commit/f59fc1e406b8912e692f6bff6cfd4754cc8d165c), [`158381d`](https://github.com/mastra-ai/mastra/commit/158381d39335be934b81ef8a1947bccace492c25), [`a1799bc`](https://github.com/mastra-ai/mastra/commit/a1799bcc1b5a1cdc188f2ac0165f17a1c4ac6f7b), [`6ff6094`](https://github.com/mastra-ai/mastra/commit/6ff60946f4ecfebdeef6e21d2b230c2204f2c9b8), [`fb703b9`](https://github.com/mastra-ai/mastra/commit/fb703b9634eeaff1a6eb2b5531ce0f9e8fb04727), [`37a2314`](https://github.com/mastra-ai/mastra/commit/37a23148e0e5a3b40d4f9f098b194671a8a49faf), [`7b1ef57`](https://github.com/mastra-ai/mastra/commit/7b1ef57fc071c2aa2a2e32905b18cd88719c5a39), [`05a9dee`](https://github.com/mastra-ai/mastra/commit/05a9dee3d355694d28847bfffb6289657fcf7dfa), [`e3c1077`](https://github.com/mastra-ai/mastra/commit/e3c107763aedd1643d3def5df450c235da9ff76c), [`1908ca0`](https://github.com/mastra-ai/mastra/commit/1908ca0521f90e43779cc29ab590173ca560443c), [`1bccdb3`](https://github.com/mastra-ai/mastra/commit/1bccdb33eb90cbeba2dc5ece1c2561fb774b26b6), [`5ef944a`](https://github.com/mastra-ai/mastra/commit/5ef944a3721d93105675cac2b2311432ff8cc393), [`d6b186f`](https://github.com/mastra-ai/mastra/commit/d6b186fb08f1caf1b86f73d3a5ee88fb999ca3be), [`ee68e82`](https://github.com/mastra-ai/mastra/commit/ee68e8289ea4408d29849e899bc6e78b3bd4e843), [`228228b`](https://github.com/mastra-ai/mastra/commit/228228b0b1de9291cb8887587f5cea1a8757ebad), [`ea33930`](https://github.com/mastra-ai/mastra/commit/ea339301e82d6318257720d811b043014ee44064), [`65493b3`](https://github.com/mastra-ai/mastra/commit/65493b31c36f6fdb78f9679f7e1ecf0c250aa5ee), [`a998b8f`](https://github.com/mastra-ai/mastra/commit/a998b8f858091c2ec47683e60766cf12d03001e4), [`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`8a37bdd`](https://github.com/mastra-ai/mastra/commit/8a37bddb6d8614a32c5b70303d583d80c620ea61), [`135d6f2`](https://github.com/mastra-ai/mastra/commit/135d6f22a326ed1dffff858700669dff09d2c9eb)]:
111
+ - @mastra/core@0.21.0
112
+
113
+ ## 0.1.0-alpha.1
114
+
115
+ ### Minor Changes
116
+
117
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8623](https://github.com/mastra-ai/mastra/pull/8623))
118
+
119
+ ### Patch Changes
120
+
121
+ - Added tracing of input & output processors (this includes using structuredOutput) ([#8623](https://github.com/mastra-ai/mastra/pull/8623))
122
+
123
+ - Add `resourceAttributes` to `OtelExporterConfig` so that attributes like `deployment.environment` can be set in the new OpenTelemetry exporter. ([#8700](https://github.com/mastra-ai/mastra/pull/8700))
124
+
125
+ - Updated dependencies [[`1ed9670`](https://github.com/mastra-ai/mastra/commit/1ed9670d3ca50cb60dc2e517738c5eef3968ed27), [`158381d`](https://github.com/mastra-ai/mastra/commit/158381d39335be934b81ef8a1947bccace492c25), [`fb703b9`](https://github.com/mastra-ai/mastra/commit/fb703b9634eeaff1a6eb2b5531ce0f9e8fb04727), [`37a2314`](https://github.com/mastra-ai/mastra/commit/37a23148e0e5a3b40d4f9f098b194671a8a49faf), [`05a9dee`](https://github.com/mastra-ai/mastra/commit/05a9dee3d355694d28847bfffb6289657fcf7dfa), [`e3c1077`](https://github.com/mastra-ai/mastra/commit/e3c107763aedd1643d3def5df450c235da9ff76c), [`1bccdb3`](https://github.com/mastra-ai/mastra/commit/1bccdb33eb90cbeba2dc5ece1c2561fb774b26b6), [`5ef944a`](https://github.com/mastra-ai/mastra/commit/5ef944a3721d93105675cac2b2311432ff8cc393), [`d6b186f`](https://github.com/mastra-ai/mastra/commit/d6b186fb08f1caf1b86f73d3a5ee88fb999ca3be), [`65493b3`](https://github.com/mastra-ai/mastra/commit/65493b31c36f6fdb78f9679f7e1ecf0c250aa5ee), [`a998b8f`](https://github.com/mastra-ai/mastra/commit/a998b8f858091c2ec47683e60766cf12d03001e4), [`8a37bdd`](https://github.com/mastra-ai/mastra/commit/8a37bddb6d8614a32c5b70303d583d80c620ea61)]:
126
+ - @mastra/core@0.21.0-alpha.1
127
+
128
+ ## 0.0.4-alpha.0
129
+
130
+ ### Patch Changes
131
+
132
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8619](https://github.com/mastra-ai/mastra/pull/8619))
133
+
134
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8557](https://github.com/mastra-ai/mastra/pull/8557))
135
+
136
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8626](https://github.com/mastra-ai/mastra/pull/8626))
137
+
138
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8686](https://github.com/mastra-ai/mastra/pull/8686))
139
+
140
+ - Updated dependencies [[`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`7b1ef57`](https://github.com/mastra-ai/mastra/commit/7b1ef57fc071c2aa2a2e32905b18cd88719c5a39), [`ee68e82`](https://github.com/mastra-ai/mastra/commit/ee68e8289ea4408d29849e899bc6e78b3bd4e843), [`228228b`](https://github.com/mastra-ai/mastra/commit/228228b0b1de9291cb8887587f5cea1a8757ebad), [`ea33930`](https://github.com/mastra-ai/mastra/commit/ea339301e82d6318257720d811b043014ee44064), [`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`135d6f2`](https://github.com/mastra-ai/mastra/commit/135d6f22a326ed1dffff858700669dff09d2c9eb), [`59d036d`](https://github.com/mastra-ai/mastra/commit/59d036d4c2706b430b0e3f1f1e0ee853ce16ca04)]:
141
+ - @mastra/core@0.21.0-alpha.0
142
+
143
+ ## 0.0.3
144
+
145
+ ### Patch Changes
146
+
147
+ - Breaking change to move the agent.streamVNext/generateVNext implementation to the default stream/generate. The old stream/generate have now been moved to streamLegacy and generateLegacy ([#8097](https://github.com/mastra-ai/mastra/pull/8097))
148
+
149
+ - Updated dependencies [[`00cb6bd`](https://github.com/mastra-ai/mastra/commit/00cb6bdf78737c0fac14a5a0c7b532a11e38558a), [`869ba22`](https://github.com/mastra-ai/mastra/commit/869ba222e1d6b58fc1b65e7c9fd55ca4e01b8c2f), [`1b73665`](https://github.com/mastra-ai/mastra/commit/1b73665e8e23f5c09d49fcf3e7d709c75259259e), [`f7d7475`](https://github.com/mastra-ai/mastra/commit/f7d747507341aef60ed39e4b49318db1f86034a6), [`084b77b`](https://github.com/mastra-ai/mastra/commit/084b77b2955960e0190af8db3f77138aa83ed65c), [`a93ff84`](https://github.com/mastra-ai/mastra/commit/a93ff84b5e1af07ee236ac8873dac9b49aa5d501), [`bc5aacb`](https://github.com/mastra-ai/mastra/commit/bc5aacb646d468d325327e36117129f28cd13bf6), [`6b5af12`](https://github.com/mastra-ai/mastra/commit/6b5af12ce9e09066e0c32e821c203a6954498bea), [`bf60e4a`](https://github.com/mastra-ai/mastra/commit/bf60e4a89c515afd9570b7b79f33b95e7d07c397), [`d41aee5`](https://github.com/mastra-ai/mastra/commit/d41aee526d124e35f42720a08e64043229193679), [`e8fe13c`](https://github.com/mastra-ai/mastra/commit/e8fe13c4b4c255a42520127797ec394310f7c919), [`3ca833d`](https://github.com/mastra-ai/mastra/commit/3ca833dc994c38e3c9b4f9b4478a61cd8e07b32a), [`1edb8d1`](https://github.com/mastra-ai/mastra/commit/1edb8d1cfb963e72a12412990fb9170936c9904c), [`fbf6e32`](https://github.com/mastra-ai/mastra/commit/fbf6e324946332d0f5ed8930bf9d4d4479cefd7a), [`4753027`](https://github.com/mastra-ai/mastra/commit/4753027ee889288775c6958bdfeda03ff909af67)]:
150
+ - @mastra/core@0.20.0
151
+
152
+ ## 0.0.3-alpha.0
153
+
154
+ ### Patch Changes
155
+
156
+ - Breaking change to move the agent.streamVNext/generateVNext implementation to the default stream/generate. The old stream/generate have now been moved to streamLegacy and generateLegacy ([#8097](https://github.com/mastra-ai/mastra/pull/8097))
157
+
158
+ - Updated dependencies [[`00cb6bd`](https://github.com/mastra-ai/mastra/commit/00cb6bdf78737c0fac14a5a0c7b532a11e38558a), [`869ba22`](https://github.com/mastra-ai/mastra/commit/869ba222e1d6b58fc1b65e7c9fd55ca4e01b8c2f), [`1b73665`](https://github.com/mastra-ai/mastra/commit/1b73665e8e23f5c09d49fcf3e7d709c75259259e), [`f7d7475`](https://github.com/mastra-ai/mastra/commit/f7d747507341aef60ed39e4b49318db1f86034a6), [`084b77b`](https://github.com/mastra-ai/mastra/commit/084b77b2955960e0190af8db3f77138aa83ed65c), [`a93ff84`](https://github.com/mastra-ai/mastra/commit/a93ff84b5e1af07ee236ac8873dac9b49aa5d501), [`bc5aacb`](https://github.com/mastra-ai/mastra/commit/bc5aacb646d468d325327e36117129f28cd13bf6), [`6b5af12`](https://github.com/mastra-ai/mastra/commit/6b5af12ce9e09066e0c32e821c203a6954498bea), [`bf60e4a`](https://github.com/mastra-ai/mastra/commit/bf60e4a89c515afd9570b7b79f33b95e7d07c397), [`d41aee5`](https://github.com/mastra-ai/mastra/commit/d41aee526d124e35f42720a08e64043229193679), [`e8fe13c`](https://github.com/mastra-ai/mastra/commit/e8fe13c4b4c255a42520127797ec394310f7c919), [`3ca833d`](https://github.com/mastra-ai/mastra/commit/3ca833dc994c38e3c9b4f9b4478a61cd8e07b32a), [`1edb8d1`](https://github.com/mastra-ai/mastra/commit/1edb8d1cfb963e72a12412990fb9170936c9904c), [`fbf6e32`](https://github.com/mastra-ai/mastra/commit/fbf6e324946332d0f5ed8930bf9d4d4479cefd7a), [`4753027`](https://github.com/mastra-ai/mastra/commit/4753027ee889288775c6958bdfeda03ff909af67)]:
159
+ - @mastra/core@0.20.0-alpha.0
160
+
161
+ ## 0.0.2
162
+
163
+ ### Patch Changes
164
+
165
+ - Initial release of the otel-exporter for ai observability ([#8273](https://github.com/mastra-ai/mastra/pull/8273))
166
+
167
+ - Updated dependencies [[`dc099b4`](https://github.com/mastra-ai/mastra/commit/dc099b40fb31147ba3f362f98d991892033c4c67), [`504438b`](https://github.com/mastra-ai/mastra/commit/504438b961bde211071186bba63a842c4e3db879), [`b342a68`](https://github.com/mastra-ai/mastra/commit/b342a68e1399cf1ece9ba11bda112db89d21118c), [`a7243e2`](https://github.com/mastra-ai/mastra/commit/a7243e2e58762667a6e3921e755e89d6bb0a3282), [`7fceb0a`](https://github.com/mastra-ai/mastra/commit/7fceb0a327d678e812f90f5387c5bc4f38bd039e), [`303a9c0`](https://github.com/mastra-ai/mastra/commit/303a9c0d7dd58795915979f06a0512359e4532fb), [`df64f9e`](https://github.com/mastra-ai/mastra/commit/df64f9ef814916fff9baedd861c988084e7c41de), [`370f8a6`](https://github.com/mastra-ai/mastra/commit/370f8a6480faec70fef18d72e5f7538f27004301), [`809eea0`](https://github.com/mastra-ai/mastra/commit/809eea092fa80c3f69b9eaf078d843b57fd2a88e), [`683e5a1`](https://github.com/mastra-ai/mastra/commit/683e5a1466e48b686825b2c11f84680f296138e4), [`3679378`](https://github.com/mastra-ai/mastra/commit/3679378673350aa314741dc826f837b1984149bc), [`7775bc2`](https://github.com/mastra-ai/mastra/commit/7775bc20bb1ad1ab24797fb420e4f96c65b0d8ec), [`623ffaf`](https://github.com/mastra-ai/mastra/commit/623ffaf2d969e11e99a0224633cf7b5a0815c857), [`9fc1613`](https://github.com/mastra-ai/mastra/commit/9fc16136400186648880fd990119ac15f7c02ee4), [`61f62aa`](https://github.com/mastra-ai/mastra/commit/61f62aa31bc88fe4ddf8da6240dbcfbeb07358bd), [`db1891a`](https://github.com/mastra-ai/mastra/commit/db1891a4707443720b7cd8a260dc7e1d49b3609c), [`e8f379d`](https://github.com/mastra-ai/mastra/commit/e8f379d390efa264c4e0874f9ac0cf8839b07777), [`652066b`](https://github.com/mastra-ai/mastra/commit/652066bd1efc6bb6813ba950ed1d7573e8b7d9d4), [`3e292ba`](https://github.com/mastra-ai/mastra/commit/3e292ba00837886d5d68a34cbc0d9b703c991883), [`418c136`](https://github.com/mastra-ai/mastra/commit/418c1366843d88e491bca3f87763899ce855ca29), [`ea8d386`](https://github.com/mastra-ai/mastra/commit/ea8d386cd8c5593664515fd5770c06bf2aa980ef), [`67b0f00`](https://github.com/mastra-ai/mastra/commit/67b0f005b520335c71fb85cbaa25df4ce8484a81), [`c2a4919`](https://github.com/mastra-ai/mastra/commit/c2a4919ba6797d8bdb1509e02287496eef69303e), [`c84b7d0`](https://github.com/mastra-ai/mastra/commit/c84b7d093c4657772140cbfd2b15ef72f3315ed5), [`0130986`](https://github.com/mastra-ai/mastra/commit/0130986fc62d0edcc626dd593282661dbb9af141)]:
168
+ - @mastra/core@0.19.0
169
+
170
+ ## 0.0.2-alpha.0
171
+
172
+ ### Patch Changes
173
+
174
+ - Initial release of the otel-exporter for ai observability ([#8273](https://github.com/mastra-ai/mastra/pull/8273))
175
+
176
+ - Updated dependencies [[`504438b`](https://github.com/mastra-ai/mastra/commit/504438b961bde211071186bba63a842c4e3db879), [`a7243e2`](https://github.com/mastra-ai/mastra/commit/a7243e2e58762667a6e3921e755e89d6bb0a3282), [`7fceb0a`](https://github.com/mastra-ai/mastra/commit/7fceb0a327d678e812f90f5387c5bc4f38bd039e), [`df64f9e`](https://github.com/mastra-ai/mastra/commit/df64f9ef814916fff9baedd861c988084e7c41de), [`809eea0`](https://github.com/mastra-ai/mastra/commit/809eea092fa80c3f69b9eaf078d843b57fd2a88e), [`683e5a1`](https://github.com/mastra-ai/mastra/commit/683e5a1466e48b686825b2c11f84680f296138e4), [`3679378`](https://github.com/mastra-ai/mastra/commit/3679378673350aa314741dc826f837b1984149bc), [`7775bc2`](https://github.com/mastra-ai/mastra/commit/7775bc20bb1ad1ab24797fb420e4f96c65b0d8ec), [`db1891a`](https://github.com/mastra-ai/mastra/commit/db1891a4707443720b7cd8a260dc7e1d49b3609c), [`e8f379d`](https://github.com/mastra-ai/mastra/commit/e8f379d390efa264c4e0874f9ac0cf8839b07777), [`652066b`](https://github.com/mastra-ai/mastra/commit/652066bd1efc6bb6813ba950ed1d7573e8b7d9d4), [`ea8d386`](https://github.com/mastra-ai/mastra/commit/ea8d386cd8c5593664515fd5770c06bf2aa980ef), [`c2a4919`](https://github.com/mastra-ai/mastra/commit/c2a4919ba6797d8bdb1509e02287496eef69303e), [`0130986`](https://github.com/mastra-ai/mastra/commit/0130986fc62d0edcc626dd593282661dbb9af141)]:
177
+ - @mastra/core@0.19.0-alpha.1
package/LICENSE.md ADDED
@@ -0,0 +1,15 @@
1
+ # Apache License 2.0
2
+
3
+ Copyright (c) 2025 Kepler Software, Inc.
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
package/README.md ADDED
@@ -0,0 +1,435 @@
1
+ # OtelExporter - OpenTelemetry AI Tracing Exporter
2
+
3
+ Export Mastra AI traces to any OpenTelemetry-compatible observability platform.
4
+
5
+ > **⚠️ Important:** This package requires you to install an additional exporter package based on your provider. Each provider section below includes the specific installation command.
6
+
7
+ ## Supported Providers
8
+
9
+ ### Dash0
10
+
11
+ #### Installation
12
+
13
+ ```bash
14
+ # Dash0 uses gRPC protocol, requires both packages
15
+ npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-grpc @grpc/grpc-js
16
+ ```
17
+
18
+ #### Configuration
19
+
20
+ ```typescript
21
+ import { OtelExporter } from '@mastra/otel-exporter';
22
+ import { Mastra } from '@mastra/core';
23
+
24
+ const mastra = new Mastra({
25
+ ...,
26
+ observability: {
27
+ configs: {
28
+ otel: {
29
+ serviceName: 'mastra-service',
30
+ exporters: [
31
+ new OtelExporter({
32
+ provider: {
33
+ dash0: {
34
+ apiKey: process.env.DASH0_API_KEY, // Required at runtime
35
+ endpoint: 'ingress.us-west-2.aws.dash0.com:4317', // Required at runtime
36
+ dataset: 'production', // Optional: dataset name
37
+ }
38
+ },
39
+ })
40
+ ],
41
+ },
42
+ },
43
+ },
44
+ });
45
+ ```
46
+
47
+ **Note:** Get your endpoint from your Dash0 dashboard. It should be in the format `ingress.{region}.aws.dash0.com:4317`.
48
+
49
+ ### SigNoz
50
+
51
+ #### Installation
52
+
53
+ ```bash
54
+ npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-proto
55
+ ```
56
+
57
+ #### Configuration
58
+
59
+ ```typescript
60
+ import { OtelExporter } from '@mastra/otel-exporter';
61
+ import { Mastra } from '@mastra/core';
62
+
63
+ const mastra = new Mastra({
64
+ ...,
65
+ observability: {
66
+ configs: {
67
+ otel: {
68
+ serviceName: 'mastra-service',
69
+ exporters: [
70
+ new OtelExporter({
71
+ provider: {
72
+ signoz: {
73
+ apiKey: process.env.SIGNOZ_API_KEY, // Required at runtime
74
+ region: 'us', // Optional: 'us' | 'eu' | 'in', defaults to 'us'
75
+ // endpoint: 'https://my-signoz.example.com', // Optional: for self-hosted
76
+ }
77
+ },
78
+ })
79
+ ],
80
+ },
81
+ },
82
+ },
83
+ });
84
+ ```
85
+
86
+ ### New Relic
87
+
88
+ #### Installation
89
+
90
+ ```bash
91
+ npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-proto
92
+ ```
93
+
94
+ #### Configuration
95
+
96
+ ```typescript
97
+ import { OtelExporter } from '@mastra/otel-exporter';
98
+ import { Mastra } from '@mastra/core';
99
+
100
+ const mastra = new Mastra({
101
+ ...,
102
+ observability: {
103
+ configs: {
104
+ otel: {
105
+ serviceName: 'mastra-service',
106
+ exporters: [
107
+ new OtelExporter({
108
+ provider: {
109
+ newrelic: {
110
+ apiKey: process.env.NEW_RELIC_LICENSE_KEY, // Required at runtime
111
+ // endpoint: 'https://otlp.eu01.nr-data.net', // Optional: for EU region
112
+ }
113
+ },
114
+ })
115
+ ],
116
+ },
117
+ },
118
+ },
119
+ });
120
+ ```
121
+
122
+ ### Traceloop
123
+
124
+ #### Installation
125
+
126
+ ```bash
127
+ # Traceloop uses HTTP/JSON protocol
128
+ npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-http
129
+ ```
130
+
131
+ #### Configuration
132
+
133
+ ```typescript
134
+ import { OtelExporter } from '@mastra/otel-exporter';
135
+ import { Mastra } from '@mastra/core';
136
+
137
+ const mastra = new Mastra({
138
+ ...,
139
+ observability: {
140
+ configs: {
141
+ otel: {
142
+ serviceName: 'mastra-service',
143
+ exporters: [
144
+ new OtelExporter({
145
+ provider: {
146
+ traceloop: {
147
+ apiKey: process.env.TRACELOOP_API_KEY, // Required at runtime
148
+ destinationId: 'my-destination', // Optional
149
+ // endpoint: 'https://custom.traceloop.com', // Optional
150
+ }
151
+ },
152
+ })
153
+ ],
154
+ },
155
+ },
156
+ },
157
+ });
158
+ ```
159
+
160
+ ### Laminar
161
+
162
+ #### Installation
163
+
164
+ ```bash
165
+ npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-proto
166
+ ```
167
+
168
+ #### Configuration
169
+
170
+ ```typescript
171
+ import { OtelExporter } from '@mastra/otel-exporter';
172
+ import { Mastra } from '@mastra/core';
173
+
174
+ const mastra = new Mastra({
175
+ ...,
176
+ observability: {
177
+ configs: {
178
+ otel: {
179
+ serviceName: 'mastra-service',
180
+ exporters: [
181
+ new OtelExporter({
182
+ provider: {
183
+ laminar: {
184
+ apiKey: process.env.LMNR_PROJECT_API_KEY, // Required at runtime
185
+ // teamId: process.env.LAMINAR_TEAM_ID, // Optional, for backwards compatibility
186
+ // endpoint: 'https://api.lmnr.ai/v1/traces', // Optional
187
+ }
188
+ },
189
+ })
190
+ ],
191
+ },
192
+ },
193
+ },
194
+ });
195
+ ```
196
+
197
+ **Note:** Laminar now only requires the `LMNR_PROJECT_API_KEY`. The `teamId` is optional.
198
+
199
+ ### Zipkin
200
+
201
+ #### Installation
202
+
203
+ ```bash
204
+ npm install @mastra/otel-exporter @opentelemetry/exporter-zipkin
205
+ ```
206
+
207
+ #### Configuration
208
+
209
+ ```typescript
210
+ import { OtelExporter } from '@mastra/otel-exporter';
211
+ import { Mastra } from '@mastra/core';
212
+
213
+ const mastra = new Mastra({
214
+ ...,
215
+ observability: {
216
+ configs: {
217
+ otel: {
218
+ serviceName: 'mastra-service',
219
+ exporters: [
220
+ new OtelExporter({
221
+ provider: {
222
+ custom: {
223
+ endpoint: 'http://localhost:9411/api/v2/spans',
224
+ protocol: 'zipkin',
225
+ }
226
+ },
227
+ })
228
+ ],
229
+ },
230
+ },
231
+ },
232
+ });
233
+ ```
234
+
235
+ ### Custom/Other Providers
236
+
237
+ #### Installation
238
+
239
+ Choose the appropriate exporter based on your collector's protocol:
240
+
241
+ ```bash
242
+ # For HTTP/JSON: Human-readable, larger payload, good for debugging
243
+ npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-http
244
+
245
+ # For HTTP/Protobuf: Binary format, smaller payload, recommended for production
246
+ npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-proto
247
+
248
+ # For gRPC: Bidirectional streaming, lowest latency, requires gRPC support
249
+ npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-grpc @grpc/grpc-js
250
+
251
+ # For Zipkin: Zipkin-specific format
252
+ npm install @mastra/otel-exporter @opentelemetry/exporter-zipkin
253
+ ```
254
+
255
+ Most providers recommend HTTP/Protobuf for production use.
256
+
257
+ #### Configuration
258
+
259
+ ```typescript
260
+ import { OtelExporter } from '@mastra/otel-exporter';
261
+ import { Mastra } from '@mastra/core';
262
+
263
+ const mastra = new Mastra({
264
+ ...,
265
+ observability: {
266
+ configs: {
267
+ otel: {
268
+ serviceName: 'mastra-service',
269
+ exporters: [
270
+ new OtelExporter({
271
+ provider: {
272
+ custom: {
273
+ endpoint: 'https://your-collector.example.com/v1/traces', // Required at runtime
274
+ protocol: 'http/protobuf', // Optional: 'http/json' | 'http/protobuf' | 'grpc' | 'zipkin'
275
+ headers: { // Optional
276
+ 'x-api-key': process.env.API_KEY,
277
+ },
278
+ }
279
+ }
280
+ })
281
+ ],
282
+ },
283
+ },
284
+ },
285
+ });
286
+ ```
287
+
288
+ ## Why Separate Packages?
289
+
290
+ We've made exporter dependencies optional to:
291
+
292
+ - **Reduce bundle size** - Only include what you need
293
+ - **Faster installs** - Fewer dependencies to download
294
+ - **Avoid conflicts** - Some exporters have conflicting dependencies
295
+
296
+ If you forget to install the required exporter, you'll get a helpful error message telling you exactly what to install.
297
+
298
+ ## Endpoint Configuration Notes
299
+
300
+ ### Protocol Requirements
301
+
302
+ - **gRPC endpoints**: Automatically append `/v1/traces` to the base endpoint
303
+ - **HTTP endpoints**: Most providers expect `/v1/traces` or provider-specific paths
304
+ - **Authentication**:
305
+ - HTTP uses `headers` with standard HTTP headers
306
+ - gRPC uses lowercase metadata keys (e.g., `authorization` instead of `Authorization`)
307
+
308
+ ### Provider-Specific Endpoints
309
+
310
+ | Provider | Protocol | Endpoint Format | Notes |
311
+ | --------- | ------------- | ---------------------------------------------------- | ------------------ |
312
+ | Dash0 | gRPC | `ingress.{region}.aws.dash0.com:4317` | Get from dashboard |
313
+ | SigNoz | HTTP/Protobuf | `https://ingest.{region}.signoz.cloud:443/v1/traces` | Cloud hosted |
314
+ | New Relic | HTTP/Protobuf | `https://otlp.nr-data.net:443/v1/traces` | US region |
315
+ | Traceloop | HTTP/JSON | `https://api.traceloop.com/v1/traces` | Default endpoint |
316
+ | Laminar | HTTP/Protobuf | `https://api.lmnr.ai/v1/traces` | Default endpoint |
317
+
318
+ ## Additional configuration
319
+
320
+ ```typescript
321
+ // Main configuration interface
322
+ interface OtelExporterConfig {
323
+ // Provider configuration (discriminated union)
324
+ provider?: ProviderConfig;
325
+
326
+ // Export configuration
327
+ timeout?: number; // Export timeout in milliseconds (default: 30000)
328
+ batchSize?: number; // Max spans per batch (default: 512)
329
+
330
+ // Debug
331
+ logLevel?: 'debug' | 'info' | 'warn' | 'error';
332
+ }
333
+ ```
334
+
335
+ ## Batching Strategy
336
+
337
+ The OtelExporter uses OpenTelemetry's `BatchSpanProcessor` for efficient span export:
338
+
339
+ - **Automatic batching**: Spans are queued and exported in batches
340
+ - **Default batch size**: 512 spans (configurable via `batchSize`)
341
+ - **Export interval**: Every 5 seconds or when batch is full
342
+ - **Queue size**: Up to 2048 spans queued in memory
343
+ - **Production-ready**: Optimized for high-throughput applications
344
+
345
+ This approach ensures:
346
+
347
+ - Efficient network usage (fewer HTTP/gRPC calls)
348
+ - Better performance under load
349
+ - Automatic retry with backoff
350
+ - Proper trace context propagation across all spans in a trace
351
+
352
+ ## OpenTelemetry Semantic Conventions
353
+
354
+ This exporter follows the [OpenTelemetry Semantic Conventions for GenAI](https://opentelemetry.io/docs/specs/semconv/gen-ai/) to ensure compatibility with observability platforms.
355
+
356
+ ### Span Naming
357
+
358
+ Spans are named following OTEL conventions:
359
+
360
+ - **LLM Operations**: `chat {model}` or `tool_selection {model}`
361
+ - **Tool Execution**: `tool.execute {tool_name}`
362
+ - **Agent Runs**: `agent.{agent_id}`
363
+ - **Workflow Runs**: `workflow.{workflow_id}`
364
+
365
+ ### Attributes
366
+
367
+ The exporter maps Mastra's AI tracing data to OTEL-compliant attributes:
368
+
369
+ #### Core Attributes
370
+
371
+ - `gen_ai.operation.name` - Operation type (chat, tool.execute, agent.run, workflow.run)
372
+ - `gen_ai.system` - AI provider (openai, anthropic, etc.)
373
+ - `gen_ai.request.model` - Model identifier
374
+
375
+ #### LLM-Specific Attributes
376
+
377
+ - `gen_ai.usage.input_tokens` - Number of input tokens
378
+ - `gen_ai.usage.output_tokens` - Number of output tokens
379
+ - `gen_ai.usage.total_tokens` - Total token count
380
+ - `gen_ai.request.temperature` - Sampling temperature
381
+ - `gen_ai.request.max_tokens` - Maximum tokens to generate
382
+ - `gen_ai.request.top_p` - Top-p sampling parameter
383
+ - `gen_ai.request.top_k` - Top-k sampling parameter
384
+ - `gen_ai.response.finish_reasons` - Reason for completion
385
+ - `gen_ai.prompt` - Input prompt (for Model spans)
386
+ - `gen_ai.completion` - Model output (for Model spans)
387
+
388
+ #### Tool Attributes
389
+
390
+ - `gen_ai.tool.name` - Tool identifier
391
+ - `gen_ai.tool.description` - Tool description
392
+ - `gen_ai.tool.success` - Whether tool execution succeeded
393
+ - `gen_ai.tool.input` - Tool input parameters
394
+ - `gen_ai.tool.output` - Tool execution result
395
+
396
+ #### Agent & Workflow Attributes
397
+
398
+ - `agent.id` - Agent identifier
399
+ - `agent.max_steps` - Maximum agent steps
400
+ - `workflow.id` - Workflow identifier
401
+ - `workflow.status` - Workflow execution status
402
+
403
+ #### Error Attributes
404
+
405
+ - `error` - Boolean indicating error occurred
406
+ - `error.type` - Error identifier
407
+ - `error.message` - Error description
408
+ - `error.domain` - Error domain/category
409
+
410
+ ## Troubleshooting
411
+
412
+ ### Missing Dependency Error
413
+
414
+ If you forget to install the required exporter package, you'll get a clear error message:
415
+
416
+ ```
417
+ HTTP/Protobuf exporter is not installed (required for signoz).
418
+ To use HTTP/Protobuf export, install the required package:
419
+
420
+ npm install @opentelemetry/exporter-trace-otlp-proto
421
+ # or
422
+ pnpm add @opentelemetry/exporter-trace-otlp-proto
423
+ # or
424
+ yarn add @opentelemetry/exporter-trace-otlp-proto
425
+ ```
426
+
427
+ ### Common Issues
428
+
429
+ 1. **Wrong exporter installed**: Make sure you installed the exporter matching your provider's protocol
430
+ 2. **Multiple exporters needed**: If switching between providers, you may need multiple exporters installed
431
+ 3. **Bundle size concerns**: Only install the exporters you actually use
432
+
433
+ ## License
434
+
435
+ Apache 2.0