@dxos/observability 0.8.4-main.ef1bc66f44 → 0.8.4-main.f466a3d56e
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/LICENSE +102 -5
- package/README.md +14 -11
- package/dist/lib/browser/{chunk-K4VFBKST.mjs → chunk-PSFTIG54.mjs} +9 -2
- package/dist/lib/browser/chunk-PSFTIG54.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +181 -283
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/{log-processor-FDLTDQEM.mjs → log-processor-HPHWNBOK.mjs} +11 -18
- package/dist/lib/browser/log-processor-HPHWNBOK.mjs.map +7 -0
- package/dist/lib/browser/{logs-ATTRIUTL.mjs → logs-UTNIFYHF.mjs} +7 -4
- package/dist/lib/browser/logs-UTNIFYHF.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{metrics-PKTV6IGF.mjs → metrics-PRGSYAZJ.mjs} +7 -21
- package/dist/lib/browser/metrics-PRGSYAZJ.mjs.map +7 -0
- package/dist/lib/browser/traces-browser-XRINKQUA.mjs +154 -0
- package/dist/lib/browser/traces-browser-XRINKQUA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FEVP3MK4.mjs → chunk-EDDZWPYV.mjs} +9 -2
- package/dist/lib/node-esm/chunk-EDDZWPYV.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +166 -250
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/{log-processor-TKJVJJSJ.mjs → log-processor-ZODHERST.mjs} +11 -18
- package/dist/lib/node-esm/log-processor-ZODHERST.mjs.map +7 -0
- package/dist/lib/node-esm/{logs-7J45KLM7.mjs → logs-ARJUVN3T.mjs} +7 -4
- package/dist/lib/node-esm/logs-ARJUVN3T.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{metrics-H7DDLYSG.mjs → metrics-DREJOOAC.mjs} +7 -21
- package/dist/lib/node-esm/metrics-DREJOOAC.mjs.map +7 -0
- package/dist/lib/node-esm/traces-74F7JUKF.mjs +125 -0
- package/dist/lib/node-esm/traces-74F7JUKF.mjs.map +7 -0
- package/dist/types/src/cli-observability-secrets.json +2 -2
- package/dist/types/src/extensions/otel/extension.d.ts.map +1 -1
- package/dist/types/src/extensions/otel/extension.js +112 -16
- package/dist/types/src/extensions/otel/extension.js.map +1 -1
- package/dist/types/src/extensions/otel/logs.d.ts.map +1 -1
- package/dist/types/src/extensions/otel/logs.js +6 -3
- package/dist/types/src/extensions/otel/logs.js.map +1 -1
- package/dist/types/src/extensions/otel/metrics.d.ts.map +1 -1
- package/dist/types/src/extensions/otel/metrics.js +2 -2
- package/dist/types/src/extensions/otel/metrics.js.map +1 -1
- package/dist/types/src/extensions/otel/otel.d.ts +7 -0
- package/dist/types/src/extensions/otel/otel.d.ts.map +1 -1
- package/dist/types/src/extensions/otel/otel.js +12 -0
- package/dist/types/src/extensions/otel/otel.js.map +1 -1
- package/dist/types/src/extensions/otel/span-processors.d.ts +25 -0
- package/dist/types/src/extensions/otel/span-processors.d.ts.map +1 -0
- package/dist/types/src/extensions/otel/span-processors.js +41 -0
- package/dist/types/src/extensions/otel/span-processors.js.map +1 -0
- package/dist/types/src/extensions/otel/traces-browser.d.ts +17 -0
- package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -1
- package/dist/types/src/extensions/otel/traces-browser.js +73 -12
- package/dist/types/src/extensions/otel/traces-browser.js.map +1 -1
- package/dist/types/src/extensions/otel/traces.d.ts +17 -0
- package/dist/types/src/extensions/otel/traces.d.ts.map +1 -1
- package/dist/types/src/extensions/otel/traces.js +59 -9
- package/dist/types/src/extensions/otel/traces.js.map +1 -1
- package/dist/types/src/extensions/posthog/extension.d.ts +13 -0
- package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -1
- package/dist/types/src/extensions/posthog/extension.js +41 -28
- package/dist/types/src/extensions/posthog/extension.js.map +1 -1
- package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -1
- package/dist/types/src/extensions/posthog/log-processor.js +10 -19
- package/dist/types/src/extensions/posthog/log-processor.js.map +1 -1
- package/dist/types/src/extensions/posthog/log-processor.test.js +2 -2
- package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -1
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/index.js +0 -1
- package/dist/types/src/index.js.map +1 -1
- package/dist/types/src/observability-extension.d.ts +1 -1
- package/dist/types/src/observability-extension.d.ts.map +1 -1
- package/dist/types/src/observability.d.ts.map +1 -1
- package/dist/types/src/observability.js +4 -2
- package/dist/types/src/observability.js.map +1 -1
- package/dist/types/src/observability.test.js +1 -1
- package/dist/types/src/observability.test.js.map +1 -1
- package/dist/types/src/providers/client-observability.d.ts.map +1 -1
- package/dist/types/src/providers/client-observability.js +2 -0
- package/dist/types/src/providers/client-observability.js.map +1 -1
- package/dist/types/src/providers/ip-data.d.ts.map +1 -1
- package/dist/types/src/providers/ip-data.js +4 -2
- package/dist/types/src/providers/ip-data.js.map +1 -1
- package/dist/types/src/storage/browser.d.ts.map +1 -1
- package/dist/types/src/storage/browser.js +15 -4
- package/dist/types/src/storage/browser.js.map +1 -1
- package/dist/types/src/storage/node.d.ts.map +1 -1
- package/dist/types/src/storage/node.js +1 -1
- package/dist/types/src/storage/node.js.map +1 -1
- package/dist/types/src/storage/node.test.js +1 -1
- package/dist/types/src/storage/node.test.js.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +36 -32
- package/src/cli-observability-secrets.json +2 -2
- package/src/extensions/otel/extension.ts +118 -17
- package/src/extensions/otel/logs.ts +6 -3
- package/src/extensions/otel/metrics.ts +2 -2
- package/src/extensions/otel/otel.ts +13 -0
- package/src/extensions/otel/span-processors.ts +45 -0
- package/src/extensions/otel/traces-browser.ts +95 -13
- package/src/extensions/otel/traces.ts +76 -12
- package/src/extensions/posthog/extension.ts +54 -27
- package/src/extensions/posthog/log-processor.test.ts +7 -6
- package/src/extensions/posthog/log-processor.ts +10 -21
- package/src/index.ts +0 -1
- package/src/observability-extension.ts +1 -1
- package/src/observability.test.ts +1 -1
- package/src/observability.ts +4 -2
- package/src/providers/client-observability.ts +2 -0
- package/src/providers/ip-data.ts +5 -2
- package/src/storage/browser.ts +14 -4
- package/src/storage/node.test.ts +1 -2
- package/src/storage/node.ts +1 -2
- package/src/vite-import-meta.d.ts +14 -0
- package/dist/lib/browser/chunk-K4VFBKST.mjs.map +0 -7
- package/dist/lib/browser/log-processor-FDLTDQEM.mjs.map +0 -7
- package/dist/lib/browser/logs-ATTRIUTL.mjs.map +0 -7
- package/dist/lib/browser/metrics-PKTV6IGF.mjs.map +0 -7
- package/dist/lib/browser/traces-browser-XYXBF5ZX.mjs +0 -62
- package/dist/lib/browser/traces-browser-XYXBF5ZX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FEVP3MK4.mjs.map +0 -7
- package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs.map +0 -7
- package/dist/lib/node-esm/logs-7J45KLM7.mjs.map +0 -7
- package/dist/lib/node-esm/metrics-H7DDLYSG.mjs.map +0 -7
- package/dist/lib/node-esm/traces-KMTHMYFX.mjs +0 -44
- package/dist/lib/node-esm/traces-KMTHMYFX.mjs.map +0 -7
- package/dist/types/src/log-buffer.d.ts +0 -34
- package/dist/types/src/log-buffer.d.ts.map +0 -1
- package/dist/types/src/log-buffer.js +0 -70
- package/dist/types/src/log-buffer.js.map +0 -1
- package/dist/types/src/log-buffer.test.d.ts +0 -2
- package/dist/types/src/log-buffer.test.d.ts.map +0 -1
- package/dist/types/src/log-buffer.test.js +0 -107
- package/dist/types/src/log-buffer.test.js.map +0 -1
- package/src/log-buffer.test.ts +0 -134
- package/src/log-buffer.ts +0 -101
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/log-buffer.ts":{"bytes":8585,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/storage/node.ts":{"bytes":13390,"imports":[{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"js-yaml","kind":"import-statement","external":true},{"path":"uuid","kind":"import-statement","external":true}],"format":"esm"},"src/storage/index.ts":{"bytes":453,"imports":[{"path":"src/storage/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/observability.ts":{"bytes":28997,"imports":[{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/storage/index.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"src/cli-observability-secrets.json":{"bytes":246,"imports":[]},"src/extensions/stub.ts":{"bytes":1776,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/otel.ts":{"bytes":1710,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/logs.ts":{"bytes":13603,"imports":[{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/extensions/otel/metrics.ts":{"bytes":12316,"imports":[{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/extensions/otel/traces.ts":{"bytes":5396,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/extension.ts":{"bytes":20276,"imports":[{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Ref","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/cli-observability-secrets.json","kind":"import-statement","original":"../../cli-observability-secrets.json"},{"path":"src/storage/index.ts","kind":"import-statement","original":"../../storage"},{"path":"src/extensions/stub.ts","kind":"import-statement","original":"../stub"},{"path":"src/extensions/otel/logs.ts","kind":"dynamic-import","original":"./logs"},{"path":"src/extensions/otel/metrics.ts","kind":"dynamic-import","original":"./metrics"},{"path":"src/extensions/otel/traces.ts","kind":"dynamic-import","original":"./traces"}],"format":"esm"},"src/extensions/otel/index.ts":{"bytes":474,"imports":[{"path":"src/extensions/otel/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"src/extensions/posthog/log-processor.ts":{"bytes":6561,"imports":[{"path":"posthog-js","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/posthog/extension.ts":{"bytes":21654,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/log-buffer.ts","kind":"import-statement","original":"../../log-buffer"},{"path":"src/extensions/stub.ts","kind":"import-statement","original":"../stub"},{"path":"posthog-js","kind":"dynamic-import","external":true},{"path":"src/extensions/posthog/log-processor.ts","kind":"dynamic-import","original":"./log-processor"}],"format":"esm"},"src/extensions/posthog/index.ts":{"bytes":477,"imports":[{"path":"src/extensions/posthog/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"src/extensions/index.ts":{"bytes":650,"imports":[{"path":"src/extensions/otel/index.ts","kind":"import-statement","original":"./otel"},{"path":"src/extensions/posthog/index.ts","kind":"import-statement","original":"./posthog"}],"format":"esm"},"src/observability-extension.ts":{"bytes":4133,"imports":[{"path":"src/extensions/index.ts","kind":"import-statement","original":"./extensions"}],"format":"esm"},"src/providers/client-observability.ts":{"bytes":35893,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true}],"format":"esm"},"src/providers/ip-data.ts":{"bytes":8948,"imports":[{"path":"@effect/platform/FetchHttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClientRequest","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/providers/storage.ts":{"bytes":3607,"imports":[{"path":"effect/Duration","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Fiber","kind":"import-statement","external":true},{"path":"effect/Schedule","kind":"import-statement","external":true}],"format":"esm"},"src/providers/index.ts":{"bytes":840,"imports":[{"path":"src/providers/client-observability.ts","kind":"import-statement","original":"./client-observability"},{"path":"src/providers/ip-data.ts","kind":"import-statement","original":"./ip-data"},{"path":"src/providers/storage.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"src/index.ts":{"bytes":1092,"imports":[{"path":"src/log-buffer.ts","kind":"import-statement","original":"./log-buffer"},{"path":"src/observability.ts","kind":"import-statement","original":"./observability"},{"path":"src/observability-extension.ts","kind":"import-statement","original":"./observability-extension"},{"path":"src/providers/index.ts","kind":"import-statement","original":"./providers"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":75707},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"js-yaml","kind":"import-statement","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Ref","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/logs-7J45KLM7.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/metrics-H7DDLYSG.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/traces-KMTHMYFX.mjs","kind":"dynamic-import"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"posthog-js","kind":"dynamic-import","external":true},{"path":"dist/lib/node-esm/log-processor-TKJVJJSJ.mjs","kind":"dynamic-import"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@effect/platform/FetchHttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClientRequest","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect/Duration","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Fiber","kind":"import-statement","external":true},{"path":"effect/Schedule","kind":"import-statement","external":true}],"exports":["LogBuffer","Observability","ObservabilityExtension","ObservabilityProvider"],"entryPoint":"src/index.ts","inputs":{"src/log-buffer.ts":{"bytesInOutput":1781},"src/index.ts":{"bytesInOutput":0},"src/observability.ts":{"bytesInOutput":7696},"src/storage/node.ts":{"bytesInOutput":2937},"src/observability-extension.ts":{"bytesInOutput":151},"src/extensions/otel/index.ts":{"bytesInOutput":83},"src/extensions/otel/extension.ts":{"bytesInOutput":4848},"src/cli-observability-secrets.json":{"bytesInOutput":280},"src/extensions/stub.ts":{"bytesInOutput":311},"src/extensions/index.ts":{"bytesInOutput":0},"src/extensions/posthog/index.ts":{"bytesInOutput":90},"src/extensions/posthog/extension.ts":{"bytesInOutput":5581},"src/providers/index.ts":{"bytesInOutput":174},"src/providers/client-observability.ts":{"bytesInOutput":8756},"src/providers/ip-data.ts":{"bytesInOutput":2092},"src/providers/storage.ts":{"bytesInOutput":895}},"bytes":36533},"dist/lib/node-esm/logs-7J45KLM7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7266},"dist/lib/node-esm/logs-7J45KLM7.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-FEVP3MK4.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["OtelLogs"],"entryPoint":"src/extensions/otel/logs.ts","inputs":{"src/extensions/otel/logs.ts":{"bytesInOutput":3076}},"bytes":3353},"dist/lib/node-esm/metrics-H7DDLYSG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6101},"dist/lib/node-esm/metrics-H7DDLYSG.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-FEVP3MK4.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"exports":["OtelMetrics"],"entryPoint":"src/extensions/otel/metrics.ts","inputs":{"src/extensions/otel/metrics.ts":{"bytesInOutput":3058}},"bytes":3344},"dist/lib/node-esm/chunk-FEVP3MK4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1012},"dist/lib/node-esm/chunk-FEVP3MK4.mjs":{"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"exports":["setDiagLogger"],"inputs":{"src/extensions/otel/otel.ts":{"bytesInOutput":229}},"bytes":426},"dist/lib/node-esm/traces-KMTHMYFX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2878},"dist/lib/node-esm/traces-KMTHMYFX.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"exports":["OtelTraces"],"entryPoint":"src/extensions/otel/traces.ts","inputs":{"src/extensions/otel/traces.ts":{"bytesInOutput":1255}},"bytes":1482},"dist/lib/node-esm/log-processor-TKJVJJSJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3468},"dist/lib/node-esm/log-processor-TKJVJJSJ.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"posthog-js","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["logProcessor"],"entryPoint":"src/extensions/posthog/log-processor.ts","inputs":{"src/extensions/posthog/log-processor.ts":{"bytesInOutput":1338}},"bytes":1584},"dist/lib/node-esm/chunk-HSLMI22Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/chunk-HSLMI22Q.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":327}}}
|
|
1
|
+
{"inputs":{"src/storage/node.ts":{"bytes":13302,"imports":[{"path":"js-yaml","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"uuid","kind":"import-statement","external":true}],"format":"esm"},"src/storage/index.ts":{"bytes":368,"imports":[{"path":"src/storage/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/observability.ts":{"bytes":28799,"imports":[{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/storage/index.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"src/cli-observability-secrets.json":{"bytes":165,"imports":[]},"src/extensions/stub.ts":{"bytes":1689,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/otel.ts":{"bytes":3260,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/logs.ts":{"bytes":14077,"imports":[{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/extensions/otel/metrics.ts":{"bytes":12229,"imports":[{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/extensions/otel/span-processors.ts":{"bytes":4354,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/traces.ts":{"bytes":13229,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/core","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"},{"path":"src/extensions/otel/span-processors.ts","kind":"import-statement","original":"./span-processors"}],"format":"esm"},"src/extensions/otel/extension.ts":{"bytes":34487,"imports":[{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Ref","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/cli-observability-secrets.json","kind":"import-statement","original":"../../cli-observability-secrets.json"},{"path":"src/storage/index.ts","kind":"import-statement","original":"../../storage"},{"path":"src/extensions/stub.ts","kind":"import-statement","original":"../stub"},{"path":"src/extensions/otel/logs.ts","kind":"dynamic-import","original":"./logs"},{"path":"src/extensions/otel/metrics.ts","kind":"dynamic-import","original":"./metrics"},{"path":"src/extensions/otel/traces.ts","kind":"dynamic-import","original":"./traces"}],"format":"esm"},"src/extensions/otel/index.ts":{"bytes":377,"imports":[{"path":"src/extensions/otel/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"src/extensions/posthog/log-processor.ts":{"bytes":5374,"imports":[{"path":"posthog-js","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/posthog/extension.ts":{"bytes":23891,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/extensions/stub.ts","kind":"import-statement","original":"../stub"},{"path":"posthog-js","kind":"dynamic-import","external":true},{"path":"src/extensions/posthog/log-processor.ts","kind":"dynamic-import","original":"./log-processor"}],"format":"esm"},"src/extensions/posthog/index.ts":{"bytes":377,"imports":[{"path":"src/extensions/posthog/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"src/extensions/index.ts":{"bytes":562,"imports":[{"path":"src/extensions/otel/index.ts","kind":"import-statement","original":"./otel"},{"path":"src/extensions/posthog/index.ts","kind":"import-statement","original":"./posthog"}],"format":"esm"},"src/observability-extension.ts":{"bytes":4066,"imports":[{"path":"src/extensions/index.ts","kind":"import-statement","original":"./extensions"}],"format":"esm"},"src/providers/client-observability.ts":{"bytes":35900,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true}],"format":"esm"},"src/providers/ip-data.ts":{"bytes":9579,"imports":[{"path":"@effect/platform/FetchHttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClientRequest","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/providers/storage.ts":{"bytes":3514,"imports":[{"path":"effect/Duration","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Fiber","kind":"import-statement","external":true},{"path":"effect/Schedule","kind":"import-statement","external":true}],"format":"esm"},"src/providers/index.ts":{"bytes":749,"imports":[{"path":"src/providers/client-observability.ts","kind":"import-statement","original":"./client-observability"},{"path":"src/providers/ip-data.ts","kind":"import-statement","original":"./ip-data"},{"path":"src/providers/storage.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"src/index.ts":{"bytes":921,"imports":[{"path":"src/observability.ts","kind":"import-statement","original":"./observability"},{"path":"src/observability-extension.ts","kind":"import-statement","original":"./observability-extension"},{"path":"src/providers/index.ts","kind":"import-statement","original":"./providers"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":75545},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"js-yaml","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Ref","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/logs-ARJUVN3T.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/metrics-DREJOOAC.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/traces-74F7JUKF.mjs","kind":"dynamic-import"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"posthog-js","kind":"dynamic-import","external":true},{"path":"dist/lib/node-esm/log-processor-ZODHERST.mjs","kind":"dynamic-import"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@effect/platform/FetchHttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClientRequest","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect/Duration","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Fiber","kind":"import-statement","external":true},{"path":"effect/Schedule","kind":"import-statement","external":true}],"exports":["Observability","ObservabilityExtension","ObservabilityProvider"],"entryPoint":"src/index.ts","inputs":{"src/observability.ts":{"bytesInOutput":7664},"src/storage/node.ts":{"bytesInOutput":2937},"src/index.ts":{"bytesInOutput":0},"src/observability-extension.ts":{"bytesInOutput":151},"src/extensions/otel/index.ts":{"bytesInOutput":83},"src/extensions/otel/extension.ts":{"bytesInOutput":7032},"src/cli-observability-secrets.json":{"bytesInOutput":199},"src/extensions/stub.ts":{"bytesInOutput":311},"src/extensions/index.ts":{"bytesInOutput":0},"src/extensions/posthog/index.ts":{"bytesInOutput":90},"src/extensions/posthog/extension.ts":{"bytesInOutput":6136},"src/providers/index.ts":{"bytesInOutput":174},"src/providers/client-observability.ts":{"bytesInOutput":8977},"src/providers/ip-data.ts":{"bytesInOutput":2202},"src/providers/storage.ts":{"bytesInOutput":895}},"bytes":37674},"dist/lib/node-esm/logs-ARJUVN3T.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7526},"dist/lib/node-esm/logs-ARJUVN3T.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-EDDZWPYV.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["OtelLogs"],"entryPoint":"src/extensions/otel/logs.ts","inputs":{"src/extensions/otel/logs.ts":{"bytesInOutput":3158}},"bytes":3453},"dist/lib/node-esm/metrics-DREJOOAC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5591},"dist/lib/node-esm/metrics-DREJOOAC.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-EDDZWPYV.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"exports":["OtelMetrics"],"entryPoint":"src/extensions/otel/metrics.ts","inputs":{"src/extensions/otel/metrics.ts":{"bytesInOutput":2996}},"bytes":3300},"dist/lib/node-esm/traces-74F7JUKF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8310},"dist/lib/node-esm/traces-74F7JUKF.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-EDDZWPYV.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/core","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["OtelTraces"],"entryPoint":"src/extensions/otel/traces.ts","inputs":{"src/extensions/otel/traces.ts":{"bytesInOutput":3527},"src/extensions/otel/span-processors.ts":{"bytesInOutput":644}},"bytes":4532},"dist/lib/node-esm/chunk-EDDZWPYV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1779},"dist/lib/node-esm/chunk-EDDZWPYV.mjs":{"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"exports":["resolveOtlpUrl","setDiagLogger"],"inputs":{"src/extensions/otel/otel.ts":{"bytesInOutput":404}},"bytes":619},"dist/lib/node-esm/log-processor-ZODHERST.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2899},"dist/lib/node-esm/log-processor-ZODHERST.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"posthog-js","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["logProcessor"],"entryPoint":"src/extensions/posthog/log-processor.ts","inputs":{"src/extensions/posthog/log-processor.ts":{"bytesInOutput":1175}},"bytes":1421},"dist/lib/node-esm/chunk-HSLMI22Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/chunk-HSLMI22Q.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":327}}}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
+
resolveOtlpUrl,
|
|
3
4
|
setDiagLogger
|
|
4
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EDDZWPYV.mjs";
|
|
5
6
|
import "./chunk-HSLMI22Q.mjs";
|
|
6
7
|
|
|
7
8
|
// src/extensions/otel/metrics.ts
|
|
@@ -20,7 +21,7 @@ var OtelMetrics = class {
|
|
|
20
21
|
setDiagLogger(options.consoleDiagLogLevel);
|
|
21
22
|
const grafanaMetricReader = new PeriodicExportingMetricReader({
|
|
22
23
|
exporter: new OTLPMetricExporter({
|
|
23
|
-
url: this.options.endpoint + "/v1/metrics",
|
|
24
|
+
url: resolveOtlpUrl(this.options.endpoint + "/v1/metrics"),
|
|
24
25
|
headers: this.options.headers
|
|
25
26
|
}),
|
|
26
27
|
exportIntervalMillis: EXPORT_INTERVAL
|
|
@@ -57,12 +58,7 @@ var OtelMetrics = class {
|
|
|
57
58
|
...this.options.getTags(),
|
|
58
59
|
...tags
|
|
59
60
|
}
|
|
60
|
-
}, {
|
|
61
|
-
F: __dxlog_file,
|
|
62
|
-
L: 60,
|
|
63
|
-
S: this,
|
|
64
|
-
C: (f, a) => f(...a)
|
|
65
|
-
});
|
|
61
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 52, S: this });
|
|
66
62
|
gauge.record(value, {
|
|
67
63
|
...this.options.getTags(),
|
|
68
64
|
...tags
|
|
@@ -77,12 +73,7 @@ var OtelMetrics = class {
|
|
|
77
73
|
...this.options.getTags(),
|
|
78
74
|
...tags
|
|
79
75
|
}
|
|
80
|
-
}, {
|
|
81
|
-
F: __dxlog_file,
|
|
82
|
-
L: 66,
|
|
83
|
-
S: this,
|
|
84
|
-
C: (f, a) => f(...a)
|
|
85
|
-
});
|
|
76
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 67, S: this });
|
|
86
77
|
counter.add(value ?? 1, {
|
|
87
78
|
...this.options.getTags(),
|
|
88
79
|
...tags
|
|
@@ -97,12 +88,7 @@ var OtelMetrics = class {
|
|
|
97
88
|
...this.options.getTags(),
|
|
98
89
|
...tags
|
|
99
90
|
}
|
|
100
|
-
}, {
|
|
101
|
-
F: __dxlog_file,
|
|
102
|
-
L: 72,
|
|
103
|
-
S: this,
|
|
104
|
-
C: (f, a) => f(...a)
|
|
105
|
-
});
|
|
91
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 82, S: this });
|
|
106
92
|
distribution.record(value, {
|
|
107
93
|
...this.options.getTags(),
|
|
108
94
|
...tags
|
|
@@ -128,4 +114,4 @@ var convertTags = (data) => {
|
|
|
128
114
|
export {
|
|
129
115
|
OtelMetrics
|
|
130
116
|
};
|
|
131
|
-
//# sourceMappingURL=metrics-
|
|
117
|
+
//# sourceMappingURL=metrics-DREJOOAC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/extensions/otel/metrics.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Meter } from '@opentelemetry/api';\nimport { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';\nimport { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';\n\nimport { log } from '@dxos/log';\nimport { type MetricData, TRACE_PROCESSOR } from '@dxos/tracing';\n\nimport { type OtelOptions, resolveOtlpUrl, setDiagLogger } from './otel';\n\nconst EXPORT_INTERVAL = 60 * 1000;\n\nexport class OtelMetrics {\n private _meterProvider: MeterProvider;\n private _meter: Meter;\n\n constructor(private readonly options: OtelOptions) {\n // TODO: improve error handling/logging\n // https://github.com/open-telemetry/opentelemetry-js/issues/4823\n setDiagLogger(options.consoleDiagLogLevel);\n\n const grafanaMetricReader = new PeriodicExportingMetricReader({\n exporter: new OTLPMetricExporter({\n url: resolveOtlpUrl(this.options.endpoint + '/v1/metrics'),\n headers: this.options.headers,\n }),\n exportIntervalMillis: EXPORT_INTERVAL,\n });\n\n this._meterProvider = new MeterProvider({\n resource: this.options.resource,\n readers: [grafanaMetricReader],\n });\n this._meter = this._meterProvider.getMeter('dxos-observability');\n\n const metrics = {\n // TODO: update metrics names and remove prefix?\n increment: (name: string, value?: number, data?: MetricData) => {\n this.increment(name, value, convertTags(data));\n },\n distribution: (name: string, value: number, data?: MetricData) => {\n this.distribution(name, value, convertTags(data));\n },\n set: (name: string, value: number | string, data?: MetricData) => {\n // Not implemented, not part of Otel spec.\n },\n gauge: (name: string, value: number, data?: MetricData) => {\n this.gauge(name, value, convertTags(data));\n },\n };\n\n TRACE_PROCESSOR.remoteMetrics.registerProcessor(metrics);\n }\n\n gauge(name: string, value: number, tags?: any): void {\n const gauge = this._meter.createGauge(name);\n log('otel gauge', { name, value, tags: { ...this.options.getTags(), ...tags } });\n gauge.record(value, { ...this.options.getTags(), ...tags });\n }\n\n increment(name: string, value?: number, tags?: any): void {\n const counter = this._meter.createCounter(name);\n log('otel counter', { name, value, tags: { ...this.options.getTags(), ...tags } });\n counter.add(value ?? 1, { ...this.options.getTags(), ...tags });\n }\n\n distribution(name: string, value: number, tags?: any): void {\n const distribution = this._meter.createHistogram(name);\n log('otel distribution', { name, value, tags: { ...this.options.getTags(), ...tags } });\n distribution.record(value, { ...this.options.getTags(), ...tags });\n }\n\n flush(): Promise<void> {\n return this._meterProvider.forceFlush();\n }\n\n close(): Promise<void> {\n return this._meterProvider.shutdown();\n }\n}\n\nconst convertTags = (data?: MetricData) => {\n if (data && data.tags) {\n return Object.entries(data.tags).reduce<{ [key: string]: any }>((obj, [key, value]) => {\n obj[key] = value;\n return obj;\n }, {});\n } else {\n return {};\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAKA,SAASA,0BAA0B;AACnC,SAASC,eAAeC,qCAAqC;AAE7D,SAASC,WAAW;AACpB,SAA0BC,uBAAuB;AAIjD,IAAA,eAAMC;;AAGIC,IAAAA,cAAAA,MAA8B;EAC9BC;EAER;;cACE,SAAA;AACA,SAAA,UAAA;kBAIY,QAAIC,mBAAmB;gCACX,IAAI,8BAAoB;gBAC5CC,IAAS,mBAAoB;QAC/B,KAAA,eAAA,KAAA,QAAA,WAAA,aAAA;QACAC,SAAAA,KAAAA,QAAsBL;MACxB,CAAA;MAEI,sBAAsBM;;SAExBC,iBAAS,IAAA,cAAA;gBAACC,KAAAA,QAAAA;eAAoB;QAChC;MACI;IAEJ,CAAA;SACE,SAAA,KAAA,eAAA,SAAA,oBAAgD;UAChDC,UAAYC;;MAEZ,WAAA,CAAA,MAAA,OAAA,SAAA;AACAC,aAAAA,UAAeD,MAAcE,OAAeC,YAAAA,IAAAA,CAAAA;;MAE5C,cAAA,CAAA,MAAA,OAAA,SAAA;AACAC,aAAMJ,aAAsCG,MAAAA,OAAAA,YAAAA,IAAAA,CAAAA;MAC1C;MACF,KAAA,CAAA,MAAA,OAAA,SAAA;;MAGA,OAAA,CAAA,MAAA,OAAA,SAAA;AACF,aAAA,MAAA,MAAA,OAAA,YAAA,IAAA,CAAA;MAEAE;IACF;AAEAC,oBAAmCC,cAAkB,kBAAA,OAAA;;QAEnDC,MAAI,OAAA,MAAc;UAAER,QAAAA,KAAAA,OAAAA,YAAAA,IAAAA;QAAME,cAAAA;MAAOK;;YAAmC;QAAQ,GAAA,KAAA,QAAA,QAAA;QAAE,GAAA;MAC9ED;qBAA8BG,YAAQC,GAAO,cAAE,GAAA,IAAA,GAAA,KAAA,CAAA;UAAE,OAAO,OAAA;MAAC,GAAA,KAAA,QAAA,QAAA;MAC3D,GAAA;IAEAX,CAAAA;;YAEM,MAAA,OAAA,MAAgB;UAAEC,UAAAA,KAAAA,OAAAA,cAAAA,IAAAA;QAAME,gBAAAA;MAAOK;;YAAmC;QAAQ,GAAA,KAAA,QAAA,QAAA;QAAE,GAAA;MAChFI;qBAAkCF,YAAQC,GAAO,cAAE,GAAA,IAAA,GAAA,KAAA,CAAA;YAAKH,IAAI,SAAA,GAAA;MAAC,GAAA,KAAA,QAAA,QAAA;MAC/D,GAAA;IAEAN,CAAAA;;eAEM,MAAA,OAAA,MAAqB;UAAED,eAAAA,KAAAA,OAAAA,gBAAAA,IAAAA;QAAME,qBAAAA;MAAOK;;YAAmC;QAAQ,GAAA,KAAA,QAAA,QAAA;QAAE,GAAA;MACrFN;qBAAqCQ,YAAQC,GAAO,cAAE,GAAA,IAAA,GAAA,KAAA,CAAA;iBAAS,OAAA,OAAA;MAAC,GAAA,KAAA,QAAA,QAAA;MAClE,GAAA;IAEAE,CAAAA;;EAEA,QAAA;AAEAC,WAAuB,KAAA,eAAA,WAAA;;EAEvB,QAAA;AACF,WAAA,KAAA,eAAA,SAAA;EAEA;;kBAEWC,CAAAA,SAAOC;cACRC,KAAI,MAAGd;WACX,OAAOe,QAAAA,KAAAA,IAAAA,EAAAA,OAAAA,CAAAA,KAAAA,CAAAA,KAAAA,KAAAA,MAAAA;AACL,UAAA,GAAA,IAAA;AACC,aAAA;IACL,GAAA,CAAA,CAAA;EACF,OAAA;AACF,WAAA,CAAA;;;",
|
|
6
|
+
"names": ["OTLPMetricExporter", "MeterProvider", "PeriodicExportingMetricReader", "log", "TRACE_PROCESSOR", "EXPORT_INTERVAL", "_meterProvider", "_meter", "OTLPMetricExporter", "headers", "exportIntervalMillis", "MeterProvider", "readers", "grafanaMetricReader", "increment", "name", "distribution", "value", "data", "set", "TRACE_PROCESSOR", "gauge", "tags", "log", "options", "getTags", "counter", "flush", "close", "Object", "entries", "key", "obj"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
resolveOtlpUrl
|
|
4
|
+
} from "./chunk-EDDZWPYV.mjs";
|
|
5
|
+
import "./chunk-HSLMI22Q.mjs";
|
|
6
|
+
|
|
7
|
+
// src/extensions/otel/traces.ts
|
|
8
|
+
import { ROOT_CONTEXT, SpanStatusCode, context as otelContext, propagation, trace } from "@opentelemetry/api";
|
|
9
|
+
import { W3CTraceContextPropagator } from "@opentelemetry/core";
|
|
10
|
+
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
11
|
+
import { BasicTracerProvider, BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
12
|
+
import { ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
|
|
13
|
+
import { log as log2 } from "@dxos/log";
|
|
14
|
+
import { TRACE_PROCESSOR } from "@dxos/tracing";
|
|
15
|
+
|
|
16
|
+
// src/extensions/otel/span-processors.ts
|
|
17
|
+
import { log } from "@dxos/log";
|
|
18
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/otel/span-processors.ts";
|
|
19
|
+
var TagInjectorSpanProcessor = class {
|
|
20
|
+
_getTags;
|
|
21
|
+
constructor(_getTags) {
|
|
22
|
+
this._getTags = _getTags;
|
|
23
|
+
}
|
|
24
|
+
onStart(span, _parentContext) {
|
|
25
|
+
let tags;
|
|
26
|
+
try {
|
|
27
|
+
tags = this._getTags();
|
|
28
|
+
} catch (err) {
|
|
29
|
+
log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 28, S: this });
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
for (const [key, value] of Object.entries(tags)) {
|
|
33
|
+
span.setAttribute(key, value);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
onEnd(_span) {
|
|
37
|
+
}
|
|
38
|
+
async shutdown() {
|
|
39
|
+
}
|
|
40
|
+
async forceFlush() {
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
// src/extensions/otel/traces.ts
|
|
45
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/otel/traces.ts";
|
|
46
|
+
var OtelTraces = class {
|
|
47
|
+
options;
|
|
48
|
+
_tracer;
|
|
49
|
+
_tracerProvider;
|
|
50
|
+
constructor(options) {
|
|
51
|
+
this.options = options;
|
|
52
|
+
propagation.setGlobalPropagator(new W3CTraceContextPropagator());
|
|
53
|
+
this._tracerProvider = new BasicTracerProvider({
|
|
54
|
+
resource: this.options.resource,
|
|
55
|
+
spanProcessors: [
|
|
56
|
+
new TagInjectorSpanProcessor(this.options.getTags),
|
|
57
|
+
new BatchSpanProcessor(new OTLPTraceExporter({
|
|
58
|
+
url: resolveOtlpUrl(this.options.endpoint + "/v1/traces"),
|
|
59
|
+
headers: this.options.headers,
|
|
60
|
+
concurrencyLimit: 10
|
|
61
|
+
}))
|
|
62
|
+
]
|
|
63
|
+
});
|
|
64
|
+
trace.setGlobalTracerProvider(this._tracerProvider);
|
|
65
|
+
this._tracer = trace.getTracer("dxos-observability", this.options.resource.attributes[ATTR_SERVICE_VERSION]?.toString());
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Forcibly flush the BatchSpanProcessor. Call before process exit to avoid
|
|
69
|
+
* losing queued spans (which manifests as "Missing Span" in SigNoz — their
|
|
70
|
+
* already-exported children reference a parent that never made it to OTLP).
|
|
71
|
+
*/
|
|
72
|
+
async flush() {
|
|
73
|
+
await this._tracerProvider.forceFlush();
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Flush + shut down the tracer provider via `BasicTracerProvider.shutdown()`,
|
|
77
|
+
* which forces a final export then terminates all span processors.
|
|
78
|
+
*
|
|
79
|
+
* Terminal and effectively one-shot: safe to call after `flush()`, but
|
|
80
|
+
* `flush()` MUST NOT be called after `close()` — shutdown stops further
|
|
81
|
+
* exporting, so subsequent `close()`/`flush()` calls resolve without
|
|
82
|
+
* emitting new spans.
|
|
83
|
+
*/
|
|
84
|
+
async close() {
|
|
85
|
+
await this._tracerProvider.shutdown();
|
|
86
|
+
}
|
|
87
|
+
start() {
|
|
88
|
+
log2("trace processor registered", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 53, S: this });
|
|
89
|
+
const tracer = this._tracer;
|
|
90
|
+
TRACE_PROCESSOR.tracingBackend = {
|
|
91
|
+
startSpan: (options) => {
|
|
92
|
+
log2("begin otel trace", {
|
|
93
|
+
options
|
|
94
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 57, S: this });
|
|
95
|
+
const parentCtx = options.parentContext ? propagation.extract(ROOT_CONTEXT, {
|
|
96
|
+
traceparent: options.parentContext.traceparent,
|
|
97
|
+
tracestate: options.parentContext.tracestate ?? ""
|
|
98
|
+
}) : otelContext.active();
|
|
99
|
+
const span = tracer.startSpan(options.name, options, parentCtx);
|
|
100
|
+
const sc = span.spanContext();
|
|
101
|
+
const spanContext = sc && sc.traceId && sc.spanId ? {
|
|
102
|
+
traceparent: `00-${sc.traceId}-${sc.spanId}-${(sc.traceFlags ?? 0).toString(16).padStart(2, "0")}`,
|
|
103
|
+
tracestate: sc.traceState?.serialize()
|
|
104
|
+
} : void 0;
|
|
105
|
+
return {
|
|
106
|
+
end: (endTime) => span.end(endTime),
|
|
107
|
+
setError: (err) => {
|
|
108
|
+
if (err instanceof Error) {
|
|
109
|
+
span.recordException(err);
|
|
110
|
+
}
|
|
111
|
+
span.setStatus({
|
|
112
|
+
code: SpanStatusCode.ERROR,
|
|
113
|
+
message: err instanceof Error ? err.message : String(err)
|
|
114
|
+
});
|
|
115
|
+
},
|
|
116
|
+
spanContext
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
export {
|
|
123
|
+
OtelTraces
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=traces-74F7JUKF.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/extensions/otel/traces.ts", "../../../src/extensions/otel/span-processors.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n ROOT_CONTEXT,\n SpanStatusCode,\n type Tracer,\n context as otelContext,\n propagation,\n trace,\n} from '@opentelemetry/api';\nimport { W3CTraceContextPropagator } from '@opentelemetry/core';\nimport { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';\nimport { BasicTracerProvider, BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';\nimport { ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';\n\nimport { log } from '@dxos/log';\nimport { type RemoteSpan, type StartSpanOptions, TRACE_PROCESSOR } from '@dxos/tracing';\n\nimport { type OtelOptions, resolveOtlpUrl } from './otel';\nimport { TagInjectorSpanProcessor } from './span-processors';\n\nexport class OtelTraces {\n private _tracer: Tracer;\n private readonly _tracerProvider: BasicTracerProvider;\n\n constructor(private readonly options: OtelOptions) {\n propagation.setGlobalPropagator(new W3CTraceContextPropagator());\n\n this._tracerProvider = new BasicTracerProvider({\n resource: this.options.resource,\n spanProcessors: [\n new TagInjectorSpanProcessor(this.options.getTags),\n new BatchSpanProcessor(\n new OTLPTraceExporter({\n url: resolveOtlpUrl(this.options.endpoint + '/v1/traces'),\n headers: this.options.headers,\n concurrencyLimit: 10,\n }),\n ),\n ],\n });\n\n trace.setGlobalTracerProvider(this._tracerProvider);\n this._tracer = trace.getTracer(\n 'dxos-observability',\n this.options.resource.attributes[ATTR_SERVICE_VERSION]?.toString(),\n );\n }\n\n /**\n * Forcibly flush the BatchSpanProcessor. Call before process exit to avoid\n * losing queued spans (which manifests as \"Missing Span\" in SigNoz — their\n * already-exported children reference a parent that never made it to OTLP).\n */\n public async flush(): Promise<void> {\n await this._tracerProvider.forceFlush();\n }\n\n /**\n * Flush + shut down the tracer provider via `BasicTracerProvider.shutdown()`,\n * which forces a final export then terminates all span processors.\n *\n * Terminal and effectively one-shot: safe to call after `flush()`, but\n * `flush()` MUST NOT be called after `close()` — shutdown stops further\n * exporting, so subsequent `close()`/`flush()` calls resolve without\n * emitting new spans.\n */\n public async close(): Promise<void> {\n await this._tracerProvider.shutdown();\n }\n\n public start(): void {\n log('trace processor registered');\n\n const tracer = this._tracer;\n\n TRACE_PROCESSOR.tracingBackend = {\n startSpan: (options: StartSpanOptions): RemoteSpan => {\n log('begin otel trace', { options });\n const parentCtx = options.parentContext\n ? propagation.extract(ROOT_CONTEXT, {\n traceparent: options.parentContext.traceparent,\n tracestate: options.parentContext.tracestate ?? '',\n })\n : otelContext.active();\n\n const span = tracer.startSpan(options.name, options, parentCtx);\n\n const sc = span.spanContext();\n const spanContext =\n sc && sc.traceId && sc.spanId\n ? {\n traceparent: `00-${sc.traceId}-${sc.spanId}-${(sc.traceFlags ?? 0).toString(16).padStart(2, '0')}`,\n tracestate: sc.traceState?.serialize(),\n }\n : undefined;\n\n return {\n end: (endTime?: number) => span.end(endTime),\n setError: (err: unknown) => {\n if (err instanceof Error) {\n span.recordException(err);\n }\n span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });\n },\n spanContext,\n };\n },\n };\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Context } from '@opentelemetry/api';\nimport { type ReadableSpan, type Span, type SpanProcessor } from '@opentelemetry/sdk-trace-base';\n\nimport { log } from '@dxos/log';\n\n/**\n * Injects dynamic tags as attributes on every span.\n *\n * This is an `onStart`-only processor; `onEnd`/`shutdown`/`forceFlush` are no-ops\n * because this processor never holds pending work (delegates export to downstream\n * processors like BatchSpanProcessor).\n *\n * Use for tags that are not known at provider construction (e.g. identity\n * resolved asynchronously after login). For values known at startup, prefer\n * putting them on the `Resource` — see `extension.ts`.\n *\n * Failures in the tag provider are swallowed so they can never break span\n * recording (the processor is best-effort and runs on the startSpan hot path).\n */\nexport class TagInjectorSpanProcessor implements SpanProcessor {\n constructor(private readonly _getTags: () => Record<string, string>) {}\n\n onStart(span: Span, _parentContext: Context): void {\n let tags: Record<string, string>;\n try {\n tags = this._getTags();\n } catch (err) {\n log.catch(err);\n return;\n }\n for (const [key, value] of Object.entries(tags)) {\n span.setAttribute(key, value);\n }\n }\n\n onEnd(_span: ReadableSpan): void {}\n\n async shutdown(): Promise<void> {}\n\n async forceFlush(): Promise<void> {}\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,SACEA,cACAC,gBAEAC,WAAWC,aACXC,aACAC,aACK;AACP,SAASC,iCAAiC;AAC1C,SAASC,yBAAyB;AAClC,SAASC,qBAAqBC,0BAA0B;AACxD,SAASC,4BAA4B;AAErC,SAASC,OAAAA,YAAW;AACpB,SAAiDC,uBAAuB;;;ACXxE,SAASC,WAAW;AAEpB,IAAA,eAAA;AAeE,IAA6BC,2BAA7B,MAAqE;;EAAC,YAAA,UAAA;AAEtEC,SAAQC,WAAYC;;UAEd,MAAA,gBAAA;QACFC;AACF,QAAE;AACAL,aAAIM,KAAMC,SAAAA;aACV,KAAA;AACF,UAAA,MAAA,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AACA;;AAEA,eAAA,CAAA,KAAA,KAAA,KAAA,OAAA,QAAA,IAAA,GAAA;AACF,WAAA,aAAA,KAAA,KAAA;IAEAC;EAEA;EAEA,MAAMC,OAAAA;EAAAA;EACR,MAAA,WAAA;EAAA;;;;;;ADrBA,IAAAC,gBAAaC;AACHC,IAAgB,aAAhBA,MAAgB;EACPC;EAEjB;;cACEC,SAAYC;AAEZ,SAAKF,UAAAA;gBACHG,oBAAuBA,IAAQ,0BAAA,CAAA;SAC/BC,kBAAgB,IAAA,oBAAA;gBACVC,KAAAA,QAAAA;sBACAC;YAEAC,yBAAyBC,KAAAA,QAAQC,OAAW;YAC5CC,mBAAcF,IAAQE,kBAAO;UAC7BC,KAAAA,eAAkB,KAAA,QAAA,WAAA,YAAA;UACpB,SAAA,KAAA,QAAA;UAEH,kBAAA;QACH,CAAA,CAAA;MAEAC;IACA,CAAA;AAIF,UAAA,wBAAA,KAAA,eAAA;AAEA,SAAA,UAAA,MAAA,UAAA,sBAAA,KAAA,QAAA,SAAA,WAAA,oBAAA,GAAA,SAAA,CAAA;;;;;;;EAOA,MAAA,QAAA;AAEA,UAAA,KAAA,gBAAA,WAAA;;;;;;;;;;;EAWA,MAAA,QAAA;AAEOC,UAAc,KAAA,gBAAA,SAAA;;UAGnB;AAEAC,IAAAA,KAAAA,8BAAiC,QAAA,EAAA,YAAA,YAAA,GAAAjB,eAAA,GAAA,IAAA,GAAA,KAAA,CAAA;UAC/BkB,SAAW,KAACP;oBACN,iBAAoB;iBAAEA,CAAAA,YAAAA;AAAQ,QAAAQ,KAAA,oBAAA;UAClC;yBAEMC,YAAqBC,GAAAA,eAAcD,GAAAA,IAAAA,GAAAA,KAAW,CAAA;cAC9CE,YAAYX,QAAQU,gBAAcC,YAAc,QAAA,cAAA;UAClD,aACYC,QAAM,cAAA;UAEtB,YAAaC,QAAON,cAAkBO,cAAMd;QAE5C,CAAA,IAAA,YAAgBe,OAAAA;AAChB,cAAMA,OAAAA,OACJC,UAASC,QAAO,MAAOC,SACnB,SAAA;cACET,KAAAA,KAAAA,YAAsBQ;cACtBN,cAAeQ,MAAAA,GAAU,WAAEC,GAAAA,SAAAA;UAE7BC,aAAAA,MAAAA,GAAAA,OAAAA,IAAAA,GAAAA,MAAAA,KAAAA,GAAAA,cAAAA,GAAAA,SAAAA,EAAAA,EAAAA,SAAAA,GAAAA,GAAAA,CAAAA;UAEN,YAAO,GAAA,YAAA,UAAA;YACLC;eACAC;eACE,CAAA,YAAIC,KAAAA,IAAeC,OAAO;oBACxBC,CAAAA,QAAKC;AACP,gBAAA,eAAA,OAAA;AACAD,mBAAKE,gBAAU,GAAA;;iBAA8BC,UAASL;cAAiD,MAAA,eAAA;cACzG,SAAA,eAAA,QAAA,IAAA,UAAA,OAAA,GAAA;YACAT,CAAAA;UACF;UACF;QACF;MACF;IACF;;;",
|
|
6
|
+
"names": ["ROOT_CONTEXT", "SpanStatusCode", "context", "otelContext", "propagation", "trace", "W3CTraceContextPropagator", "OTLPTraceExporter", "BasicTracerProvider", "BatchSpanProcessor", "ATTR_SERVICE_VERSION", "log", "TRACE_PROCESSOR", "log", "_getTags", "onStart", "span", "_parentContext", "tags", "catch", "err", "onEnd", "forceFlush", "__dxlog_file", "OtelTraces", "_tracer", "_tracerProvider", "propagation", "setGlobalPropagator", "resource", "spanProcessors", "TagInjectorSpanProcessor", "BatchSpanProcessor", "url", "options", "endpoint", "headers", "concurrencyLimit", "trace", "start", "TRACE_PROCESSOR", "startSpan", "log", "traceparent", "parentContext", "tracestate", "active", "tracer", "name", "spanContext", "sc", "traceId", "spanId", "traceState", "serialize", "undefined", "end", "setError", "err", "Error", "span", "recordException", "setStatus", "message"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"POSTHOG_API_KEY": null,
|
|
3
3
|
"IPDATA_API_KEY": "73dfdecdf979c18f07d50cf841bbdd9e589f237256326ac8cca23786",
|
|
4
|
-
"OTEL_ENDPOINT": "
|
|
5
|
-
"OTEL_HEADERS":
|
|
4
|
+
"OTEL_ENDPOINT": "/api/otel",
|
|
5
|
+
"OTEL_HEADERS": null
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/otel/extension.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAE,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/otel/extension.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAE,KAAK,MAAM,EAAuB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAO,MAAM,WAAW,CAAC;AAI1C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,+BAA+B,CAAC;AAIlF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,+FAA+F;IAC/F,WAAW,EAAE,MAAM,CAAC;IACpB,kGAAkG;IAClG,cAAc,EAAE,MAAM,CAAC;IACvB,sGAAsG;IACtG,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,UAAU,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAuL9E,CAAC"}
|
|
@@ -7,6 +7,7 @@ import * as Effect from 'effect/Effect';
|
|
|
7
7
|
import * as Match from 'effect/Match';
|
|
8
8
|
import * as Option from 'effect/Option';
|
|
9
9
|
import * as Ref from 'effect/Ref';
|
|
10
|
+
import { resolveTelemetryTag } from '@dxos/config';
|
|
10
11
|
import { LogLevel, log } from '@dxos/log';
|
|
11
12
|
import { isNode, isNonNullable } from '@dxos/util';
|
|
12
13
|
import buildSecrets from '../../cli-observability-secrets.json';
|
|
@@ -23,26 +24,55 @@ logs: logsEnabled = false, logLevel = LogLevel.INFO, metrics: metricsEnabled = f
|
|
|
23
24
|
const { OtelMetrics } = yield* Effect.promise(() => import('./metrics'));
|
|
24
25
|
const { OtelTraces } = yield* Effect.promise(() => import('./traces'));
|
|
25
26
|
const cachedDisabled = yield* Effect.promise(() => isObservabilityDisabled(serviceName));
|
|
26
|
-
const
|
|
27
|
+
const disabled = cachedDisabled || isObservabilityDisabledSync(serviceName);
|
|
28
|
+
const enabledRef = yield* Ref.make(!disabled);
|
|
27
29
|
const tags = new Map();
|
|
28
|
-
const
|
|
30
|
+
const rawEndpoint = isNode()
|
|
29
31
|
? (process.env.DX_OTEL_ENDPOINT ?? _endpoint ?? buildSecrets.OTEL_ENDPOINT)
|
|
30
|
-
: config.values.runtime?.app?.env?.DX_OTEL_ENDPOINT;
|
|
32
|
+
: (config.values.runtime?.app?.env?.DX_OTEL_ENDPOINT ?? _endpoint);
|
|
33
|
+
// The OTLP exporter (>= 0.203) validates URLs and rejects relative paths.
|
|
34
|
+
// In the browser/worker, resolve relative endpoints against the current origin
|
|
35
|
+
// so callers can keep using paths like `/api/otel` for proxied deployments.
|
|
36
|
+
const endpoint = !isNode() && rawEndpoint?.startsWith('/') ? resolveRelativeEndpoint(rawEndpoint) : rawEndpoint;
|
|
31
37
|
const headers = _headers ??
|
|
32
38
|
Match.value(isNode()).pipe(Match.when(true, () => Option.fromNullable(process.env.DX_OTEL_HEADERS ?? buildSecrets.OTEL_HEADERS)), Match.when(false, () => Option.fromNullable(config.values.runtime?.app?.env?.DX_OTEL_HEADERS)), Match.exhaustive, Option.map((raw) => parseHeaders(raw)), Option.getOrElse(() => undefined));
|
|
33
|
-
if (!endpoint
|
|
34
|
-
log.info('Missing OTEL_ENDPOINT
|
|
39
|
+
if (!endpoint) {
|
|
40
|
+
log.info('Missing OTEL_ENDPOINT');
|
|
35
41
|
return stubExtension;
|
|
36
42
|
}
|
|
43
|
+
// Headers are optional when using a proxy that injects auth server-side.
|
|
44
|
+
const resolvedHeaders = headers ?? {};
|
|
45
|
+
// OTLP HTTP exporters require an absolute URL. Resolve relative paths using the current origin.
|
|
46
|
+
// globalThis.location is defined in all browser contexts (main thread, dedicated/service workers).
|
|
47
|
+
const resolvedEndpoint = !isNode() && endpoint.startsWith('/') ? `${globalThis.location.origin}${endpoint}` : endpoint;
|
|
48
|
+
// Matches edge's `ctx.tag` span attribute (stamped by the edge log middleware
|
|
49
|
+
// when it reads the `X-DXOS-Client-Tag` header, see
|
|
50
|
+
// /edge/packages/services/edge/src/log-middleware.ts).
|
|
51
|
+
//
|
|
52
|
+
// Stamped in TWO places:
|
|
53
|
+
// 1. Resource attribute — so logs and metrics emitted from this extension
|
|
54
|
+
// also carry it, and for zero per-span cost.
|
|
55
|
+
// 2. Span attribute via `tags` — because edge puts `ctx.tag` in the span-
|
|
56
|
+
// attribute context (not resource), and SigNoz indexes the two contexts
|
|
57
|
+
// separately. Stamping it on span attributes here keeps a single
|
|
58
|
+
// `ctx.tag = <value>` filter matching spans from both tiers in SigNoz
|
|
59
|
+
// without requiring qualified `attribute.ctx.tag`/`resource.ctx.tag` syntax.
|
|
60
|
+
const clientTag = resolveTelemetryTag(config);
|
|
61
|
+
if (clientTag) {
|
|
62
|
+
tags.set('ctx.tag', clientTag);
|
|
63
|
+
}
|
|
37
64
|
const resource = defaultResource().merge(resourceFromAttributes({
|
|
38
65
|
[ATTR_SERVICE_NAME]: serviceName,
|
|
39
66
|
[ATTR_SERVICE_VERSION]: serviceVersion,
|
|
67
|
+
'session.id': crypto.randomUUID(),
|
|
40
68
|
'deployment.environment': environment,
|
|
69
|
+
'dxos.process.type': detectProcessType(),
|
|
70
|
+
...(clientTag ? { 'ctx.tag': clientTag } : {}),
|
|
41
71
|
}));
|
|
42
72
|
const logs = logsEnabled
|
|
43
73
|
? new OtelLogs({
|
|
44
|
-
endpoint,
|
|
45
|
-
headers,
|
|
74
|
+
endpoint: resolvedEndpoint,
|
|
75
|
+
headers: resolvedHeaders,
|
|
46
76
|
resource,
|
|
47
77
|
getTags: () => Object.fromEntries(tags),
|
|
48
78
|
logLevel,
|
|
@@ -50,22 +80,25 @@ logs: logsEnabled = false, logLevel = LogLevel.INFO, metrics: metricsEnabled = f
|
|
|
50
80
|
: undefined;
|
|
51
81
|
const metrics = metricsEnabled
|
|
52
82
|
? new OtelMetrics({
|
|
53
|
-
endpoint,
|
|
54
|
-
headers,
|
|
83
|
+
endpoint: resolvedEndpoint,
|
|
84
|
+
headers: resolvedHeaders,
|
|
55
85
|
resource,
|
|
56
86
|
getTags: () => Object.fromEntries(tags),
|
|
57
87
|
})
|
|
58
88
|
: undefined;
|
|
59
89
|
const traces = tracesEnabled
|
|
60
90
|
? new OtelTraces({
|
|
61
|
-
endpoint,
|
|
62
|
-
headers,
|
|
91
|
+
endpoint: resolvedEndpoint,
|
|
92
|
+
headers: resolvedHeaders,
|
|
63
93
|
resource,
|
|
64
94
|
getTags: () => Object.fromEntries(tags),
|
|
65
95
|
})
|
|
66
96
|
: undefined;
|
|
67
|
-
|
|
97
|
+
const extension = {
|
|
68
98
|
initialize: () => Effect.sync(() => {
|
|
99
|
+
if (disabled) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
69
102
|
if (logs) {
|
|
70
103
|
log.runtimeConfig.processors.push(logs.logProcessor);
|
|
71
104
|
}
|
|
@@ -82,12 +115,30 @@ logs: logsEnabled = false, logLevel = LogLevel.INFO, metrics: metricsEnabled = f
|
|
|
82
115
|
yield* Ref.update(enabledRef, () => false);
|
|
83
116
|
}),
|
|
84
117
|
close: () => Effect.promise(async () => {
|
|
85
|
-
|
|
86
|
-
|
|
118
|
+
// Run logs/metrics close concurrently and swallow their failures so the
|
|
119
|
+
// tracer provider shutdown below ALWAYS runs. Without this, a rejection
|
|
120
|
+
// from logs or metrics would drop the tracer provider's BatchSpanProcessor
|
|
121
|
+
// queue on process exit, manifesting as "Missing Span" in SigNoz for any
|
|
122
|
+
// already-exported children.
|
|
123
|
+
const results = await Promise.allSettled([logs?.close(), metrics?.close()]);
|
|
124
|
+
for (const result of results) {
|
|
125
|
+
if (result.status === 'rejected') {
|
|
126
|
+
log.catch(result.reason);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Critical: shut down the tracer provider so BatchSpanProcessor drains its
|
|
130
|
+
// queue. Otherwise spans enqueued in the last 5s (close/teardown spans)
|
|
131
|
+
// are dropped on process exit.
|
|
132
|
+
await traces?.close();
|
|
87
133
|
}),
|
|
88
134
|
flush: () => Effect.promise(async () => {
|
|
89
|
-
await logs?.flush();
|
|
90
|
-
|
|
135
|
+
const results = await Promise.allSettled([logs?.flush(), metrics?.flush()]);
|
|
136
|
+
for (const result of results) {
|
|
137
|
+
if (result.status === 'rejected') {
|
|
138
|
+
log.catch(result.reason);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
await traces?.flush();
|
|
91
142
|
}),
|
|
92
143
|
setTags: (incomingTags) => {
|
|
93
144
|
for (const [key, value] of Object.entries(incomingTags)) {
|
|
@@ -111,7 +162,52 @@ logs: logsEnabled = false, logLevel = LogLevel.INFO, metrics: metricsEnabled = f
|
|
|
111
162
|
traces ? { kind: 'traces', isAvailable: () => Effect.succeed(true) } : undefined,
|
|
112
163
|
].filter(isNonNullable),
|
|
113
164
|
};
|
|
165
|
+
return extension;
|
|
114
166
|
});
|
|
167
|
+
/**
|
|
168
|
+
* Synchronous best-effort check for observability opt-out.
|
|
169
|
+
* Prevents telemetry from being emitted before the async storage check completes.
|
|
170
|
+
*/
|
|
171
|
+
const isObservabilityDisabledSync = (serviceName) => {
|
|
172
|
+
if (isNode()) {
|
|
173
|
+
return process.env.DX_DISABLE_OBSERVABILITY === 'true';
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
if (typeof localStorage !== 'undefined') {
|
|
177
|
+
return localStorage.getItem(`${serviceName}/observability-disabled`) === 'true';
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// localStorage not available (e.g., in workers).
|
|
182
|
+
}
|
|
183
|
+
return false;
|
|
184
|
+
};
|
|
185
|
+
/** Best-effort detection of the JavaScript execution context type. */
|
|
186
|
+
const detectProcessType = () => {
|
|
187
|
+
if (isNode()) {
|
|
188
|
+
return 'node';
|
|
189
|
+
}
|
|
190
|
+
if (typeof window !== 'undefined') {
|
|
191
|
+
return 'browser';
|
|
192
|
+
}
|
|
193
|
+
if (typeof globalThis.ServiceWorkerGlobalScope !== 'undefined') {
|
|
194
|
+
return 'service-worker';
|
|
195
|
+
}
|
|
196
|
+
if (typeof globalThis.SharedWorkerGlobalScope !== 'undefined') {
|
|
197
|
+
return 'shared-worker';
|
|
198
|
+
}
|
|
199
|
+
return 'dedicated-worker';
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* Resolves a relative OTLP endpoint path against the current global origin.
|
|
203
|
+
* Workers expose the same `globalThis.location` as the page that spawned them;
|
|
204
|
+
* if neither is available we fall back to the original path and let the OTLP
|
|
205
|
+
* exporter surface the configuration error.
|
|
206
|
+
*/
|
|
207
|
+
const resolveRelativeEndpoint = (path) => {
|
|
208
|
+
const origin = globalThis.location?.origin;
|
|
209
|
+
return origin ? `${origin}${path}` : path;
|
|
210
|
+
};
|
|
115
211
|
const parseHeaders = (unparsedHeaders) => {
|
|
116
212
|
return unparsedHeaders.split(';').reduce((acc, header) => {
|
|
117
213
|
const [key, ...rest] = header.split(':');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../../../src/extensions/otel/extension.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC9F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../../../src/extensions/otel/extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/otel/logs.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,QAAQ,EACR,KAAK,YAAY,EAGlB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/otel/logs.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,QAAQ,EACR,KAAK,YAAY,EAGlB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,QAAQ,CAAC;AAIzE,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,qBAAa,QAAQ;IAEP,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,OAAO,CAAC,eAAe,CAAiB;IACxC,YAA6B,OAAO,EAAE,cAAc,EAWnD;IAED,SAAgB,YAAY,EAAE,YAAY,CAyBxC;IAEF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;CACF"}
|