@dxos/observability 0.8.4-main.ae835ea → 0.8.4-main.bc2380dfbc
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-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-PSFTIG54.mjs +20 -0
- package/dist/lib/browser/chunk-PSFTIG54.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +944 -34
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/log-processor-HPHWNBOK.mjs +38 -0
- package/dist/lib/browser/log-processor-HPHWNBOK.mjs.map +7 -0
- package/dist/lib/browser/logs-UTNIFYHF.mjs +116 -0
- package/dist/lib/browser/logs-UTNIFYHF.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/metrics-PRGSYAZJ.mjs +116 -0
- 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-EDDZWPYV.mjs +22 -0
- package/dist/lib/node-esm/chunk-EDDZWPYV.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/index.mjs +966 -34
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/log-processor-ZODHERST.mjs +39 -0
- package/dist/lib/node-esm/log-processor-ZODHERST.mjs.map +7 -0
- package/dist/lib/node-esm/logs-ARJUVN3T.mjs +117 -0
- 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-DREJOOAC.mjs +117 -0
- 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 +3 -4
- package/dist/types/src/extensions/index.d.ts +3 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -0
- package/dist/types/src/extensions/index.js +6 -0
- package/dist/types/src/extensions/index.js.map +1 -0
- package/dist/types/src/extensions/otel/extension.d.ts +23 -0
- package/dist/types/src/extensions/otel/extension.d.ts.map +1 -0
- package/dist/types/src/extensions/otel/extension.js +206 -0
- package/dist/types/src/extensions/otel/extension.js.map +1 -0
- package/dist/types/src/extensions/otel/index.d.ts +2 -0
- package/dist/types/src/extensions/otel/index.d.ts.map +1 -0
- package/dist/types/src/extensions/otel/index.js +5 -0
- package/dist/types/src/extensions/otel/index.js.map +1 -0
- package/dist/types/src/{otel → extensions/otel}/logs.d.ts +4 -3
- package/dist/types/src/extensions/otel/logs.d.ts.map +1 -0
- package/dist/types/src/extensions/otel/logs.js +107 -0
- package/dist/types/src/extensions/otel/logs.js.map +1 -0
- package/dist/types/src/extensions/otel/metrics.d.ts.map +1 -0
- package/dist/types/src/{otel → extensions/otel}/metrics.js +4 -12
- package/dist/types/src/extensions/otel/metrics.js.map +1 -0
- package/dist/types/src/extensions/otel/otel.d.ts +19 -0
- package/dist/types/src/extensions/otel/otel.d.ts.map +1 -0
- package/dist/types/src/extensions/otel/otel.js +23 -0
- package/dist/types/src/extensions/otel/otel.js.map +1 -0
- 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 +25 -0
- package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -0
- package/dist/types/src/extensions/otel/traces-browser.js +105 -0
- package/dist/types/src/extensions/otel/traces-browser.js.map +1 -0
- package/dist/types/src/extensions/otel/traces.d.ts +25 -0
- package/dist/types/src/extensions/otel/traces.d.ts.map +1 -0
- package/dist/types/src/extensions/otel/traces.js +88 -0
- package/dist/types/src/extensions/otel/traces.js.map +1 -0
- package/dist/types/src/extensions/posthog/extension.d.ts +28 -0
- package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -0
- package/dist/types/src/extensions/posthog/extension.js +144 -0
- package/dist/types/src/extensions/posthog/extension.js.map +1 -0
- package/dist/types/src/extensions/posthog/index.d.ts +2 -0
- package/dist/types/src/extensions/posthog/index.d.ts.map +1 -0
- package/dist/types/src/extensions/posthog/index.js +5 -0
- package/dist/types/src/extensions/posthog/index.js.map +1 -0
- package/dist/types/src/extensions/posthog/log-processor.d.ts +3 -0
- package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -0
- package/dist/types/src/extensions/posthog/log-processor.js +36 -0
- package/dist/types/src/extensions/posthog/log-processor.js.map +1 -0
- package/dist/types/src/extensions/posthog/log-processor.test.d.ts +2 -0
- package/dist/types/src/extensions/posthog/log-processor.test.d.ts.map +1 -0
- package/dist/types/src/extensions/posthog/log-processor.test.js +146 -0
- package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -0
- package/dist/types/src/extensions/stub.d.ts +3 -0
- package/dist/types/src/extensions/stub.d.ts.map +1 -0
- package/dist/types/src/extensions/stub.js +16 -0
- package/dist/types/src/extensions/stub.js.map +1 -0
- package/dist/types/src/index.d.ts +3 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/index.js +4 -3
- package/dist/types/src/index.js.map +1 -1
- package/dist/types/src/observability-extension.d.ts +74 -0
- package/dist/types/src/observability-extension.d.ts.map +1 -0
- package/dist/types/src/observability-extension.js +5 -0
- package/dist/types/src/observability-extension.js.map +1 -0
- package/dist/types/src/observability.d.ts +32 -110
- package/dist/types/src/observability.d.ts.map +1 -1
- package/dist/types/src/observability.js +177 -465
- package/dist/types/src/observability.js.map +1 -1
- package/dist/types/src/observability.test.d.ts +2 -0
- package/dist/types/src/observability.test.d.ts.map +1 -0
- package/dist/types/src/observability.test.js +312 -0
- package/dist/types/src/observability.test.js.map +1 -0
- package/dist/types/src/providers/client-observability.d.ts +11 -0
- package/dist/types/src/providers/client-observability.d.ts.map +1 -0
- package/dist/types/src/providers/client-observability.js +202 -0
- package/dist/types/src/providers/client-observability.js.map +1 -0
- package/dist/types/src/providers/index.d.ts +4 -0
- package/dist/types/src/providers/index.d.ts.map +1 -0
- package/dist/types/src/providers/index.js +7 -0
- package/dist/types/src/providers/index.js.map +1 -0
- package/dist/types/src/providers/ip-data.d.ts +5 -0
- package/dist/types/src/providers/ip-data.d.ts.map +1 -0
- package/dist/types/src/providers/ip-data.js +57 -0
- package/dist/types/src/providers/ip-data.js.map +1 -0
- package/dist/types/src/providers/storage.d.ts +3 -0
- package/dist/types/src/providers/storage.d.ts.map +1 -0
- package/dist/types/src/providers/storage.js +19 -0
- package/dist/types/src/providers/storage.js.map +1 -0
- package/dist/types/src/storage/browser.d.ts +19 -0
- package/dist/types/src/storage/browser.d.ts.map +1 -0
- package/dist/types/src/storage/browser.js +69 -0
- package/dist/types/src/storage/browser.js.map +1 -0
- package/dist/types/src/storage/index.d.ts +2 -0
- package/dist/types/src/storage/index.d.ts.map +1 -0
- package/dist/types/src/storage/index.js.map +1 -0
- package/dist/types/src/storage/node.d.ts +26 -0
- package/dist/types/src/storage/node.d.ts.map +1 -0
- package/dist/types/src/{helpers/node-observability.js → storage/node.js} +38 -43
- package/dist/types/src/storage/node.js.map +1 -0
- package/dist/types/src/storage/node.test.d.ts +2 -0
- package/dist/types/src/storage/node.test.d.ts.map +1 -0
- package/dist/types/src/storage/node.test.js +103 -0
- package/dist/types/src/storage/node.test.js.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +48 -65
- package/src/cli-observability-secrets.json +3 -4
- package/src/extensions/index.ts +6 -0
- package/src/extensions/otel/extension.ts +264 -0
- package/src/extensions/otel/index.ts +5 -0
- package/src/extensions/otel/logs.ts +137 -0
- package/src/{otel → extensions/otel}/metrics.ts +4 -14
- package/src/extensions/otel/otel.ts +34 -0
- package/src/extensions/otel/span-processors.ts +45 -0
- package/src/extensions/otel/traces-browser.ts +139 -0
- package/src/extensions/otel/traces.ts +113 -0
- package/src/extensions/posthog/extension.ts +188 -0
- package/src/extensions/posthog/index.ts +5 -0
- package/src/extensions/posthog/log-processor.test.ts +186 -0
- package/src/extensions/posthog/log-processor.ts +43 -0
- package/src/extensions/stub.ts +19 -0
- package/src/index.ts +4 -3
- package/src/observability-extension.ts +94 -0
- package/src/observability.test.ts +531 -0
- package/src/observability.ts +236 -577
- package/src/providers/client-observability.ts +255 -0
- package/src/providers/index.ts +7 -0
- package/src/providers/ip-data.ts +91 -0
- package/src/providers/storage.ts +23 -0
- package/src/storage/browser.ts +71 -0
- package/src/{segment → storage}/index.ts +0 -1
- package/src/storage/node.test.ts +129 -0
- package/src/{helpers/node-observability.ts → storage/node.ts} +41 -71
- package/src/vite-import-meta.d.ts +14 -0
- package/dist/lib/browser/chunk-5ICT2XF2.mjs +0 -1
- package/dist/lib/browser/chunk-USIB5JOP.mjs +0 -1019
- package/dist/lib/browser/chunk-USIB5JOP.mjs.map +0 -7
- package/dist/lib/browser/chunk-XNAF22QM.mjs +0 -148
- package/dist/lib/browser/chunk-XNAF22QM.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZI3ZS3PA.mjs +0 -164
- package/dist/lib/browser/chunk-ZI3ZS3PA.mjs.map +0 -7
- package/dist/lib/browser/observability-AOZNUWZS.mjs +0 -10
- package/dist/lib/browser/otel-UH7ZRWC2.mjs +0 -287
- package/dist/lib/browser/otel-UH7ZRWC2.mjs.map +0 -7
- package/dist/lib/browser/segment/index.mjs +0 -11
- package/dist/lib/browser/segment/index.mjs.map +0 -7
- package/dist/lib/browser/sentry/index.mjs +0 -24
- package/dist/lib/browser/sentry/index.mjs.map +0 -7
- package/dist/lib/browser/sentry-log-processor-5LSQJMIO.mjs +0 -146
- package/dist/lib/browser/sentry-log-processor-5LSQJMIO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JJS4CBLT.mjs +0 -1020
- package/dist/lib/node-esm/chunk-JJS4CBLT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OJV247NY.mjs +0 -204
- package/dist/lib/node-esm/chunk-OJV247NY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QK5IUYVA.mjs +0 -135
- package/dist/lib/node-esm/chunk-QK5IUYVA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QUZL7LKE.mjs +0 -2
- package/dist/lib/node-esm/chunk-QUZL7LKE.mjs.map +0 -7
- package/dist/lib/node-esm/observability-UWX2LAYX.mjs +0 -11
- package/dist/lib/node-esm/observability-UWX2LAYX.mjs.map +0 -7
- package/dist/lib/node-esm/otel-7PUCFSTY.mjs +0 -270
- package/dist/lib/node-esm/otel-7PUCFSTY.mjs.map +0 -7
- package/dist/lib/node-esm/segment/index.mjs +0 -12
- package/dist/lib/node-esm/segment/index.mjs.map +0 -7
- package/dist/lib/node-esm/sentry/index.mjs +0 -25
- package/dist/lib/node-esm/sentry/index.mjs.map +0 -7
- package/dist/lib/node-esm/sentry-log-processor-C4UGMAMV.mjs +0 -147
- package/dist/lib/node-esm/sentry-log-processor-C4UGMAMV.mjs.map +0 -7
- package/dist/types/src/helpers/browser-observability.d.ts +0 -17
- package/dist/types/src/helpers/browser-observability.d.ts.map +0 -1
- package/dist/types/src/helpers/browser-observability.js +0 -138
- package/dist/types/src/helpers/browser-observability.js.map +0 -1
- package/dist/types/src/helpers/common.d.ts +0 -12
- package/dist/types/src/helpers/common.d.ts.map +0 -1
- package/dist/types/src/helpers/common.js +0 -23
- package/dist/types/src/helpers/common.js.map +0 -1
- package/dist/types/src/helpers/index.d.ts +0 -6
- package/dist/types/src/helpers/index.d.ts.map +0 -1
- package/dist/types/src/helpers/index.js +0 -9
- package/dist/types/src/helpers/index.js.map +0 -1
- package/dist/types/src/helpers/map-spaces.d.ts +0 -18
- package/dist/types/src/helpers/map-spaces.d.ts.map +0 -1
- package/dist/types/src/helpers/map-spaces.js +0 -36
- package/dist/types/src/helpers/map-spaces.js.map +0 -1
- package/dist/types/src/helpers/node-observability.d.ts +0 -24
- package/dist/types/src/helpers/node-observability.d.ts.map +0 -1
- package/dist/types/src/helpers/node-observability.js.map +0 -1
- package/dist/types/src/helpers/setup-telemetry-listeners.d.ts +0 -4
- package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +0 -1
- package/dist/types/src/helpers/setup-telemetry-listeners.js +0 -94
- package/dist/types/src/helpers/setup-telemetry-listeners.js.map +0 -1
- package/dist/types/src/otel/index.d.ts +0 -5
- package/dist/types/src/otel/index.d.ts.map +0 -1
- package/dist/types/src/otel/index.js +0 -8
- package/dist/types/src/otel/index.js.map +0 -1
- package/dist/types/src/otel/logs.d.ts.map +0 -1
- package/dist/types/src/otel/logs.js +0 -74
- package/dist/types/src/otel/logs.js.map +0 -1
- package/dist/types/src/otel/metrics.d.ts.map +0 -1
- package/dist/types/src/otel/metrics.js.map +0 -1
- package/dist/types/src/otel/otel.d.ts +0 -12
- package/dist/types/src/otel/otel.d.ts.map +0 -1
- package/dist/types/src/otel/otel.js +0 -11
- package/dist/types/src/otel/otel.js.map +0 -1
- package/dist/types/src/otel/traces-browser.d.ts +0 -8
- package/dist/types/src/otel/traces-browser.d.ts.map +0 -1
- package/dist/types/src/otel/traces-browser.js +0 -53
- package/dist/types/src/otel/traces-browser.js.map +0 -1
- package/dist/types/src/otel/traces.d.ts +0 -8
- package/dist/types/src/otel/traces.d.ts.map +0 -1
- package/dist/types/src/otel/traces.js +0 -46
- package/dist/types/src/otel/traces.js.map +0 -1
- package/dist/types/src/segment/base.d.ts +0 -15
- package/dist/types/src/segment/base.d.ts.map +0 -1
- package/dist/types/src/segment/base.js +0 -51
- package/dist/types/src/segment/base.js.map +0 -1
- package/dist/types/src/segment/browser.d.ts +0 -15
- package/dist/types/src/segment/browser.d.ts.map +0 -1
- package/dist/types/src/segment/browser.js +0 -63
- package/dist/types/src/segment/browser.js.map +0 -1
- package/dist/types/src/segment/index.d.ts +0 -3
- package/dist/types/src/segment/index.d.ts.map +0 -1
- package/dist/types/src/segment/index.js +0 -6
- package/dist/types/src/segment/index.js.map +0 -1
- package/dist/types/src/segment/node.d.ts +0 -16
- package/dist/types/src/segment/node.d.ts.map +0 -1
- package/dist/types/src/segment/node.js +0 -84
- package/dist/types/src/segment/node.js.map +0 -1
- package/dist/types/src/segment/types.d.ts +0 -52
- package/dist/types/src/segment/types.d.ts.map +0 -1
- package/dist/types/src/segment/types.js +0 -18
- package/dist/types/src/segment/types.js.map +0 -1
- package/dist/types/src/sentry/browser.d.ts +0 -32
- package/dist/types/src/sentry/browser.d.ts.map +0 -1
- package/dist/types/src/sentry/browser.js +0 -110
- package/dist/types/src/sentry/browser.js.map +0 -1
- package/dist/types/src/sentry/index.d.ts +0 -3
- package/dist/types/src/sentry/index.d.ts.map +0 -1
- package/dist/types/src/sentry/index.js.map +0 -1
- package/dist/types/src/sentry/node.d.ts +0 -32
- package/dist/types/src/sentry/node.d.ts.map +0 -1
- package/dist/types/src/sentry/node.js +0 -106
- package/dist/types/src/sentry/node.js.map +0 -1
- package/dist/types/src/sentry/node.node.test.d.ts +0 -2
- package/dist/types/src/sentry/node.node.test.d.ts.map +0 -1
- package/dist/types/src/sentry/node.node.test.js +0 -32
- package/dist/types/src/sentry/node.node.test.js.map +0 -1
- package/dist/types/src/sentry/sentry-log-processor.d.ts +0 -9
- package/dist/types/src/sentry/sentry-log-processor.d.ts.map +0 -1
- package/dist/types/src/sentry/sentry-log-processor.js +0 -144
- package/dist/types/src/sentry/sentry-log-processor.js.map +0 -1
- package/dist/types/src/sentry/sentry.node.test.d.ts +0 -2
- package/dist/types/src/sentry/sentry.node.test.d.ts.map +0 -1
- package/dist/types/src/sentry/sentry.node.test.js +0 -28
- package/dist/types/src/sentry/sentry.node.test.js.map +0 -1
- package/dist/types/src/sentry/types.d.ts +0 -18
- package/dist/types/src/sentry/types.d.ts.map +0 -1
- package/dist/types/src/sentry/types.js +0 -4
- package/dist/types/src/sentry/types.js.map +0 -1
- package/dist/types/src/testing/index.d.ts +0 -2
- package/dist/types/src/testing/index.d.ts.map +0 -1
- package/dist/types/src/testing/index.js +0 -5
- package/dist/types/src/testing/index.js.map +0 -1
- package/dist/types/src/testing/testkit/browser.d.ts +0 -2
- package/dist/types/src/testing/testkit/browser.d.ts.map +0 -1
- package/dist/types/src/testing/testkit/browser.js +0 -7
- package/dist/types/src/testing/testkit/browser.js.map +0 -1
- package/dist/types/src/testing/testkit/index.d.ts +0 -2
- package/dist/types/src/testing/testkit/index.d.ts.map +0 -1
- package/dist/types/src/testing/testkit/index.js +0 -6
- package/dist/types/src/testing/testkit/index.js.map +0 -1
- package/src/helpers/browser-observability.ts +0 -178
- package/src/helpers/common.ts +0 -38
- package/src/helpers/index.ts +0 -9
- package/src/helpers/map-spaces.ts +0 -48
- package/src/helpers/setup-telemetry-listeners.ts +0 -109
- package/src/otel/index.ts +0 -8
- package/src/otel/logs.ts +0 -102
- package/src/otel/otel.ts +0 -21
- package/src/otel/traces-browser.ts +0 -62
- package/src/otel/traces.ts +0 -60
- package/src/segment/base.ts +0 -69
- package/src/segment/browser.ts +0 -69
- package/src/segment/node.ts +0 -95
- package/src/segment/types.ts +0 -57
- package/src/sentry/browser.ts +0 -133
- package/src/sentry/index.ts +0 -6
- package/src/sentry/node.node.test.ts +0 -40
- package/src/sentry/node.ts +0 -126
- package/src/sentry/sentry-log-processor.ts +0 -174
- package/src/sentry/sentry.node.test.ts +0 -35
- package/src/sentry/types.ts +0 -22
- package/src/testing/index.ts +0 -5
- package/src/testing/testkit/browser.ts +0 -8
- package/src/testing/testkit/index.ts +0 -7
- package/src/testing/testkit/shims.d.ts +0 -5
- /package/dist/lib/browser/{chunk-5ICT2XF2.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{browser/observability-AOZNUWZS.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
- /package/dist/types/src/{otel → extensions/otel}/metrics.d.ts +0 -0
- /package/dist/types/src/{sentry → storage}/index.js +0 -0
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { trace } from '@opentelemetry/api';
|
|
5
|
-
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
|
|
6
|
-
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
7
|
-
import { registerInstrumentations } from '@opentelemetry/instrumentation';
|
|
8
|
-
import { defaultResource, resourceFromAttributes } from '@opentelemetry/resources';
|
|
9
|
-
import { BatchSpanProcessor, ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
10
|
-
import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
|
|
11
|
-
import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
|
|
12
|
-
import { log } from '@dxos/log';
|
|
13
|
-
import { TRACE_PROCESSOR } from '@dxos/tracing';
|
|
14
|
-
export class OtelTraces {
|
|
15
|
-
options;
|
|
16
|
-
_tracer;
|
|
17
|
-
constructor(options) {
|
|
18
|
-
this.options = options;
|
|
19
|
-
const resource = defaultResource().merge(resourceFromAttributes({
|
|
20
|
-
[SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,
|
|
21
|
-
[SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion,
|
|
22
|
-
}));
|
|
23
|
-
const tracerProvider = new WebTracerProvider({
|
|
24
|
-
resource,
|
|
25
|
-
spanProcessors: [
|
|
26
|
-
new SimpleSpanProcessor(new ConsoleSpanExporter()),
|
|
27
|
-
new BatchSpanProcessor(new OTLPTraceExporter({
|
|
28
|
-
url: this.options.endpoint + '/v1/traces',
|
|
29
|
-
headers: {
|
|
30
|
-
Authorization: this.options.authorizationHeader,
|
|
31
|
-
},
|
|
32
|
-
concurrencyLimit: 10, // an optional limit on pending requests
|
|
33
|
-
})),
|
|
34
|
-
],
|
|
35
|
-
});
|
|
36
|
-
// TODO(nf): ContextManager? Propogator?
|
|
37
|
-
trace.setGlobalTracerProvider(tracerProvider);
|
|
38
|
-
this._tracer = trace.getTracer('dxos-observability', this.options.serviceVersion);
|
|
39
|
-
}
|
|
40
|
-
start() {
|
|
41
|
-
registerInstrumentations({
|
|
42
|
-
instrumentations: [getWebAutoInstrumentations()],
|
|
43
|
-
});
|
|
44
|
-
log('trace processor registered');
|
|
45
|
-
TRACE_PROCESSOR.remoteTracing.registerProcessor({
|
|
46
|
-
startSpan: (options) => {
|
|
47
|
-
log('begin otel trace', { options });
|
|
48
|
-
return this._tracer.startSpan(options.name, options);
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=traces-browser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"traces-browser.js","sourceRoot":"","sources":["../../../../src/otel/traces-browser.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAe,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAE5G,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAyB,eAAe,EAAE,MAAM,eAAe,CAAC;AAIvE,MAAM,OAAO,UAAU;IAEQ;IADrB,OAAO,CAAS;IACxB,YAA6B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAC/C,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,KAAK,CACtC,sBAAsB,CAAC;YACrB,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACpD,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;SAC3D,CAAC,CACH,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC;YAC3C,QAAQ;YACR,cAAc,EAAE;gBACd,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAClD,IAAI,kBAAkB,CACpB,IAAI,iBAAiB,CAAC;oBACpB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY;oBACzC,OAAO,EAAE;wBACP,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;qBAChD;oBACD,gBAAgB,EAAE,EAAE,EAAE,wCAAwC;iBAC/D,CAAC,CACH;aACF;SACF,CAAC,CAAC;QAEH,wCAAwC;QACxC,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpF,CAAC;IAEM,KAAK;QACV,wBAAwB,CAAC;YACvB,gBAAgB,EAAE,CAAC,0BAA0B,EAAE,CAAC;SACjD,CAAC,CAAC;QACH,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAClC,eAAe,CAAC,aAAa,CAAC,iBAAiB,CAAC;YAC9C,SAAS,EAAE,CAAC,OAAyB,EAAE,EAAE;gBACvC,GAAG,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"traces.d.ts","sourceRoot":"","sources":["../../../../src/otel/traces.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,qBAAa,UAAU;IAET,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,OAAO,CAAC,OAAO,CAAS;gBACK,OAAO,EAAE,WAAW;IA4B1C,KAAK,IAAI,IAAI;CASrB"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { trace } from '@opentelemetry/api';
|
|
5
|
-
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
6
|
-
import { defaultResource, resourceFromAttributes } from '@opentelemetry/resources';
|
|
7
|
-
import { BasicTracerProvider, BatchSpanProcessor, ConsoleSpanExporter, SimpleSpanProcessor, } from '@opentelemetry/sdk-trace-base';
|
|
8
|
-
import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
|
|
9
|
-
import { log } from 'debug';
|
|
10
|
-
import { TRACE_PROCESSOR } from '@dxos/tracing';
|
|
11
|
-
export class OtelTraces {
|
|
12
|
-
options;
|
|
13
|
-
_tracer;
|
|
14
|
-
constructor(options) {
|
|
15
|
-
this.options = options;
|
|
16
|
-
const resource = defaultResource().merge(resourceFromAttributes({
|
|
17
|
-
[SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,
|
|
18
|
-
[SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion,
|
|
19
|
-
}));
|
|
20
|
-
const tracerProvider = new BasicTracerProvider({
|
|
21
|
-
resource,
|
|
22
|
-
spanProcessors: [
|
|
23
|
-
new SimpleSpanProcessor(new ConsoleSpanExporter()),
|
|
24
|
-
new BatchSpanProcessor(new OTLPTraceExporter({
|
|
25
|
-
url: this.options.endpoint + '/v1/traces',
|
|
26
|
-
headers: {
|
|
27
|
-
Authorization: this.options.authorizationHeader,
|
|
28
|
-
},
|
|
29
|
-
concurrencyLimit: 10, // an optional limit on pending requests
|
|
30
|
-
})),
|
|
31
|
-
],
|
|
32
|
-
});
|
|
33
|
-
trace.setGlobalTracerProvider(tracerProvider);
|
|
34
|
-
this._tracer = trace.getTracer('dxos-observability', this.options.serviceVersion);
|
|
35
|
-
}
|
|
36
|
-
start() {
|
|
37
|
-
log('trace processor registered');
|
|
38
|
-
TRACE_PROCESSOR.remoteTracing.registerProcessor({
|
|
39
|
-
startSpan: (options) => {
|
|
40
|
-
log('begin otel trace', { options });
|
|
41
|
-
return this._tracer.startSpan(options.name, options);
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=traces.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"traces.js","sourceRoot":"","sources":["../../../../src/otel/traces.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAe,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAC5G,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAyB,eAAe,EAAE,MAAM,eAAe,CAAC;AAIvE,MAAM,OAAO,UAAU;IAEQ;IADrB,OAAO,CAAS;IACxB,YAA6B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAC/C,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,KAAK,CACtC,sBAAsB,CAAC;YACrB,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACpD,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;SAC3D,CAAC,CACH,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,mBAAmB,CAAC;YAC7C,QAAQ;YACR,cAAc,EAAE;gBACd,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAClD,IAAI,kBAAkB,CACpB,IAAI,iBAAiB,CAAC;oBACpB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY;oBACzC,OAAO,EAAE;wBACP,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;qBAChD;oBACD,gBAAgB,EAAE,EAAE,EAAE,wCAAwC;iBAC/D,CAAC,CACH;aACF;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpF,CAAC;IAEM,KAAK;QACV,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAClC,eAAe,CAAC,aAAa,CAAC,iBAAiB,CAAC;YAC9C,SAAS,EAAE,CAAC,OAAyB,EAAE,EAAE;gBACvC,GAAG,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type IdentifyParams, type PageParams, type TrackParams } from '@segment/analytics-node';
|
|
2
|
-
import { type PageOptions, type Tags, type TrackOptions } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Base class for Node and BrowserSegment telemetry.
|
|
5
|
-
*/
|
|
6
|
-
export declare abstract class AbstractSegmentTelemetry {
|
|
7
|
-
private readonly _getTags;
|
|
8
|
-
constructor(_getTags: () => Tags);
|
|
9
|
-
abstract identify(options: IdentifyParams): void;
|
|
10
|
-
abstract page(options: PageOptions): void;
|
|
11
|
-
abstract track(options: TrackOptions): void;
|
|
12
|
-
protected createPageProps(options: PageOptions): PageParams;
|
|
13
|
-
protected createTrackProps(options: TrackOptions): TrackParams;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/segment/base.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAIjG,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,IAAI,EAET,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAgBjB;;GAEG;AACH,8BAAsB,wBAAwB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM,IAAI;IAEjD,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAEhD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAEzC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAE3C,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU;IAY3D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAa/D"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { log } from '@dxos/log';
|
|
5
|
-
import { TelemetryEvent, } from './types';
|
|
6
|
-
/**
|
|
7
|
-
* NOTE: Segment provides a default ID if we don't provide one.
|
|
8
|
-
*/
|
|
9
|
-
const getIdentityOptions = ({ did, installationId }) => {
|
|
10
|
-
if (!did && !installationId) {
|
|
11
|
-
log.warn('No telemetry identifier provided.');
|
|
12
|
-
}
|
|
13
|
-
return {
|
|
14
|
-
userId: did,
|
|
15
|
-
anonymousId: installationId,
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Base class for Node and BrowserSegment telemetry.
|
|
20
|
-
*/
|
|
21
|
-
export class AbstractSegmentTelemetry {
|
|
22
|
-
_getTags;
|
|
23
|
-
constructor(_getTags) {
|
|
24
|
-
this._getTags = _getTags;
|
|
25
|
-
}
|
|
26
|
-
createPageProps(options) {
|
|
27
|
-
const { properties, ...rest } = options;
|
|
28
|
-
return {
|
|
29
|
-
...getIdentityOptions(options),
|
|
30
|
-
...rest,
|
|
31
|
-
properties: {
|
|
32
|
-
common: this._getTags(),
|
|
33
|
-
custom: properties,
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
createTrackProps(options) {
|
|
38
|
-
const { event, action, properties, ...rest } = options;
|
|
39
|
-
return {
|
|
40
|
-
...getIdentityOptions(options),
|
|
41
|
-
...rest,
|
|
42
|
-
event: event ?? TelemetryEvent.ACTION,
|
|
43
|
-
properties: {
|
|
44
|
-
action,
|
|
45
|
-
common: this._getTags(),
|
|
46
|
-
custom: properties,
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/segment/base.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAIF,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAKL,cAAc,GAEf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,EAAmB,EAA0B,EAAE;IAC9F,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,cAAc;KACF,CAAC;AAC9B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAgB,wBAAwB;IACf;IAA7B,YAA6B,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;IAAG,CAAC;IAQ3C,eAAe,CAAC,OAAoB;QAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACxC,OAAO;YACL,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC9B,GAAG,IAAI;YACP,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACvB,MAAM,EAAE,UAAU;aACnB;SACF,CAAC;IACJ,CAAC;IAES,gBAAgB,CAAC,OAAqB;QAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACvD,OAAO;YACL,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC9B,GAAG,IAAI;YACP,KAAK,EAAE,KAAK,IAAI,cAAc,CAAC,MAAM;YACrC,UAAU,EAAE;gBACV,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACvB,MAAM,EAAE,UAAU;aACnB;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type IdentifyParams } from '@segment/analytics-node';
|
|
2
|
-
import { AbstractSegmentTelemetry } from './base';
|
|
3
|
-
import type { PageOptions, SegmentTelemetryOptions, TrackOptions } from './types';
|
|
4
|
-
/**
|
|
5
|
-
* Browser telemetry.
|
|
6
|
-
*/
|
|
7
|
-
export declare class SegmentTelemetry extends AbstractSegmentTelemetry {
|
|
8
|
-
constructor({ apiKey, batchSize, getTags }: SegmentTelemetryOptions);
|
|
9
|
-
identify(options: IdentifyParams): void;
|
|
10
|
-
page(options: PageOptions): void;
|
|
11
|
-
track(options: TrackOptions): void;
|
|
12
|
-
flush(): Promise<void>;
|
|
13
|
-
close(): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/segment/browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAO9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElF;;GAEG;AAEH,qBAAa,gBAAiB,SAAQ,wBAAwB;gBAChD,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAYnE,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAQvC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAShC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAS5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAC7B"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2022 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import snippet from '@segment/snippet';
|
|
5
|
-
import { log } from '@dxos/log';
|
|
6
|
-
import { captureException } from '../sentry';
|
|
7
|
-
import { AbstractSegmentTelemetry } from './base';
|
|
8
|
-
/**
|
|
9
|
-
* Browser telemetry.
|
|
10
|
-
*/
|
|
11
|
-
// https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#basic-tracking-methods
|
|
12
|
-
export class SegmentTelemetry extends AbstractSegmentTelemetry {
|
|
13
|
-
constructor({ apiKey, batchSize, getTags }) {
|
|
14
|
-
super(getTags);
|
|
15
|
-
try {
|
|
16
|
-
const contents = snippet.min({ apiKey, page: false });
|
|
17
|
-
const script = document.createElement('script');
|
|
18
|
-
script.innerHTML = contents;
|
|
19
|
-
document.body.append(script);
|
|
20
|
-
}
|
|
21
|
-
catch (err) {
|
|
22
|
-
log.catch('failed to initialize telemetry', err);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
identify(options) {
|
|
26
|
-
try {
|
|
27
|
-
window.analytics?.identify(options.userId, options.traits);
|
|
28
|
-
}
|
|
29
|
-
catch (err) {
|
|
30
|
-
log.catch('failed to identify', err);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
page(options) {
|
|
34
|
-
try {
|
|
35
|
-
const props = this.createPageProps(options);
|
|
36
|
-
window.analytics?.page(props.category, props.name, props.properties);
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
log.catch('failed to track page', err);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
track(options) {
|
|
43
|
-
try {
|
|
44
|
-
const props = this.createTrackProps(options);
|
|
45
|
-
window.analytics?.track(props.event, props.properties);
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
log.catch('failed to track event', err);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
async flush() {
|
|
52
|
-
try {
|
|
53
|
-
await window.analytics?.flush((err) => {
|
|
54
|
-
captureException(err);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
log.catch('failed to flush telemetry', err);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
async close() { }
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=browser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/segment/browser.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAGF,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAGlD;;GAEG;AACH,4GAA4G;AAC5G,MAAM,OAAO,gBAAiB,SAAQ,wBAAwB;IAC5D,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAA2B;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC;YACF,MAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAoB;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAc,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAqB;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAc,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAO,MAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAClD,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,KAAmB,CAAC;CAChC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/segment/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/segment/index.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type IdentifyParams } from '@segment/analytics-node';
|
|
2
|
-
import { AbstractSegmentTelemetry } from './base';
|
|
3
|
-
import type { PageOptions, SegmentTelemetryOptions, TrackOptions } from './types';
|
|
4
|
-
/**
|
|
5
|
-
* Node telemetry.
|
|
6
|
-
*/
|
|
7
|
-
export declare class SegmentTelemetry extends AbstractSegmentTelemetry {
|
|
8
|
-
private _analytics?;
|
|
9
|
-
constructor({ apiKey, batchSize, getTags }: SegmentTelemetryOptions);
|
|
10
|
-
identify(options: IdentifyParams): void;
|
|
11
|
-
page(options: PageOptions): void;
|
|
12
|
-
track(options: TrackOptions): void;
|
|
13
|
-
flush(): Promise<void>;
|
|
14
|
-
close(): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=node.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../src/segment/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAOzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,wBAAwB;IAC5D,OAAO,CAAC,UAAU,CAAC,CAAY;gBAEnB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAanE,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAavC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAahC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAc5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2022 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { Analytics } from '@segment/analytics-node';
|
|
5
|
-
import { invariant } from '@dxos/invariant';
|
|
6
|
-
import { log } from '@dxos/log';
|
|
7
|
-
import { captureException } from '../sentry';
|
|
8
|
-
import { AbstractSegmentTelemetry } from './base';
|
|
9
|
-
/**
|
|
10
|
-
* Node telemetry.
|
|
11
|
-
*/
|
|
12
|
-
export class SegmentTelemetry extends AbstractSegmentTelemetry {
|
|
13
|
-
_analytics;
|
|
14
|
-
constructor({ apiKey, batchSize, getTags }) {
|
|
15
|
-
super(getTags);
|
|
16
|
-
try {
|
|
17
|
-
invariant(apiKey, 'Missing API key.');
|
|
18
|
-
this._analytics = new Analytics({
|
|
19
|
-
writeKey: apiKey,
|
|
20
|
-
flushAt: batchSize,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
catch (err) {
|
|
24
|
-
log.catch('Failed to initialize telemetry', err);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
identify(options) {
|
|
28
|
-
if (!this._analytics) {
|
|
29
|
-
log('Analytics not initialized', { action: 'identify' });
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
this._analytics.identify(options);
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
log.catch('Failed to identify', err);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
page(options) {
|
|
40
|
-
if (!this._analytics) {
|
|
41
|
-
log('Analytics not initialized', { action: 'page' });
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
this._analytics.page(this.createPageProps(options));
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
log.catch('Failed to track page', err);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
track(options) {
|
|
52
|
-
if (!this._analytics) {
|
|
53
|
-
log('Analytics not initialized', { action: 'track' });
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
log.info('sending event to telemetry', { options });
|
|
57
|
-
try {
|
|
58
|
-
this._analytics.track(this.createTrackProps(options));
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
log.catch('Failed to track action', err);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async flush() {
|
|
65
|
-
if (!this._analytics) {
|
|
66
|
-
log('Analytics not initialized', { action: 'flush' });
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
try {
|
|
70
|
-
await this._analytics.flush();
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
// are these errors worth capturing?
|
|
74
|
-
captureException(err);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
async close() {
|
|
78
|
-
if (!this._analytics) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
await this._analytics.closeAndFlush();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/segment/node.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,SAAS,EAAuB,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAGlD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,wBAAwB;IACpD,UAAU,CAAa;IAE/B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAA2B;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC;YACH,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC;gBAC9B,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oCAAoC;YACpC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
export type Tags = Record<string, string>;
|
|
2
|
-
export type SegmentTelemetryOptions = {
|
|
3
|
-
apiKey?: string;
|
|
4
|
-
batchSize?: number;
|
|
5
|
-
enable?: boolean;
|
|
6
|
-
getTags: () => Tags;
|
|
7
|
-
};
|
|
8
|
-
export type SegmentIdentityOptions = {
|
|
9
|
-
userId: string;
|
|
10
|
-
anonymousId?: string;
|
|
11
|
-
} | {
|
|
12
|
-
userId?: string;
|
|
13
|
-
anonymousId: string;
|
|
14
|
-
};
|
|
15
|
-
export type IdentityOptions = {
|
|
16
|
-
did?: string;
|
|
17
|
-
installationId?: string;
|
|
18
|
-
};
|
|
19
|
-
export type CommonOptions = IdentityOptions & {
|
|
20
|
-
timestamp?: Date;
|
|
21
|
-
properties?: Record<string, unknown>;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Page views.
|
|
25
|
-
* https://segment.com/docs/connections/sources/catalog/libraries/server/node/#page
|
|
26
|
-
*/
|
|
27
|
-
export type PageOptions = CommonOptions & {
|
|
28
|
-
category?: string;
|
|
29
|
-
name?: string;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Track actions.
|
|
33
|
-
* https://segment.com/docs/connections/sources/catalog/libraries/server/node/#track
|
|
34
|
-
*/
|
|
35
|
-
export type TrackOptions = CommonOptions & {
|
|
36
|
-
event?: TelemetryEvent;
|
|
37
|
-
action: string;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Each event will be mapped to a different Postgres table via segment.
|
|
41
|
-
*/
|
|
42
|
-
export declare enum TelemetryEvent {
|
|
43
|
-
/**
|
|
44
|
-
* Use actions.
|
|
45
|
-
*/
|
|
46
|
-
ACTION = "action",
|
|
47
|
-
/**
|
|
48
|
-
* High-volume technical metrics.
|
|
49
|
-
*/
|
|
50
|
-
METRICS = "metrics"
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/segment/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1C,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAG7C,MAAM,MAAM,eAAe,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IACzC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,oBAAY,cAAc;IACxB;;OAEG;IACH,MAAM,WAAW;IACjB;;OAEG;IACH,OAAO,YAAY;CACpB"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2022 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
/**
|
|
5
|
-
* Each event will be mapped to a different Postgres table via segment.
|
|
6
|
-
*/
|
|
7
|
-
export var TelemetryEvent;
|
|
8
|
-
(function (TelemetryEvent) {
|
|
9
|
-
/**
|
|
10
|
-
* Use actions.
|
|
11
|
-
*/
|
|
12
|
-
TelemetryEvent["ACTION"] = "action";
|
|
13
|
-
/**
|
|
14
|
-
* High-volume technical metrics.
|
|
15
|
-
*/
|
|
16
|
-
TelemetryEvent["METRICS"] = "metrics";
|
|
17
|
-
})(TelemetryEvent || (TelemetryEvent = {}));
|
|
18
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/segment/types.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AA0CF;;GAEG;AACH,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACxB;;OAEG;IACH,mCAAiB,CAAA;IACjB;;OAEG;IACH,qCAAmB,CAAA;AACrB,CAAC,EATW,cAAc,KAAd,cAAc,QASzB"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { addBreadcrumb as naturalAddBreadcrumb, captureException as naturalCaptureException, captureMessage as naturalCaptureMessage, withScope as naturalWithScope } from '@sentry/browser';
|
|
2
|
-
import { type InitOptions } from './types';
|
|
3
|
-
export { setTag, setTags, setUser } from '@sentry/browser';
|
|
4
|
-
/**
|
|
5
|
-
* To use this SDK, call the init function as early as possible when loading the web page.
|
|
6
|
-
* To set context information or send manual events, use the provided methods.
|
|
7
|
-
*
|
|
8
|
-
* @param options {InitOptions}
|
|
9
|
-
*/
|
|
10
|
-
export declare const init: (options: InitOptions) => void;
|
|
11
|
-
/**
|
|
12
|
-
* Records a new breadcrumb which will be attached to future events.
|
|
13
|
-
*
|
|
14
|
-
* Breadcrumbs will be added to subsequent events to provide more context on user's actions prior to an error or crash.
|
|
15
|
-
*
|
|
16
|
-
* https://docs.sentry.io/platforms/javascript/enriching-events/breadcrumbs/
|
|
17
|
-
*
|
|
18
|
-
* @param breadcrumb — The breadcrumb to record.
|
|
19
|
-
*/
|
|
20
|
-
export declare const addBreadcrumb: typeof naturalAddBreadcrumb;
|
|
21
|
-
/**
|
|
22
|
-
* Captures an exception event and sends it to Sentry.
|
|
23
|
-
*
|
|
24
|
-
* @param exception — An exception-like object.
|
|
25
|
-
* @param captureContext — Additional scope data to apply to exception event.
|
|
26
|
-
* @returns — The generated eventId.
|
|
27
|
-
*/
|
|
28
|
-
export declare const captureException: typeof naturalCaptureException;
|
|
29
|
-
export declare const captureMessage: typeof naturalCaptureMessage;
|
|
30
|
-
export declare const captureUserFeedback: (message: string) => Promise<string>;
|
|
31
|
-
export declare const withScope: typeof naturalWithScope;
|
|
32
|
-
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/sentry/browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,aAAa,IAAI,oBAAoB,EACrC,gBAAgB,IAAI,uBAAuB,EAC3C,cAAc,IAAI,qBAAqB,EAGvC,SAAS,IAAI,gBAAgB,EAI9B,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS,WAAW,SA4CxC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,oBAOlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,uBASrC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAAO,qBASnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,oBAElD,CAAC;AAEF,eAAO,MAAM,SAAS,yBAAmB,CAAC"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2022 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
import { breadcrumbsIntegration, browserTracingIntegration, feedbackIntegration, httpClientIntegration, metrics, addBreadcrumb as naturalAddBreadcrumb, captureException as naturalCaptureException, captureMessage as naturalCaptureMessage, init as naturalInit, sendFeedback as naturalSendFeedback, withScope as naturalWithScope, replayIntegration, setTag, startInactiveSpan, } from '@sentry/browser';
|
|
5
|
-
import { log } from '@dxos/log';
|
|
6
|
-
import { TRACE_PROCESSOR } from '@dxos/tracing';
|
|
7
|
-
// Polyfill export.
|
|
8
|
-
export { setTag, setTags, setUser } from '@sentry/browser';
|
|
9
|
-
/**
|
|
10
|
-
* To use this SDK, call the init function as early as possible when loading the web page.
|
|
11
|
-
* To set context information or send manual events, use the provided methods.
|
|
12
|
-
*
|
|
13
|
-
* @param options {InitOptions}
|
|
14
|
-
*/
|
|
15
|
-
export const init = (options) => {
|
|
16
|
-
try {
|
|
17
|
-
log('sentry init', options);
|
|
18
|
-
naturalInit({
|
|
19
|
-
enabled: options.enable ?? true,
|
|
20
|
-
dsn: options.destination,
|
|
21
|
-
release: options.release,
|
|
22
|
-
environment: options.environment,
|
|
23
|
-
integrations: [
|
|
24
|
-
breadcrumbsIntegration({ console: false, fetch: false }),
|
|
25
|
-
httpClientIntegration({
|
|
26
|
-
failedRequestStatusCodes: [
|
|
27
|
-
// 401 errors are omitted as they happen as a part of the EDGE authentication flow.
|
|
28
|
-
[400, 400],
|
|
29
|
-
[402, 599],
|
|
30
|
-
],
|
|
31
|
-
}),
|
|
32
|
-
feedbackIntegration({ autoInject: false }),
|
|
33
|
-
...(options.tracing ? [browserTracingIntegration()] : []),
|
|
34
|
-
...(options.replay ? [replayIntegration({ blockAllMedia: true, maskAllText: true })] : []),
|
|
35
|
-
],
|
|
36
|
-
replaysSessionSampleRate: options.replaySampleRate,
|
|
37
|
-
replaysOnErrorSampleRate: options.replaySampleRateOnError,
|
|
38
|
-
tracesSampleRate: options.sampleRate,
|
|
39
|
-
transport: options.transport, // TODO(dmaretskyi): Fix
|
|
40
|
-
beforeSend: (event) => {
|
|
41
|
-
options.onError?.(event);
|
|
42
|
-
return event;
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
if (options.tracing) {
|
|
46
|
-
TRACE_PROCESSOR.remoteMetrics.registerProcessor(metrics);
|
|
47
|
-
TRACE_PROCESSOR.remoteTracing.registerProcessor({
|
|
48
|
-
startSpan: startInactiveSpan,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
Object.entries(options.properties ?? {}).forEach(([key, value]) => {
|
|
52
|
-
setTag(key, value);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
log.catch('Failed to initialize sentry', err);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Records a new breadcrumb which will be attached to future events.
|
|
61
|
-
*
|
|
62
|
-
* Breadcrumbs will be added to subsequent events to provide more context on user's actions prior to an error or crash.
|
|
63
|
-
*
|
|
64
|
-
* https://docs.sentry.io/platforms/javascript/enriching-events/breadcrumbs/
|
|
65
|
-
*
|
|
66
|
-
* @param breadcrumb — The breadcrumb to record.
|
|
67
|
-
*/
|
|
68
|
-
export const addBreadcrumb = (breadcrumb) => {
|
|
69
|
-
try {
|
|
70
|
-
naturalAddBreadcrumb(breadcrumb);
|
|
71
|
-
log('add breadcrumb', breadcrumb);
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
log.catch('Failed to add breadcrumb', err);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* Captures an exception event and sends it to Sentry.
|
|
79
|
-
*
|
|
80
|
-
* @param exception — An exception-like object.
|
|
81
|
-
* @param captureContext — Additional scope data to apply to exception event.
|
|
82
|
-
* @returns — The generated eventId.
|
|
83
|
-
*/
|
|
84
|
-
export const captureException = (exception, captureContext) => {
|
|
85
|
-
try {
|
|
86
|
-
const eventId = naturalCaptureException(exception, captureContext);
|
|
87
|
-
log('capture exception', { exception, eventId, ...captureContext });
|
|
88
|
-
return eventId;
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
log.catch('Failed to capture exception', err);
|
|
92
|
-
return 'unknown';
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
export const captureMessage = (exception, captureContext) => {
|
|
96
|
-
try {
|
|
97
|
-
const eventId = naturalCaptureMessage(exception, captureContext);
|
|
98
|
-
log('capture message', { exception, eventId, captureContext });
|
|
99
|
-
return eventId;
|
|
100
|
-
}
|
|
101
|
-
catch (err) {
|
|
102
|
-
log.catch('Failed to capture message', err);
|
|
103
|
-
return 'unknown';
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
export const captureUserFeedback = (message) => {
|
|
107
|
-
return naturalSendFeedback({ message }, { includeReplay: true });
|
|
108
|
-
};
|
|
109
|
-
export const withScope = naturalWithScope;
|
|
110
|
-
//# sourceMappingURL=browser.js.map
|