@mastra/otel-exporter 0.0.0-fix-9244-clickhouse-metadata-20251105010900 → 0.0.0-main-test-20251105183450
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 +34 -4
- package/dist/index.cjs +102 -102
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +103 -103
- package/dist/index.js.map +1 -1
- package/dist/mastra-span.d.ts +2 -2
- package/dist/mastra-span.d.ts.map +1 -1
- package/dist/span-converter.d.ts +5 -5
- package/dist/span-converter.d.ts.map +1 -1
- package/dist/{ai-tracing.d.ts → tracing.d.ts} +4 -4
- package/dist/tracing.d.ts.map +1 -0
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/ai-tracing.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,41 @@
|
|
|
1
1
|
# @mastra/otel-exporter
|
|
2
2
|
|
|
3
|
-
## 0.0.0-
|
|
3
|
+
## 0.0.0-main-test-20251105183450
|
|
4
4
|
|
|
5
5
|
### Major Changes
|
|
6
6
|
|
|
7
7
|
- Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
|
|
8
8
|
|
|
9
|
+
- ```([#9709](https://github.com/mastra-ai/mastra/pull/9709))
|
|
10
|
+
import { Mastra } from '@mastra/core';
|
|
11
|
+
import { Observability } from '@mastra/observability'; // Explicit import
|
|
12
|
+
|
|
13
|
+
const mastra = new Mastra({
|
|
14
|
+
...other_config,
|
|
15
|
+
observability: new Observability({
|
|
16
|
+
default: { enabled: true }
|
|
17
|
+
}) // Instance
|
|
18
|
+
});
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Instead of:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
import { Mastra } from '@mastra/core';
|
|
25
|
+
import '@mastra/observability/init'; // Explicit import
|
|
26
|
+
|
|
27
|
+
const mastra = new Mastra({
|
|
28
|
+
...other_config,
|
|
29
|
+
observability: {
|
|
30
|
+
default: { enabled: true }
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Also renamed a bunch of:
|
|
36
|
+
- `Tracing` things to `Observability` things.
|
|
37
|
+
- `AI-` things to just things.
|
|
38
|
+
|
|
9
39
|
- Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
|
|
10
40
|
|
|
11
41
|
- moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
|
|
@@ -36,9 +66,9 @@
|
|
|
36
66
|
|
|
37
67
|
- Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
38
68
|
|
|
39
|
-
- Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`83b08dc`](https://github.com/mastra-ai/mastra/commit/83b08dcf1bfcc915efab23c09207df90fa247908), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
|
|
40
|
-
- @mastra/core@0.0.0-
|
|
41
|
-
- @mastra/observability@0.0.0-
|
|
69
|
+
- Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`83b08dc`](https://github.com/mastra-ai/mastra/commit/83b08dcf1bfcc915efab23c09207df90fa247908), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
|
|
70
|
+
- @mastra/core@0.0.0-main-test-20251105183450
|
|
71
|
+
- @mastra/observability@0.0.0-main-test-20251105183450
|
|
42
72
|
|
|
43
73
|
## 0.2.0
|
|
44
74
|
|
package/dist/index.cjs
CHANGED
|
@@ -7,7 +7,7 @@ var resources = require('@opentelemetry/resources');
|
|
|
7
7
|
var sdkTraceBase = require('@opentelemetry/sdk-trace-base');
|
|
8
8
|
var semanticConventions = require('@opentelemetry/semantic-conventions');
|
|
9
9
|
|
|
10
|
-
// src/
|
|
10
|
+
// src/tracing.ts
|
|
11
11
|
|
|
12
12
|
// src/loadExporter.ts
|
|
13
13
|
var OTLPHttpExporter;
|
|
@@ -225,45 +225,45 @@ var MastraReadableSpan = class {
|
|
|
225
225
|
droppedAttributesCount = 0;
|
|
226
226
|
droppedEventsCount = 0;
|
|
227
227
|
droppedLinksCount = 0;
|
|
228
|
-
constructor(
|
|
229
|
-
this.name =
|
|
228
|
+
constructor(span, attributes, kind, parentSpanId, resource, instrumentationLibrary) {
|
|
229
|
+
this.name = span.name;
|
|
230
230
|
this.kind = kind;
|
|
231
231
|
this.attributes = attributes;
|
|
232
232
|
this.parentSpanId = parentSpanId;
|
|
233
233
|
this.links = [];
|
|
234
234
|
this.events = [];
|
|
235
|
-
this.startTime = this.dateToHrTime(
|
|
236
|
-
this.endTime =
|
|
237
|
-
this.ended = !!
|
|
238
|
-
if (
|
|
239
|
-
const durationMs =
|
|
235
|
+
this.startTime = this.dateToHrTime(span.startTime);
|
|
236
|
+
this.endTime = span.endTime ? this.dateToHrTime(span.endTime) : this.startTime;
|
|
237
|
+
this.ended = !!span.endTime;
|
|
238
|
+
if (span.endTime) {
|
|
239
|
+
const durationMs = span.endTime.getTime() - span.startTime.getTime();
|
|
240
240
|
this.duration = [Math.floor(durationMs / 1e3), durationMs % 1e3 * 1e6];
|
|
241
241
|
} else {
|
|
242
242
|
this.duration = [0, 0];
|
|
243
243
|
}
|
|
244
|
-
if (
|
|
244
|
+
if (span.errorInfo) {
|
|
245
245
|
this.status = {
|
|
246
246
|
code: api.SpanStatusCode.ERROR,
|
|
247
|
-
message:
|
|
247
|
+
message: span.errorInfo.message
|
|
248
248
|
};
|
|
249
249
|
this.events.push({
|
|
250
250
|
name: "exception",
|
|
251
251
|
attributes: {
|
|
252
|
-
"exception.message":
|
|
252
|
+
"exception.message": span.errorInfo.message,
|
|
253
253
|
"exception.type": "Error",
|
|
254
|
-
...
|
|
255
|
-
"exception.stacktrace":
|
|
254
|
+
...span.errorInfo.details?.stack && {
|
|
255
|
+
"exception.stacktrace": span.errorInfo.details.stack
|
|
256
256
|
}
|
|
257
257
|
},
|
|
258
258
|
time: this.startTime,
|
|
259
259
|
droppedAttributesCount: 0
|
|
260
260
|
});
|
|
261
|
-
} else if (
|
|
261
|
+
} else if (span.endTime) {
|
|
262
262
|
this.status = { code: api.SpanStatusCode.OK };
|
|
263
263
|
} else {
|
|
264
264
|
this.status = { code: api.SpanStatusCode.UNSET };
|
|
265
265
|
}
|
|
266
|
-
if (
|
|
266
|
+
if (span.isEvent) {
|
|
267
267
|
this.events.push({
|
|
268
268
|
name: "instant_event",
|
|
269
269
|
attributes: {},
|
|
@@ -272,14 +272,14 @@ var MastraReadableSpan = class {
|
|
|
272
272
|
});
|
|
273
273
|
}
|
|
274
274
|
this.spanContext = () => ({
|
|
275
|
-
traceId:
|
|
276
|
-
spanId:
|
|
275
|
+
traceId: span.traceId,
|
|
276
|
+
spanId: span.id,
|
|
277
277
|
traceFlags: api.TraceFlags.SAMPLED,
|
|
278
278
|
isRemote: false
|
|
279
279
|
});
|
|
280
280
|
if (parentSpanId) {
|
|
281
281
|
this.parentSpanContext = {
|
|
282
|
-
traceId:
|
|
282
|
+
traceId: span.traceId,
|
|
283
283
|
spanId: parentSpanId,
|
|
284
284
|
traceFlags: api.TraceFlags.SAMPLED,
|
|
285
285
|
isRemote: false
|
|
@@ -306,13 +306,13 @@ var MastraReadableSpan = class {
|
|
|
306
306
|
// src/span-converter.ts
|
|
307
307
|
var SPAN_KIND_MAPPING = {
|
|
308
308
|
// Model operations are CLIENT spans (calling external AI services)
|
|
309
|
-
[observability$1.
|
|
310
|
-
[observability$1.
|
|
309
|
+
[observability$1.SpanType.MODEL_GENERATION]: api.SpanKind.CLIENT,
|
|
310
|
+
[observability$1.SpanType.MODEL_CHUNK]: api.SpanKind.CLIENT,
|
|
311
311
|
// MCP tool calls are CLIENT (external service calls)
|
|
312
|
-
[observability$1.
|
|
312
|
+
[observability$1.SpanType.MCP_TOOL_CALL]: api.SpanKind.CLIENT,
|
|
313
313
|
// Root spans for agent/workflow are SERVER (entry points)
|
|
314
|
-
[observability$1.
|
|
315
|
-
[observability$1.
|
|
314
|
+
[observability$1.SpanType.AGENT_RUN]: api.SpanKind.SERVER,
|
|
315
|
+
[observability$1.SpanType.WORKFLOW_RUN]: api.SpanKind.SERVER
|
|
316
316
|
};
|
|
317
317
|
var SpanConverter = class {
|
|
318
318
|
resource;
|
|
@@ -325,19 +325,19 @@ var SpanConverter = class {
|
|
|
325
325
|
};
|
|
326
326
|
}
|
|
327
327
|
/**
|
|
328
|
-
* Convert a Mastra
|
|
328
|
+
* Convert a Mastra Span to an OpenTelemetry ReadableSpan
|
|
329
329
|
* This preserves Mastra's trace and span IDs
|
|
330
330
|
*/
|
|
331
|
-
convertSpan(
|
|
332
|
-
const spanKind = this.getSpanKind(
|
|
333
|
-
const attributes = this.buildAttributes(
|
|
334
|
-
const spanName = this.buildSpanName(
|
|
335
|
-
const otelSpan = { ...
|
|
331
|
+
convertSpan(Span) {
|
|
332
|
+
const spanKind = this.getSpanKind(Span);
|
|
333
|
+
const attributes = this.buildAttributes(Span);
|
|
334
|
+
const spanName = this.buildSpanName(Span);
|
|
335
|
+
const otelSpan = { ...Span, name: spanName };
|
|
336
336
|
return new MastraReadableSpan(
|
|
337
337
|
otelSpan,
|
|
338
338
|
attributes,
|
|
339
339
|
spanKind,
|
|
340
|
-
|
|
340
|
+
Span.parentSpanId,
|
|
341
341
|
// Use the parentSpanId from the Mastra span directly
|
|
342
342
|
this.resource,
|
|
343
343
|
this.instrumentationLibrary
|
|
@@ -346,81 +346,81 @@ var SpanConverter = class {
|
|
|
346
346
|
/**
|
|
347
347
|
* Get the appropriate SpanKind based on span type and context
|
|
348
348
|
*/
|
|
349
|
-
getSpanKind(
|
|
350
|
-
if (
|
|
351
|
-
if (
|
|
349
|
+
getSpanKind(Span) {
|
|
350
|
+
if (Span.isRootSpan) {
|
|
351
|
+
if (Span.type === observability$1.SpanType.AGENT_RUN || Span.type === observability$1.SpanType.WORKFLOW_RUN) {
|
|
352
352
|
return api.SpanKind.SERVER;
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
|
-
return SPAN_KIND_MAPPING[
|
|
355
|
+
return SPAN_KIND_MAPPING[Span.type] || api.SpanKind.INTERNAL;
|
|
356
356
|
}
|
|
357
357
|
/**
|
|
358
358
|
* Build OTEL-compliant span name based on span type and attributes
|
|
359
359
|
*/
|
|
360
|
-
buildSpanName(
|
|
361
|
-
switch (
|
|
362
|
-
case observability$1.
|
|
363
|
-
const attrs =
|
|
360
|
+
buildSpanName(Span) {
|
|
361
|
+
switch (Span.type) {
|
|
362
|
+
case observability$1.SpanType.MODEL_GENERATION: {
|
|
363
|
+
const attrs = Span.attributes;
|
|
364
364
|
const operation = attrs?.resultType === "tool_selection" ? "tool_selection" : "chat";
|
|
365
365
|
const model = attrs?.model || "unknown";
|
|
366
366
|
return `${operation} ${model}`;
|
|
367
367
|
}
|
|
368
|
-
case observability$1.
|
|
369
|
-
case observability$1.
|
|
370
|
-
const toolAttrs =
|
|
368
|
+
case observability$1.SpanType.TOOL_CALL:
|
|
369
|
+
case observability$1.SpanType.MCP_TOOL_CALL: {
|
|
370
|
+
const toolAttrs = Span.attributes;
|
|
371
371
|
const toolName = toolAttrs?.toolId || "unknown";
|
|
372
372
|
return `tool.execute ${toolName}`;
|
|
373
373
|
}
|
|
374
|
-
case observability$1.
|
|
375
|
-
const agentAttrs =
|
|
374
|
+
case observability$1.SpanType.AGENT_RUN: {
|
|
375
|
+
const agentAttrs = Span.attributes;
|
|
376
376
|
const agentId = agentAttrs?.agentId || "unknown";
|
|
377
377
|
return `agent.${agentId}`;
|
|
378
378
|
}
|
|
379
|
-
case observability$1.
|
|
380
|
-
const workflowAttrs =
|
|
379
|
+
case observability$1.SpanType.WORKFLOW_RUN: {
|
|
380
|
+
const workflowAttrs = Span.attributes;
|
|
381
381
|
const workflowId = workflowAttrs?.workflowId || "unknown";
|
|
382
382
|
return `workflow.${workflowId}`;
|
|
383
383
|
}
|
|
384
|
-
case observability$1.
|
|
385
|
-
return
|
|
384
|
+
case observability$1.SpanType.WORKFLOW_STEP:
|
|
385
|
+
return Span.name;
|
|
386
386
|
default:
|
|
387
|
-
return
|
|
387
|
+
return Span.name;
|
|
388
388
|
}
|
|
389
389
|
}
|
|
390
390
|
/**
|
|
391
|
-
* Build OpenTelemetry attributes from Mastra
|
|
391
|
+
* Build OpenTelemetry attributes from Mastra Span
|
|
392
392
|
* Following OTEL Semantic Conventions for GenAI
|
|
393
393
|
*/
|
|
394
|
-
buildAttributes(
|
|
394
|
+
buildAttributes(Span) {
|
|
395
395
|
const attributes = {};
|
|
396
|
-
attributes["gen_ai.operation.name"] = this.getOperationName(
|
|
397
|
-
attributes["span.kind"] = this.getSpanKindString(
|
|
398
|
-
attributes["mastra.span.type"] =
|
|
399
|
-
attributes["mastra.trace_id"] =
|
|
400
|
-
attributes["mastra.span_id"] =
|
|
401
|
-
if (
|
|
402
|
-
attributes["mastra.parent_span_id"] =
|
|
396
|
+
attributes["gen_ai.operation.name"] = this.getOperationName(Span);
|
|
397
|
+
attributes["span.kind"] = this.getSpanKindString(Span);
|
|
398
|
+
attributes["mastra.span.type"] = Span.type;
|
|
399
|
+
attributes["mastra.trace_id"] = Span.traceId;
|
|
400
|
+
attributes["mastra.span_id"] = Span.id;
|
|
401
|
+
if (Span.parentSpanId) {
|
|
402
|
+
attributes["mastra.parent_span_id"] = Span.parentSpanId;
|
|
403
403
|
}
|
|
404
|
-
if (
|
|
405
|
-
const inputStr = typeof
|
|
404
|
+
if (Span.input !== void 0) {
|
|
405
|
+
const inputStr = typeof Span.input === "string" ? Span.input : JSON.stringify(Span.input);
|
|
406
406
|
attributes["input"] = inputStr;
|
|
407
|
-
if (
|
|
407
|
+
if (Span.type === observability$1.SpanType.MODEL_GENERATION) {
|
|
408
408
|
attributes["gen_ai.prompt"] = inputStr;
|
|
409
|
-
} else if (
|
|
409
|
+
} else if (Span.type === observability$1.SpanType.TOOL_CALL || Span.type === observability$1.SpanType.MCP_TOOL_CALL) {
|
|
410
410
|
attributes["gen_ai.tool.input"] = inputStr;
|
|
411
411
|
}
|
|
412
412
|
}
|
|
413
|
-
if (
|
|
414
|
-
const outputStr = typeof
|
|
413
|
+
if (Span.output !== void 0) {
|
|
414
|
+
const outputStr = typeof Span.output === "string" ? Span.output : JSON.stringify(Span.output);
|
|
415
415
|
attributes["output"] = outputStr;
|
|
416
|
-
if (
|
|
416
|
+
if (Span.type === observability$1.SpanType.MODEL_GENERATION) {
|
|
417
417
|
attributes["gen_ai.completion"] = outputStr;
|
|
418
|
-
} else if (
|
|
418
|
+
} else if (Span.type === observability$1.SpanType.TOOL_CALL || Span.type === observability$1.SpanType.MCP_TOOL_CALL) {
|
|
419
419
|
attributes["gen_ai.tool.output"] = outputStr;
|
|
420
420
|
}
|
|
421
421
|
}
|
|
422
|
-
if (
|
|
423
|
-
const modelAttrs =
|
|
422
|
+
if (Span.type === observability$1.SpanType.MODEL_GENERATION && Span.attributes) {
|
|
423
|
+
const modelAttrs = Span.attributes;
|
|
424
424
|
if (modelAttrs.model) {
|
|
425
425
|
attributes["gen_ai.request.model"] = modelAttrs.model;
|
|
426
426
|
}
|
|
@@ -473,12 +473,12 @@ var SpanConverter = class {
|
|
|
473
473
|
attributes["gen_ai.response.finish_reasons"] = modelAttrs.finishReason;
|
|
474
474
|
}
|
|
475
475
|
}
|
|
476
|
-
if ((
|
|
477
|
-
const toolAttrs =
|
|
476
|
+
if ((Span.type === observability$1.SpanType.TOOL_CALL || Span.type === observability$1.SpanType.MCP_TOOL_CALL) && Span.attributes) {
|
|
477
|
+
const toolAttrs = Span.attributes;
|
|
478
478
|
if (toolAttrs.toolId) {
|
|
479
479
|
attributes["gen_ai.tool.name"] = toolAttrs.toolId;
|
|
480
480
|
}
|
|
481
|
-
if (
|
|
481
|
+
if (Span.type === observability$1.SpanType.MCP_TOOL_CALL) {
|
|
482
482
|
const mcpAttrs = toolAttrs;
|
|
483
483
|
if (mcpAttrs.mcpServer) {
|
|
484
484
|
attributes["mcp.server"] = mcpAttrs.mcpServer;
|
|
@@ -495,8 +495,8 @@ var SpanConverter = class {
|
|
|
495
495
|
attributes["gen_ai.tool.success"] = toolAttrs.success;
|
|
496
496
|
}
|
|
497
497
|
}
|
|
498
|
-
if (
|
|
499
|
-
const agentAttrs =
|
|
498
|
+
if (Span.type === observability$1.SpanType.AGENT_RUN && Span.attributes) {
|
|
499
|
+
const agentAttrs = Span.attributes;
|
|
500
500
|
if (agentAttrs.agentId) {
|
|
501
501
|
attributes["agent.id"] = agentAttrs.agentId;
|
|
502
502
|
attributes["gen_ai.agent.id"] = agentAttrs.agentId;
|
|
@@ -508,8 +508,8 @@ var SpanConverter = class {
|
|
|
508
508
|
attributes["agent.available_tools"] = JSON.stringify(agentAttrs.availableTools);
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
|
-
if (
|
|
512
|
-
const workflowAttrs =
|
|
511
|
+
if (Span.type === observability$1.SpanType.WORKFLOW_RUN && Span.attributes) {
|
|
512
|
+
const workflowAttrs = Span.attributes;
|
|
513
513
|
if (workflowAttrs.workflowId) {
|
|
514
514
|
attributes["workflow.id"] = workflowAttrs.workflowId;
|
|
515
515
|
}
|
|
@@ -517,19 +517,19 @@ var SpanConverter = class {
|
|
|
517
517
|
attributes["workflow.status"] = workflowAttrs.status;
|
|
518
518
|
}
|
|
519
519
|
}
|
|
520
|
-
if (
|
|
520
|
+
if (Span.errorInfo) {
|
|
521
521
|
attributes["error"] = true;
|
|
522
|
-
attributes["error.type"] =
|
|
523
|
-
attributes["error.message"] =
|
|
524
|
-
if (
|
|
525
|
-
attributes["error.domain"] =
|
|
522
|
+
attributes["error.type"] = Span.errorInfo.id || "unknown";
|
|
523
|
+
attributes["error.message"] = Span.errorInfo.message;
|
|
524
|
+
if (Span.errorInfo.domain) {
|
|
525
|
+
attributes["error.domain"] = Span.errorInfo.domain;
|
|
526
526
|
}
|
|
527
|
-
if (
|
|
528
|
-
attributes["error.category"] =
|
|
527
|
+
if (Span.errorInfo.category) {
|
|
528
|
+
attributes["error.category"] = Span.errorInfo.category;
|
|
529
529
|
}
|
|
530
530
|
}
|
|
531
|
-
if (
|
|
532
|
-
Object.entries(
|
|
531
|
+
if (Span.metadata) {
|
|
532
|
+
Object.entries(Span.metadata).forEach(([key, value]) => {
|
|
533
533
|
if (!attributes[key]) {
|
|
534
534
|
if (value === null || value === void 0) {
|
|
535
535
|
return;
|
|
@@ -542,12 +542,12 @@ var SpanConverter = class {
|
|
|
542
542
|
}
|
|
543
543
|
});
|
|
544
544
|
}
|
|
545
|
-
if (
|
|
546
|
-
attributes["mastra.start_time"] =
|
|
545
|
+
if (Span.startTime) {
|
|
546
|
+
attributes["mastra.start_time"] = Span.startTime.toISOString();
|
|
547
547
|
}
|
|
548
|
-
if (
|
|
549
|
-
attributes["mastra.end_time"] =
|
|
550
|
-
const duration =
|
|
548
|
+
if (Span.endTime) {
|
|
549
|
+
attributes["mastra.end_time"] = Span.endTime.toISOString();
|
|
550
|
+
const duration = Span.endTime.getTime() - Span.startTime.getTime();
|
|
551
551
|
attributes["mastra.duration_ms"] = duration;
|
|
552
552
|
}
|
|
553
553
|
return attributes;
|
|
@@ -555,28 +555,28 @@ var SpanConverter = class {
|
|
|
555
555
|
/**
|
|
556
556
|
* Get the operation name based on span type for gen_ai.operation.name
|
|
557
557
|
*/
|
|
558
|
-
getOperationName(
|
|
559
|
-
switch (
|
|
560
|
-
case observability$1.
|
|
561
|
-
const attrs =
|
|
558
|
+
getOperationName(Span) {
|
|
559
|
+
switch (Span.type) {
|
|
560
|
+
case observability$1.SpanType.MODEL_GENERATION: {
|
|
561
|
+
const attrs = Span.attributes;
|
|
562
562
|
return attrs?.resultType === "tool_selection" ? "tool_selection" : "chat";
|
|
563
563
|
}
|
|
564
|
-
case observability$1.
|
|
565
|
-
case observability$1.
|
|
564
|
+
case observability$1.SpanType.TOOL_CALL:
|
|
565
|
+
case observability$1.SpanType.MCP_TOOL_CALL:
|
|
566
566
|
return "tool.execute";
|
|
567
|
-
case observability$1.
|
|
567
|
+
case observability$1.SpanType.AGENT_RUN:
|
|
568
568
|
return "agent.run";
|
|
569
|
-
case observability$1.
|
|
569
|
+
case observability$1.SpanType.WORKFLOW_RUN:
|
|
570
570
|
return "workflow.run";
|
|
571
571
|
default:
|
|
572
|
-
return
|
|
572
|
+
return Span.type.replace(/_/g, ".");
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
575
|
/**
|
|
576
576
|
* Get span kind as string for attribute
|
|
577
577
|
*/
|
|
578
|
-
getSpanKindString(
|
|
579
|
-
const kind = this.getSpanKind(
|
|
578
|
+
getSpanKindString(Span) {
|
|
579
|
+
const kind = this.getSpanKind(Span);
|
|
580
580
|
switch (kind) {
|
|
581
581
|
case api.SpanKind.SERVER:
|
|
582
582
|
return "server";
|
|
@@ -594,7 +594,7 @@ var SpanConverter = class {
|
|
|
594
594
|
}
|
|
595
595
|
};
|
|
596
596
|
|
|
597
|
-
// src/
|
|
597
|
+
// src/tracing.ts
|
|
598
598
|
var OtelExporter = class extends observability.BaseExporter {
|
|
599
599
|
config;
|
|
600
600
|
tracingConfig;
|
|
@@ -728,8 +728,8 @@ var OtelExporter = class extends observability.BaseExporter {
|
|
|
728
728
|
await this.setupProcessor();
|
|
729
729
|
this.isSetup = true;
|
|
730
730
|
}
|
|
731
|
-
async
|
|
732
|
-
if (event.type !== observability$1.
|
|
731
|
+
async _exportTracingEvent(event) {
|
|
732
|
+
if (event.type !== observability$1.TracingEventType.SPAN_ENDED) {
|
|
733
733
|
return;
|
|
734
734
|
}
|
|
735
735
|
const span = event.exportedSpan;
|