@dxos/observability 0.7.5-main.9d2a38b → 0.7.5-main.e94eead
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-EE4ONYIP.mjs → chunk-RWIBODSU.mjs} +14 -14
- package/dist/lib/browser/chunk-RWIBODSU.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/observability-VEOITBLM.mjs +7 -0
- package/dist/lib/browser/segment/index.mjs +2 -2
- package/dist/lib/browser/segment/index.mjs.map +3 -3
- package/dist/lib/node/{chunk-4TP5PWSE.cjs → chunk-X2D2I2IE.cjs} +17 -17
- package/dist/lib/node/chunk-X2D2I2IE.cjs.map +7 -0
- package/dist/lib/node/index.cjs +15 -15
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{observability-2HKMGFQE.cjs → observability-MM62IY7P.cjs} +6 -6
- package/dist/lib/node/{observability-2HKMGFQE.cjs.map → observability-MM62IY7P.cjs.map} +2 -2
- package/dist/lib/node/segment/index.cjs +2 -2
- package/dist/lib/node/segment/index.cjs.map +3 -3
- package/dist/lib/node-esm/{chunk-ZLCW6LTG.mjs → chunk-S7JHPCWW.mjs} +14 -14
- package/dist/lib/node-esm/chunk-S7JHPCWW.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{observability-CJZWSHQX.mjs → observability-OLS7SWZT.mjs} +2 -2
- package/dist/lib/node-esm/segment/index.mjs +2 -2
- package/dist/lib/node-esm/segment/index.mjs.map +3 -3
- package/dist/types/src/helpers/browser-observability.js +24 -65
- package/dist/types/src/helpers/browser-observability.js.map +1 -1
- package/dist/types/src/helpers/common.js +2 -6
- package/dist/types/src/helpers/common.js.map +1 -1
- package/dist/types/src/helpers/index.js +5 -21
- package/dist/types/src/helpers/index.js.map +1 -1
- package/dist/types/src/helpers/map-spaces.js +1 -5
- package/dist/types/src/helpers/map-spaces.js.map +1 -1
- package/dist/types/src/helpers/node-observability.js +25 -34
- package/dist/types/src/helpers/node-observability.js.map +1 -1
- package/dist/types/src/helpers/setup-telemetry-listeners.js +7 -11
- package/dist/types/src/helpers/setup-telemetry-listeners.js.map +1 -1
- package/dist/types/src/index.js +2 -18
- package/dist/types/src/index.js.map +1 -1
- package/dist/types/src/observability.js +59 -99
- package/dist/types/src/observability.js.map +1 -1
- package/dist/types/src/otel/index.js +4 -20
- package/dist/types/src/otel/index.js.map +1 -1
- package/dist/types/src/otel/logs.js +29 -33
- package/dist/types/src/otel/logs.js.map +1 -1
- package/dist/types/src/otel/metrics.js +19 -23
- package/dist/types/src/otel/metrics.js.map +1 -1
- package/dist/types/src/otel/otel.js +4 -8
- package/dist/types/src/otel/otel.js.map +1 -1
- package/dist/types/src/otel/traces-browser.js +23 -27
- package/dist/types/src/otel/traces-browser.js.map +1 -1
- package/dist/types/src/otel/traces.js +18 -22
- package/dist/types/src/otel/traces.js.map +1 -1
- package/dist/types/src/segment/browser.d.ts +2 -2
- package/dist/types/src/segment/browser.d.ts.map +1 -1
- package/dist/types/src/segment/browser.js +12 -19
- package/dist/types/src/segment/browser.js.map +1 -1
- package/dist/types/src/segment/index.js +2 -18
- package/dist/types/src/segment/index.js.map +1 -1
- package/dist/types/src/segment/node.d.ts +2 -2
- package/dist/types/src/segment/node.d.ts.map +1 -1
- package/dist/types/src/segment/node.js +17 -21
- package/dist/types/src/segment/node.js.map +1 -1
- package/dist/types/src/segment/types.d.ts +1 -1
- package/dist/types/src/segment/types.d.ts.map +1 -1
- package/dist/types/src/segment/types.js +0 -2
- package/dist/types/src/segment/types.js.map +1 -1
- package/dist/types/src/sentry/browser.js +32 -43
- package/dist/types/src/sentry/browser.js.map +1 -1
- package/dist/types/src/sentry/index.js +2 -18
- package/dist/types/src/sentry/index.js.map +1 -1
- package/dist/types/src/sentry/node.js +25 -36
- package/dist/types/src/sentry/node.js.map +1 -1
- package/dist/types/src/sentry/node.node.test.js +10 -45
- package/dist/types/src/sentry/node.node.test.js.map +1 -1
- package/dist/types/src/sentry/sentry-log-processor.js +18 -22
- package/dist/types/src/sentry/sentry-log-processor.js.map +1 -1
- package/dist/types/src/sentry/sentry.node.test.js +10 -45
- package/dist/types/src/sentry/sentry.node.test.js.map +1 -1
- package/dist/types/src/sentry/types.js +0 -2
- package/dist/types/src/sentry/types.js.map +1 -1
- package/dist/types/src/testing/index.js +1 -17
- package/dist/types/src/testing/index.js.map +1 -1
- package/dist/types/src/testing/testkit/browser.js +2 -8
- package/dist/types/src/testing/testkit/browser.js.map +1 -1
- package/dist/types/src/testing/testkit/index.js +2 -8
- package/dist/types/src/testing/testkit/index.js.map +1 -1
- package/package.json +17 -16
- package/src/helpers/common.ts +1 -1
- package/src/helpers/setup-telemetry-listeners.ts +5 -5
- package/src/observability.ts +6 -6
- package/src/segment/browser.ts +2 -2
- package/src/segment/node.ts +2 -2
- package/src/segment/types.ts +1 -1
- package/dist/lib/browser/chunk-EE4ONYIP.mjs.map +0 -7
- package/dist/lib/browser/observability-GXID2L6O.mjs +0 -7
- package/dist/lib/node/chunk-4TP5PWSE.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZLCW6LTG.mjs.map +0 -7
- /package/dist/lib/browser/{observability-GXID2L6O.mjs.map → observability-VEOITBLM.mjs.map} +0 -0
- /package/dist/lib/node-esm/{observability-CJZWSHQX.mjs.map → observability-OLS7SWZT.mjs.map} +0 -0
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
//
|
|
3
2
|
// Copyright 2024 DXOS.org
|
|
4
3
|
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const tracing_1 = require("@dxos/tracing");
|
|
13
|
-
const otel_1 = require("./otel");
|
|
4
|
+
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
|
|
5
|
+
import { Resource } from '@opentelemetry/resources';
|
|
6
|
+
import { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
|
|
7
|
+
import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
|
|
8
|
+
import { log } from '@dxos/log';
|
|
9
|
+
import { TRACE_PROCESSOR } from '@dxos/tracing';
|
|
10
|
+
import { setDiagLogger } from './otel';
|
|
14
11
|
const EXPORT_INTERVAL = 60 * 1000;
|
|
15
|
-
class OtelMetrics {
|
|
12
|
+
export class OtelMetrics {
|
|
16
13
|
constructor(options) {
|
|
17
14
|
this.options = options;
|
|
18
15
|
this._gauges = new Map();
|
|
19
16
|
// TODO: improve error handling/logging
|
|
20
17
|
// https://github.com/open-telemetry/opentelemetry-js/issues/4823
|
|
21
|
-
|
|
22
|
-
const resource =
|
|
23
|
-
[
|
|
24
|
-
[
|
|
18
|
+
setDiagLogger(options.consoleDiagLogLevel);
|
|
19
|
+
const resource = Resource.default().merge(new Resource({
|
|
20
|
+
[SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,
|
|
21
|
+
[SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion,
|
|
25
22
|
}));
|
|
26
|
-
const grafanaMetricReader = new
|
|
27
|
-
exporter: new
|
|
23
|
+
const grafanaMetricReader = new PeriodicExportingMetricReader({
|
|
24
|
+
exporter: new OTLPMetricExporter({
|
|
28
25
|
url: this.options.endpoint + '/v1/metrics',
|
|
29
26
|
headers: {
|
|
30
27
|
Authorization: this.options.authorizationHeader,
|
|
@@ -32,7 +29,7 @@ class OtelMetrics {
|
|
|
32
29
|
}),
|
|
33
30
|
exportIntervalMillis: EXPORT_INTERVAL,
|
|
34
31
|
});
|
|
35
|
-
this._meterProvider = new
|
|
32
|
+
this._meterProvider = new MeterProvider({
|
|
36
33
|
resource,
|
|
37
34
|
readers: [grafanaMetricReader],
|
|
38
35
|
});
|
|
@@ -52,21 +49,21 @@ class OtelMetrics {
|
|
|
52
49
|
this.gauge(name, value, convertTags(data));
|
|
53
50
|
},
|
|
54
51
|
};
|
|
55
|
-
|
|
52
|
+
TRACE_PROCESSOR.remoteMetrics.registerProcessor(metrics);
|
|
56
53
|
}
|
|
57
54
|
gauge(name, value, tags) {
|
|
58
55
|
const gauge = this._meter.createGauge(name);
|
|
59
|
-
|
|
56
|
+
log('otel gauge', { name, value, tags: { ...this.options.getTags(), ...tags } });
|
|
60
57
|
gauge.record(value, { ...this.options.getTags(), ...tags });
|
|
61
58
|
}
|
|
62
59
|
increment(name, value, tags) {
|
|
63
60
|
const counter = this._meter.createCounter(name);
|
|
64
|
-
|
|
61
|
+
log('otel counter', { name, value, tags: { ...this.options.getTags(), ...tags } });
|
|
65
62
|
counter.add(value !== null && value !== void 0 ? value : 1, { ...this.options.getTags(), ...tags });
|
|
66
63
|
}
|
|
67
64
|
distribution(name, value, tags) {
|
|
68
65
|
const distribution = this._meter.createHistogram(name);
|
|
69
|
-
|
|
66
|
+
log('otel distribution', { name, value, tags: { ...this.options.getTags(), ...tags } });
|
|
70
67
|
distribution.record(value, { ...this.options.getTags(), ...tags });
|
|
71
68
|
}
|
|
72
69
|
flush() {
|
|
@@ -76,7 +73,6 @@ class OtelMetrics {
|
|
|
76
73
|
return this._meterProvider.shutdown();
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
|
-
exports.OtelMetrics = OtelMetrics;
|
|
80
76
|
const convertTags = (data) => {
|
|
81
77
|
if (data && data.tags) {
|
|
82
78
|
return Object.entries(data.tags).reduce((obj, [key, value]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../src/otel/metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../src/otel/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
//
|
|
3
2
|
// Copyright 2024 DXOS.org
|
|
4
3
|
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const setDiagLogger = (level) => {
|
|
9
|
-
const logLevel = api_1.DiagLogLevel[level];
|
|
4
|
+
import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
|
|
5
|
+
export const setDiagLogger = (level) => {
|
|
6
|
+
const logLevel = DiagLogLevel[level];
|
|
10
7
|
if (logLevel) {
|
|
11
|
-
|
|
8
|
+
diag.setLogger(new DiagConsoleLogger(), logLevel);
|
|
12
9
|
}
|
|
13
10
|
};
|
|
14
|
-
exports.setDiagLogger = setDiagLogger;
|
|
15
11
|
//# sourceMappingURL=otel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../../src/otel/otel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../../src/otel/otel.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAW3E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,EAAE;IAC9C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAkC,CAAC,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,29 +1,26 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
//
|
|
3
2
|
// Copyright 2024 DXOS.org
|
|
4
3
|
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const tracing_1 = require("@dxos/tracing");
|
|
17
|
-
class OtelTraces {
|
|
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 { Resource } from '@opentelemetry/resources';
|
|
9
|
+
import { ConsoleSpanExporter, SimpleSpanProcessor, BatchSpanProcessor } 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 {
|
|
18
15
|
constructor(options) {
|
|
19
16
|
this.options = options;
|
|
20
|
-
const resource =
|
|
21
|
-
[
|
|
22
|
-
[
|
|
17
|
+
const resource = Resource.default().merge(new Resource({
|
|
18
|
+
[SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,
|
|
19
|
+
[SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion,
|
|
23
20
|
}));
|
|
24
|
-
const tracerProvider = new
|
|
25
|
-
tracerProvider.addSpanProcessor(new
|
|
26
|
-
tracerProvider.addSpanProcessor(new
|
|
21
|
+
const tracerProvider = new WebTracerProvider({ resource });
|
|
22
|
+
tracerProvider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
|
|
23
|
+
tracerProvider.addSpanProcessor(new BatchSpanProcessor(new OTLPTraceExporter({
|
|
27
24
|
url: this.options.endpoint + '/v1/traces',
|
|
28
25
|
headers: {
|
|
29
26
|
Authorization: this.options.authorizationHeader,
|
|
@@ -32,20 +29,19 @@ class OtelTraces {
|
|
|
32
29
|
})));
|
|
33
30
|
// TODO(nf): ContextManager? Propogator?
|
|
34
31
|
tracerProvider.register({});
|
|
35
|
-
this._tracer =
|
|
32
|
+
this._tracer = trace.getTracer('dxos-observability', this.options.serviceVersion);
|
|
36
33
|
}
|
|
37
34
|
start() {
|
|
38
|
-
|
|
39
|
-
instrumentations: [
|
|
35
|
+
registerInstrumentations({
|
|
36
|
+
instrumentations: [getWebAutoInstrumentations()],
|
|
40
37
|
});
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
log('trace processor registered');
|
|
39
|
+
TRACE_PROCESSOR.remoteTracing.registerProcessor({
|
|
43
40
|
startSpan: (options) => {
|
|
44
|
-
|
|
41
|
+
log('begin otel trace', { options });
|
|
45
42
|
return this._tracer.startSpan(options.name, options);
|
|
46
43
|
},
|
|
47
44
|
});
|
|
48
45
|
}
|
|
49
46
|
}
|
|
50
|
-
exports.OtelTraces = OtelTraces;
|
|
51
47
|
//# sourceMappingURL=traces-browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces-browser.js","sourceRoot":"","sources":["../../../../src/otel/traces-browser.ts"],"names":[],"mappings":"
|
|
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,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,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,EAAE,eAAe,EAAyB,MAAM,eAAe,CAAC;AAIvE,MAAM,OAAO,UAAU;IAErB,YAA6B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CACvC,IAAI,QAAQ,CAAC;YACX,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,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,cAAc,CAAC,gBAAgB,CAAC,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC;QACpF,cAAc,CAAC,gBAAgB,CAC7B,IAAI,kBAAkB,CACpB,IAAI,iBAAiB,CAAC;YACpB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY;YACzC,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;aAChD;YACD,gBAAgB,EAAE,EAAE,EAAE,wCAAwC;SAC/D,CAAC,CACH,CACF,CAAC;QACF,wCAAwC;QACxC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5B,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,26 +1,23 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
//
|
|
3
2
|
// Copyright 2024 DXOS.org
|
|
4
3
|
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const tracing_1 = require("@dxos/tracing");
|
|
14
|
-
class OtelTraces {
|
|
4
|
+
import { trace } from '@opentelemetry/api';
|
|
5
|
+
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
6
|
+
import { Resource } 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 {
|
|
15
12
|
constructor(options) {
|
|
16
13
|
this.options = options;
|
|
17
|
-
const resource =
|
|
18
|
-
[
|
|
19
|
-
[
|
|
14
|
+
const resource = Resource.default().merge(new Resource({
|
|
15
|
+
[SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,
|
|
16
|
+
[SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion,
|
|
20
17
|
}));
|
|
21
|
-
const tracerProvider = new
|
|
22
|
-
tracerProvider.addSpanProcessor(new
|
|
23
|
-
tracerProvider.addSpanProcessor(new
|
|
18
|
+
const tracerProvider = new BasicTracerProvider({ resource });
|
|
19
|
+
tracerProvider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
|
|
20
|
+
tracerProvider.addSpanProcessor(new BatchSpanProcessor(new OTLPTraceExporter({
|
|
24
21
|
url: this.options.endpoint + '/v1/traces',
|
|
25
22
|
headers: {
|
|
26
23
|
Authorization: this.options.authorizationHeader,
|
|
@@ -28,17 +25,16 @@ class OtelTraces {
|
|
|
28
25
|
concurrencyLimit: 10, // an optional limit on pending requests
|
|
29
26
|
})));
|
|
30
27
|
tracerProvider.register();
|
|
31
|
-
this._tracer =
|
|
28
|
+
this._tracer = trace.getTracer('dxos-observability', this.options.serviceVersion);
|
|
32
29
|
}
|
|
33
30
|
start() {
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
log('trace processor registered');
|
|
32
|
+
TRACE_PROCESSOR.remoteTracing.registerProcessor({
|
|
36
33
|
startSpan: (options) => {
|
|
37
|
-
|
|
34
|
+
log('begin otel trace', { options });
|
|
38
35
|
return this._tracer.startSpan(options.name, options);
|
|
39
36
|
},
|
|
40
37
|
});
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
|
-
exports.OtelTraces = OtelTraces;
|
|
44
40
|
//# sourceMappingURL=traces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traces.js","sourceRoot":"","sources":["../../../../src/otel/traces.ts"],"names":[],"mappings":"
|
|
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,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,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,EAAE,eAAe,EAAyB,MAAM,eAAe,CAAC;AAIvE,MAAM,OAAO,UAAU;IAErB,YAA6B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CACvC,IAAI,QAAQ,CAAC;YACX,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,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,cAAc,CAAC,gBAAgB,CAAC,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC;QACpF,cAAc,CAAC,gBAAgB,CAC7B,IAAI,kBAAkB,CACpB,IAAI,iBAAiB,CAAC;YACpB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY;YACzC,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;aAChD;YACD,gBAAgB,EAAE,EAAE,EAAE,wCAAwC;SAC/D,CAAC,CACH,CACF,CAAC;QACF,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1B,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"}
|
|
@@ -2,8 +2,8 @@ import type { EventOptions, SegmentTelemetryOptions, PageOptions } from './types
|
|
|
2
2
|
export declare class SegmentTelemetry {
|
|
3
3
|
private _getTags;
|
|
4
4
|
constructor({ apiKey, batchSize, getTags }: SegmentTelemetryOptions);
|
|
5
|
-
page({
|
|
6
|
-
event({
|
|
5
|
+
page({ did: userId, ...options }?: PageOptions): void;
|
|
6
|
+
event({ did: userId, name: event, ...options }: EventOptions): void;
|
|
7
7
|
flush(): Promise<void>;
|
|
8
8
|
close(): Promise<void>;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/segment/browser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAgBnE,IAAI,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/segment/browser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAgBnE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAE,WAAgB;IAYlD,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,YAAY;IAetD,KAAK;IAUL,KAAK;CACZ"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
//
|
|
3
2
|
// Copyright 2022 DXOS.org
|
|
4
3
|
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
exports.SegmentTelemetry = void 0;
|
|
10
|
-
const snippet_1 = __importDefault(require("@segment/snippet"));
|
|
11
|
-
const log_1 = require("@dxos/log");
|
|
12
|
-
const sentry_1 = require("../sentry");
|
|
13
|
-
class SegmentTelemetry {
|
|
4
|
+
import snippet from '@segment/snippet';
|
|
5
|
+
import { log } from '@dxos/log';
|
|
6
|
+
import { captureException } from '../sentry';
|
|
7
|
+
export class SegmentTelemetry {
|
|
14
8
|
constructor({ apiKey, batchSize, getTags }) {
|
|
15
9
|
this._getTags = getTags;
|
|
16
10
|
try {
|
|
17
|
-
const contents =
|
|
11
|
+
const contents = snippet.min({
|
|
18
12
|
apiKey,
|
|
19
13
|
page: false,
|
|
20
14
|
});
|
|
@@ -23,10 +17,10 @@ class SegmentTelemetry {
|
|
|
23
17
|
document.body.append(script);
|
|
24
18
|
}
|
|
25
19
|
catch (err) {
|
|
26
|
-
|
|
20
|
+
log.catch('Failed to initialize telemetry', err);
|
|
27
21
|
}
|
|
28
22
|
}
|
|
29
|
-
page({
|
|
23
|
+
page({ did: userId, ...options } = {}) {
|
|
30
24
|
var _a;
|
|
31
25
|
try {
|
|
32
26
|
(_a = window.analytics) === null || _a === void 0 ? void 0 : _a.page({
|
|
@@ -36,10 +30,10 @@ class SegmentTelemetry {
|
|
|
36
30
|
});
|
|
37
31
|
}
|
|
38
32
|
catch (err) {
|
|
39
|
-
|
|
33
|
+
log.catch('Failed to track page', err);
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
|
-
event({
|
|
36
|
+
event({ did: userId, name: event, ...options }) {
|
|
43
37
|
var _a;
|
|
44
38
|
try {
|
|
45
39
|
options.properties = {
|
|
@@ -52,21 +46,20 @@ class SegmentTelemetry {
|
|
|
52
46
|
});
|
|
53
47
|
}
|
|
54
48
|
catch (err) {
|
|
55
|
-
|
|
49
|
+
log.catch('Failed to track event', err);
|
|
56
50
|
}
|
|
57
51
|
}
|
|
58
52
|
async flush() {
|
|
59
53
|
var _a;
|
|
60
54
|
try {
|
|
61
55
|
await ((_a = window.analytics) === null || _a === void 0 ? void 0 : _a.flush((err) => {
|
|
62
|
-
|
|
56
|
+
captureException(err);
|
|
63
57
|
}));
|
|
64
58
|
}
|
|
65
59
|
catch (err) {
|
|
66
|
-
|
|
60
|
+
log.catch('Failed to flush telemetry', err);
|
|
67
61
|
}
|
|
68
62
|
}
|
|
69
63
|
async close() { }
|
|
70
64
|
}
|
|
71
|
-
exports.SegmentTelemetry = SegmentTelemetry;
|
|
72
65
|
//# sourceMappingURL=browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/segment/browser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/segment/browser.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,OAAO,gBAAgB;IAG3B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAA2B;QACjE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;gBAC3B,MAAM;gBACN,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YAEH,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,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,KAAkB,EAAE;;QAChD,IAAI,CAAC;YACH,MAAC,MAAc,CAAC,SAAS,0CAAE,IAAI,CAAC;gBAC9B,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACxB,GAAG,OAAO;gBACV,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAgB;;QAC1D,IAAI,CAAC;YACH,OAAO,CAAC,UAAU,GAAG;gBACnB,GAAG,OAAO,CAAC,UAAU;gBACrB,GAAG,IAAI,CAAC,QAAQ,EAAE;aACnB,CAAC;YACF,MAAC,MAAc,CAAC,SAAS,0CAAE,KAAK,CAAC;gBAC/B,GAAG,OAAO;gBACV,KAAK;aACN,CAAC,CAAC;QACL,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,MAAM,CAAA,MAAC,MAAc,CAAC,SAAS,0CAAE,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAClD,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC,CAAC,CAAA,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,KAAI,CAAC;CACjB"}
|
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
//
|
|
3
2
|
// Copyright 2022 DXOS.org
|
|
4
3
|
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
__exportStar(require("./node"), exports);
|
|
21
|
-
__exportStar(require("./types"), exports);
|
|
4
|
+
export * from './node';
|
|
5
|
+
export * from './types';
|
|
22
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/segment/index.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -6,11 +6,11 @@ export declare class SegmentTelemetry {
|
|
|
6
6
|
/**
|
|
7
7
|
* Track a page view.
|
|
8
8
|
*/
|
|
9
|
-
page({ installationId: anonymousId,
|
|
9
|
+
page({ installationId: anonymousId, did: userId, ...options }?: PageOptions): void;
|
|
10
10
|
/**
|
|
11
11
|
* Track an event.
|
|
12
12
|
*/
|
|
13
|
-
event({ installationId: anonymousId,
|
|
13
|
+
event({ installationId: anonymousId, did: userId, name: event, ...options }: EventOptions): void;
|
|
14
14
|
/**
|
|
15
15
|
* Flush the event queue.
|
|
16
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../src/segment/node.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAcnE;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../src/segment/node.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAcnE;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAE,WAAgB;IAiB/E;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,YAAY;IAoBzF;;OAEG;IACG,KAAK;IAcL,KAAK;CAMZ"}
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
//
|
|
3
2
|
// Copyright 2022 DXOS.org
|
|
4
3
|
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const sentry_1 = require("../sentry");
|
|
11
|
-
class SegmentTelemetry {
|
|
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
|
+
export class SegmentTelemetry {
|
|
12
9
|
constructor({ apiKey, batchSize, getTags }) {
|
|
13
10
|
this._getTags = getTags;
|
|
14
11
|
try {
|
|
15
|
-
|
|
16
|
-
this._analytics = new
|
|
12
|
+
invariant(apiKey, 'Key required to send telemetry');
|
|
13
|
+
this._analytics = new Analytics({
|
|
17
14
|
writeKey: apiKey,
|
|
18
15
|
flushAt: batchSize,
|
|
19
16
|
});
|
|
20
17
|
}
|
|
21
18
|
catch (err) {
|
|
22
|
-
|
|
19
|
+
log.catch('Failed to initialize telemetry', err);
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
22
|
/**
|
|
26
23
|
* Track a page view.
|
|
27
24
|
*/
|
|
28
|
-
page({ installationId: anonymousId,
|
|
25
|
+
page({ installationId: anonymousId, did: userId, ...options } = {}) {
|
|
29
26
|
if (!this._analytics) {
|
|
30
|
-
|
|
27
|
+
log('Analytics not initialized', { action: 'page' });
|
|
31
28
|
return;
|
|
32
29
|
}
|
|
33
30
|
try {
|
|
@@ -38,16 +35,16 @@ class SegmentTelemetry {
|
|
|
38
35
|
});
|
|
39
36
|
}
|
|
40
37
|
catch (err) {
|
|
41
|
-
|
|
38
|
+
log.catch('Failed to track page', err);
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
41
|
/**
|
|
45
42
|
* Track an event.
|
|
46
43
|
*/
|
|
47
|
-
event({ installationId: anonymousId,
|
|
48
|
-
|
|
44
|
+
event({ installationId: anonymousId, did: userId, name: event, ...options }) {
|
|
45
|
+
log('sending event to telemetry', { event, options, tags: this._getTags() });
|
|
49
46
|
if (!this._analytics) {
|
|
50
|
-
|
|
47
|
+
log('Analytics not initialized', { action: 'event' });
|
|
51
48
|
return;
|
|
52
49
|
}
|
|
53
50
|
try {
|
|
@@ -60,7 +57,7 @@ class SegmentTelemetry {
|
|
|
60
57
|
});
|
|
61
58
|
}
|
|
62
59
|
catch (err) {
|
|
63
|
-
|
|
60
|
+
log.catch('Failed to track event', err);
|
|
64
61
|
}
|
|
65
62
|
}
|
|
66
63
|
/**
|
|
@@ -68,7 +65,7 @@ class SegmentTelemetry {
|
|
|
68
65
|
*/
|
|
69
66
|
async flush() {
|
|
70
67
|
if (!this._analytics) {
|
|
71
|
-
|
|
68
|
+
log('Analytics not initialized', { action: 'flush' });
|
|
72
69
|
return;
|
|
73
70
|
}
|
|
74
71
|
try {
|
|
@@ -76,7 +73,7 @@ class SegmentTelemetry {
|
|
|
76
73
|
}
|
|
77
74
|
catch (err) {
|
|
78
75
|
// are these errors worth capturing?
|
|
79
|
-
|
|
76
|
+
captureException(err);
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
async close() {
|
|
@@ -86,5 +83,4 @@ class SegmentTelemetry {
|
|
|
86
83
|
await this._analytics.closeAndFlush();
|
|
87
84
|
}
|
|
88
85
|
}
|
|
89
|
-
exports.SegmentTelemetry = SegmentTelemetry;
|
|
90
86
|
//# sourceMappingURL=node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/segment/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/segment/node.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,OAAO,gBAAgB;IAI3B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAA2B;QACjE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC;YACH,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;YAEpD,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;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,KAAkB,EAAE;QAC7E,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;gBACnB,GAAG,OAAO;gBACV,MAAM;gBACN,WAAW,EAAE,WAAY;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAgB;QACvF,GAAG,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7E,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,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACpB,GAAG,OAAO;gBACV,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACzD,MAAM;gBACN,WAAW,EAAE,WAAY;gBACzB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,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;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/segment/types.ts"],"names":[],"mappings":"AAIA,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;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC1C,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/segment/types.ts"],"names":[],"mappings":"AAIA,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;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC1C,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/segment/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/segment/types.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE"}
|