@dxos/observability 0.8.4-main.ead640a → 0.8.4-main.ef1bc66f44
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/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-K4VFBKST.mjs +13 -0
- package/dist/lib/browser/chunk-K4VFBKST.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1066 -34
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/log-processor-FDLTDQEM.mjs +45 -0
- package/dist/lib/browser/log-processor-FDLTDQEM.mjs.map +7 -0
- package/dist/lib/browser/logs-ATTRIUTL.mjs +113 -0
- package/dist/lib/browser/logs-ATTRIUTL.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/metrics-PKTV6IGF.mjs +130 -0
- package/dist/lib/browser/metrics-PKTV6IGF.mjs.map +7 -0
- package/dist/lib/browser/traces-browser-XYXBF5ZX.mjs +62 -0
- package/dist/lib/browser/traces-browser-XYXBF5ZX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FEVP3MK4.mjs +15 -0
- package/dist/lib/node-esm/chunk-FEVP3MK4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/index.mjs +1070 -34
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs +46 -0
- package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs.map +7 -0
- package/dist/lib/node-esm/logs-7J45KLM7.mjs +114 -0
- package/dist/lib/node-esm/logs-7J45KLM7.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/metrics-H7DDLYSG.mjs +131 -0
- package/dist/lib/node-esm/metrics-H7DDLYSG.mjs.map +7 -0
- package/dist/lib/node-esm/traces-KMTHMYFX.mjs +44 -0
- package/dist/lib/node-esm/traces-KMTHMYFX.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 +124 -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/{otel → extensions/otel}/logs.js +48 -18
- 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 +2 -10
- package/dist/types/src/extensions/otel/metrics.js.map +1 -0
- package/dist/types/src/{otel → extensions/otel}/otel.d.ts +3 -3
- package/dist/types/src/extensions/otel/otel.d.ts.map +1 -0
- package/dist/types/src/extensions/otel/otel.js.map +1 -0
- package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -0
- package/dist/types/src/{otel → extensions/otel}/traces-browser.js +6 -15
- package/dist/types/src/extensions/otel/traces-browser.js.map +1 -0
- package/dist/types/src/extensions/otel/traces.d.ts.map +1 -0
- package/dist/types/src/{otel → extensions/otel}/traces.js +5 -13
- package/dist/types/src/extensions/otel/traces.js.map +1 -0
- package/dist/types/src/extensions/posthog/extension.d.ts +15 -0
- package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -0
- package/dist/types/src/extensions/posthog/extension.js +143 -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 +45 -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 +4 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/index.js +5 -3
- package/dist/types/src/index.js.map +1 -1
- package/dist/types/src/log-buffer.d.ts +34 -0
- package/dist/types/src/log-buffer.d.ts.map +1 -0
- package/dist/types/src/log-buffer.js +70 -0
- package/dist/types/src/log-buffer.js.map +1 -0
- package/dist/types/src/log-buffer.test.d.ts +2 -0
- package/dist/types/src/log-buffer.test.d.ts.map +1 -0
- package/dist/types/src/log-buffer.test.js +107 -0
- package/dist/types/src/log-buffer.test.js.map +1 -0
- 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 +200 -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 +55 -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 +58 -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} +37 -42
- 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 +30 -51
- package/src/cli-observability-secrets.json +3 -4
- package/src/extensions/index.ts +6 -0
- package/src/extensions/otel/extension.ts +178 -0
- package/src/extensions/otel/index.ts +5 -0
- package/src/{otel → extensions/otel}/logs.ts +55 -23
- package/src/{otel → extensions/otel}/metrics.ts +2 -12
- package/src/{otel → extensions/otel}/otel.ts +3 -3
- package/src/{otel → extensions/otel}/traces-browser.ts +13 -18
- package/src/{otel → extensions/otel}/traces.ts +10 -21
- package/src/extensions/posthog/extension.ts +172 -0
- package/src/extensions/posthog/index.ts +5 -0
- package/src/extensions/posthog/log-processor.test.ts +185 -0
- package/src/extensions/posthog/log-processor.ts +54 -0
- package/src/extensions/stub.ts +19 -0
- package/src/index.ts +5 -3
- package/src/log-buffer.test.ts +134 -0
- package/src/log-buffer.ts +101 -0
- 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 +253 -0
- package/src/providers/index.ts +7 -0
- package/src/providers/ip-data.ts +88 -0
- package/src/providers/storage.ts +23 -0
- package/src/storage/browser.ts +61 -0
- package/src/{segment → storage}/index.ts +0 -1
- package/src/storage/node.test.ts +130 -0
- package/src/{helpers/node-observability.ts → storage/node.ts} +40 -69
- package/dist/lib/browser/chunk-5ICT2XF2.mjs +0 -1
- package/dist/lib/browser/chunk-CZBWMGUZ.mjs +0 -1025
- package/dist/lib/browser/chunk-CZBWMGUZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-JWOLOB5N.mjs +0 -161
- package/dist/lib/browser/chunk-JWOLOB5N.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-NLOCHCE7.mjs +0 -10
- package/dist/lib/browser/otel-6FVBNA5F.mjs +0 -327
- package/dist/lib/browser/otel-6FVBNA5F.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-F4JCYJ2E.mjs +0 -162
- package/dist/lib/browser/sentry-log-processor-F4JCYJ2E.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-24NMRR4E.mjs +0 -229
- package/dist/lib/node-esm/chunk-24NMRR4E.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4EWQFQ2F.mjs +0 -1026
- package/dist/lib/node-esm/chunk-4EWQFQ2F.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-DHNVVRC7.mjs +0 -11
- package/dist/lib/node-esm/observability-DHNVVRC7.mjs.map +0 -7
- package/dist/lib/node-esm/otel-KHSGBROB.mjs +0 -310
- package/dist/lib/node-esm/otel-KHSGBROB.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-3BDS4BB4.mjs +0 -163
- package/dist/lib/node-esm/sentry-log-processor-3BDS4BB4.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.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.map +0 -1
- package/dist/types/src/otel/otel.js.map +0 -1
- package/dist/types/src/otel/traces-browser.d.ts.map +0 -1
- package/dist/types/src/otel/traces-browser.js.map +0 -1
- package/dist/types/src/otel/traces.d.ts.map +0 -1
- 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/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-NLOCHCE7.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/{otel → extensions/otel}/otel.js +0 -0
- /package/dist/types/src/{otel → extensions/otel}/traces-browser.d.ts +0 -0
- /package/dist/types/src/{otel → extensions/otel}/traces.d.ts +0 -0
- /package/dist/types/src/{sentry → storage}/index.js +0 -0
|
@@ -8,11 +8,6 @@ import { join } from 'node:path';
|
|
|
8
8
|
import yaml from 'js-yaml';
|
|
9
9
|
import { v4 as uuid, validate as validateUuid } from 'uuid';
|
|
10
10
|
|
|
11
|
-
import type { Config } from '@dxos/client';
|
|
12
|
-
import { log } from '@dxos/log';
|
|
13
|
-
|
|
14
|
-
import { type Mode, Observability } from '../observability';
|
|
15
|
-
|
|
16
11
|
/**
|
|
17
12
|
* Print observability banner once per installation.
|
|
18
13
|
*/
|
|
@@ -22,7 +17,6 @@ export const showObservabilityBanner = async (configDir: string, bannercb: (inpu
|
|
|
22
17
|
return;
|
|
23
18
|
}
|
|
24
19
|
bannercb(
|
|
25
|
-
// eslint-disable-next-line no-multi-str
|
|
26
20
|
'Basic observability data will be sent to the DXOS team in order to improve the product. This includes \
|
|
27
21
|
performance metrics, error logs, and usage data. No personally identifiable information, other than your \
|
|
28
22
|
public key, is included with this data and no private data ever leaves your devices. To disable sending \
|
|
@@ -32,7 +26,43 @@ export const showObservabilityBanner = async (configDir: string, bannercb: (inpu
|
|
|
32
26
|
await writeFile(path, '', 'utf-8');
|
|
33
27
|
};
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
/**
|
|
30
|
+
* @param configDir - Filesystem path to the directory containing the `observability.yml` state file.
|
|
31
|
+
*/
|
|
32
|
+
export const isObservabilityDisabled = async (configDir: string): Promise<boolean> => {
|
|
33
|
+
const observabilityState = await getObservabilityState(configDir);
|
|
34
|
+
return observabilityState.disabled;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @param configDir - Filesystem path to the directory containing the `observability.yml` state file.
|
|
39
|
+
*/
|
|
40
|
+
// NOTE: read-modify-write is not atomic; concurrent callers could overwrite each other.
|
|
41
|
+
// Acceptable here because writes are infrequent and triggered by explicit user action.
|
|
42
|
+
export const storeObservabilityDisabled = async (configDir: string, value: boolean) => {
|
|
43
|
+
const observabilityState = await getObservabilityState(configDir);
|
|
44
|
+
observabilityState.disabled = value;
|
|
45
|
+
await writeFile(join(configDir, 'observability.yml'), yaml.dump(observabilityState), 'utf-8');
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @param configDir - Filesystem path to the directory containing the `observability.yml` state file.
|
|
50
|
+
*/
|
|
51
|
+
export const getObservabilityGroup = async (configDir: string): Promise<string | undefined> => {
|
|
52
|
+
const observabilityState = await getObservabilityState(configDir);
|
|
53
|
+
return observabilityState.group;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* @param configDir - Filesystem path to the directory containing the `observability.yml` state file.
|
|
58
|
+
*/
|
|
59
|
+
export const storeObservabilityGroup = async (configDir: string, value: string) => {
|
|
60
|
+
const observabilityState = await getObservabilityState(configDir);
|
|
61
|
+
observabilityState.group = value;
|
|
62
|
+
await writeFile(join(configDir, 'observability.yml'), yaml.dump(observabilityState), 'utf-8');
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const getObservabilityState = async (configDir: string): Promise<PersistentObservabilityState> => {
|
|
36
66
|
// check whether configDir exists and if it's a directory
|
|
37
67
|
|
|
38
68
|
if (existsSync(configDir)) {
|
|
@@ -54,8 +84,8 @@ export const getObservabilityState = async (configDir: string): Promise<Persiste
|
|
|
54
84
|
|
|
55
85
|
export type PersistentObservabilityState = {
|
|
56
86
|
installationId: string;
|
|
87
|
+
disabled: boolean;
|
|
57
88
|
group?: string;
|
|
58
|
-
mode: Mode;
|
|
59
89
|
};
|
|
60
90
|
|
|
61
91
|
// create initial state and write to file, using environment variables to override defaults.
|
|
@@ -63,8 +93,8 @@ const initializeState = async (idPath: string): Promise<PersistentObservabilityS
|
|
|
63
93
|
// TODO(nf): read initial values from config or seed file
|
|
64
94
|
const observabilityState = {
|
|
65
95
|
installationId: uuid(),
|
|
96
|
+
disabled: process.env.DX_DISABLE_OBSERVABILITY ? true : false,
|
|
66
97
|
group: process.env.DX_OBSERVABILITY_GROUP ?? undefined,
|
|
67
|
-
mode: (process.env.DX_DISABLE_OBSERVABILITY ? 'disabled' : (process.env.DX_OBSERVABILITY_MODE ?? 'basic')) as Mode,
|
|
68
98
|
};
|
|
69
99
|
|
|
70
100
|
await writeFile(
|
|
@@ -81,66 +111,7 @@ const validate = (contextString: string) => {
|
|
|
81
111
|
if (Boolean(context.installationId) && validateUuid(context.installationId!)) {
|
|
82
112
|
return {
|
|
83
113
|
...context,
|
|
84
|
-
|
|
114
|
+
disabled: process.env.DX_DISABLE_OBSERVABILITY ? true : (context.disabled ?? false),
|
|
85
115
|
};
|
|
86
116
|
}
|
|
87
117
|
};
|
|
88
|
-
|
|
89
|
-
export type NodeObservabilityOptions = {
|
|
90
|
-
installationId: string;
|
|
91
|
-
group?: string;
|
|
92
|
-
namespace: string;
|
|
93
|
-
version: string;
|
|
94
|
-
config: Config;
|
|
95
|
-
mode?: Mode;
|
|
96
|
-
tracingEnable?: boolean;
|
|
97
|
-
replayEnable?: boolean;
|
|
98
|
-
// TODO(nf): options for providers?
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
export const initializeNodeObservability = async ({
|
|
102
|
-
namespace,
|
|
103
|
-
version,
|
|
104
|
-
config,
|
|
105
|
-
installationId,
|
|
106
|
-
group,
|
|
107
|
-
mode = 'basic',
|
|
108
|
-
tracingEnable = true,
|
|
109
|
-
replayEnable = true,
|
|
110
|
-
}: NodeObservabilityOptions): Promise<Observability> => {
|
|
111
|
-
log('initializeCliObservability', { config });
|
|
112
|
-
|
|
113
|
-
// TODO(nf): make CLI build populate runtime.app.build config?
|
|
114
|
-
const release = `${namespace}@${version}`;
|
|
115
|
-
const environment = process.env.DX_ENVIRONMENT ?? 'unknown';
|
|
116
|
-
|
|
117
|
-
const observability = new Observability({
|
|
118
|
-
mode,
|
|
119
|
-
namespace,
|
|
120
|
-
release,
|
|
121
|
-
environment,
|
|
122
|
-
group,
|
|
123
|
-
errorLog: {
|
|
124
|
-
sentryInitOptions: {
|
|
125
|
-
environment,
|
|
126
|
-
release,
|
|
127
|
-
// TODO(wittjosiah): Configure this.
|
|
128
|
-
sampleRate: 1.0,
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
observability.setTag('installationId', installationId);
|
|
134
|
-
|
|
135
|
-
// TODO(nf): cache ipdata to avoid repeated requests
|
|
136
|
-
const IPDATA_API_KEY = config.get('runtime.app.env.DX_IPDATA_API_KEY');
|
|
137
|
-
try {
|
|
138
|
-
const res = await fetch(`https://api.ipdata.co/?api-key=${IPDATA_API_KEY}`);
|
|
139
|
-
const ipData = await res.json();
|
|
140
|
-
ipData && observability.setIPDataTelemetryTags(ipData);
|
|
141
|
-
} catch (err) {
|
|
142
|
-
observability?.captureException(err);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
return observability;
|
|
146
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-5ICT2XF2.mjs.map
|