@nodii/telemetry 0.3.1 → 0.5.0
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/agent-invocable.d.ts +1 -1
- package/dist/agent-invocable.d.ts.map +1 -1
- package/dist/agent-invocable.js +1 -1
- package/dist/agent-invocable.js.map +1 -1
- package/dist/audit.d.ts +30 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +84 -17
- package/dist/audit.js.map +1 -1
- package/dist/configure.d.ts +27 -8
- package/dist/configure.d.ts.map +1 -1
- package/dist/configure.js +12 -7
- package/dist/configure.js.map +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/drizzle/audit-schema.d.ts +82 -11
- package/dist/drizzle/audit-schema.d.ts.map +1 -1
- package/dist/drizzle/audit-schema.js +62 -4
- package/dist/drizzle/audit-schema.js.map +1 -1
- package/dist/drizzle/index.d.ts +2 -2
- package/dist/drizzle/index.d.ts.map +1 -1
- package/dist/drizzle/index.js +1 -1
- package/dist/drizzle/index.js.map +1 -1
- package/dist/index.d.ts +22 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +56 -16
- package/dist/init.js.map +1 -1
- package/dist/intent.js +4 -4
- package/dist/intent.js.map +1 -1
- package/dist/logger.d.ts +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +5 -5
- package/dist/logger.js.map +1 -1
- package/dist/metrics.d.ts +56 -2
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +86 -6
- package/dist/metrics.js.map +1 -1
- package/dist/otlp-adapter.d.ts +2 -2
- package/dist/otlp-adapter.d.ts.map +1 -1
- package/dist/otlp-adapter.js +25 -4
- package/dist/otlp-adapter.js.map +1 -1
- package/dist/outbox-emit.js +2 -2
- package/dist/outbox-emit.js.map +1 -1
- package/dist/traceparent.d.ts +60 -0
- package/dist/traceparent.d.ts.map +1 -0
- package/dist/traceparent.js +88 -0
- package/dist/traceparent.js.map +1 -0
- package/dist/tracer.d.ts +20 -4
- package/dist/tracer.d.ts.map +1 -1
- package/dist/tracer.js +38 -9
- package/dist/tracer.js.map +1 -1
- package/dist/types.d.ts +47 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +66 -0
- package/dist/types.js.map +1 -1
- package/package.json +9 -3
package/dist/metrics.js
CHANGED
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
// for the OTel adapter to consume in TS-12. Max 160 buckets (D19).
|
|
18
18
|
// - Delta temporality (D21) is declared on the wrapper; the OTel
|
|
19
19
|
// adapter sets the OTLP export accordingly.
|
|
20
|
-
import { requireTelemetry } from "./init";
|
|
21
|
-
import { incSdkCounter } from "./sdk-counters";
|
|
22
|
-
import { METRIC_FAMILIES, } from "./types";
|
|
20
|
+
import { requireTelemetry } from "./init.js";
|
|
21
|
+
import { incSdkCounter } from "./sdk-counters.js";
|
|
22
|
+
import { METRIC_FAMILIES, } from "./types.js";
|
|
23
23
|
/** Thrown by `metrics.counter/histogram` when registration is rejected. */
|
|
24
24
|
export class MetricVocabularyError extends Error {
|
|
25
25
|
metric;
|
|
@@ -54,7 +54,7 @@ function validateLabelKeys(metric, family, labelKeys) {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
function validateRegistration(metric, family) {
|
|
57
|
+
function validateRegistration(metric, family, kind) {
|
|
58
58
|
if (!METRIC_FAMILIES.includes(family)) {
|
|
59
59
|
const reason = "family_unknown";
|
|
60
60
|
incSdkCounter("telemetry.sdk.cardinality_rejected_total", {
|
|
@@ -81,6 +81,19 @@ function validateRegistration(metric, family) {
|
|
|
81
81
|
});
|
|
82
82
|
throw new MetricVocabularyError(metric, `family mismatch — registry says '${entry.family}', caller said '${family}'`);
|
|
83
83
|
}
|
|
84
|
+
// D197: when both the registry entry and the caller declare a kind,
|
|
85
|
+
// they MUST agree. Registering a gauge name as a counter (or vice
|
|
86
|
+
// versa) is rejected — gauges are snapshot, counters cumulative,
|
|
87
|
+
// histograms distributional; conflating them silently corrupts the
|
|
88
|
+
// exported series.
|
|
89
|
+
if (kind !== undefined && entry.kind !== undefined && entry.kind !== kind) {
|
|
90
|
+
const reason = "kind_mismatch";
|
|
91
|
+
incSdkCounter("telemetry.sdk.cardinality_rejected_total", {
|
|
92
|
+
family,
|
|
93
|
+
reason,
|
|
94
|
+
});
|
|
95
|
+
throw new MetricVocabularyError(metric, `kind mismatch — registry says '${entry.kind}', caller said '${kind}'`);
|
|
96
|
+
}
|
|
84
97
|
return entry;
|
|
85
98
|
}
|
|
86
99
|
const inProcessBackend = {
|
|
@@ -90,6 +103,9 @@ const inProcessBackend = {
|
|
|
90
103
|
recordHistogram(_name, _value, _labels) {
|
|
91
104
|
/* no-op; TS-12 replaces */
|
|
92
105
|
},
|
|
106
|
+
recordGauge(_name, _value, _labels) {
|
|
107
|
+
/* no-op; TS-12 replaces */
|
|
108
|
+
},
|
|
93
109
|
};
|
|
94
110
|
let backend = inProcessBackend;
|
|
95
111
|
export function _setMetricsBackend(b) {
|
|
@@ -99,7 +115,7 @@ export function _resetMetricsBackendForTests() {
|
|
|
99
115
|
backend = inProcessBackend;
|
|
100
116
|
}
|
|
101
117
|
function counter(name, reg) {
|
|
102
|
-
const entry = validateRegistration(name, reg.family);
|
|
118
|
+
const entry = validateRegistration(name, reg.family, "counter");
|
|
103
119
|
validateLabelKeys(name, reg.family, reg.labelKeys ?? []);
|
|
104
120
|
const description = reg.description || entry.description;
|
|
105
121
|
return {
|
|
@@ -122,7 +138,7 @@ function counter(name, reg) {
|
|
|
122
138
|
};
|
|
123
139
|
}
|
|
124
140
|
function histogram(name, reg) {
|
|
125
|
-
const entry = validateRegistration(name, reg.family);
|
|
141
|
+
const entry = validateRegistration(name, reg.family, "histogram");
|
|
126
142
|
validateLabelKeys(name, reg.family, reg.labelKeys ?? []);
|
|
127
143
|
const description = reg.description || entry.description;
|
|
128
144
|
const maxBuckets = reg.maxBuckets ?? 160;
|
|
@@ -139,14 +155,78 @@ function histogram(name, reg) {
|
|
|
139
155
|
},
|
|
140
156
|
};
|
|
141
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* D197 gauge factory — snapshot instrument. Registration is validated
|
|
160
|
+
* the same way as counter/histogram (vocabulary + family + kind); a
|
|
161
|
+
* name registered as a gauge in the vocabulary registers cleanly here,
|
|
162
|
+
* while a counter/histogram name rejects with `kind_mismatch`.
|
|
163
|
+
*/
|
|
164
|
+
function gauge(name, reg) {
|
|
165
|
+
const entry = validateRegistration(name, reg.family, "gauge");
|
|
166
|
+
validateLabelKeys(name, reg.family, reg.labelKeys ?? []);
|
|
167
|
+
const description = reg.description || entry.description;
|
|
168
|
+
return {
|
|
169
|
+
name,
|
|
170
|
+
family: reg.family,
|
|
171
|
+
description,
|
|
172
|
+
set(value, labels = {}) {
|
|
173
|
+
// Optional on the backend (back-compat) — no-op if unimplemented.
|
|
174
|
+
backend.recordGauge?.(name, value, labels);
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
function recordMetric(args) {
|
|
179
|
+
// Resolve the family from the registry when the caller omits it so
|
|
180
|
+
// `recordMetric` matches the request spec's terse call shape.
|
|
181
|
+
const cfg = requireTelemetry();
|
|
182
|
+
const registered = cfg.vocabularyRegistry[args.name];
|
|
183
|
+
const family = args.family ?? registered?.family;
|
|
184
|
+
if (!family) {
|
|
185
|
+
incSdkCounter("telemetry.sdk.cardinality_rejected_total", {
|
|
186
|
+
family: "unknown",
|
|
187
|
+
reason: "not_in_vocabulary",
|
|
188
|
+
});
|
|
189
|
+
throw new MetricVocabularyError(args.name, "not_in_vocabulary");
|
|
190
|
+
}
|
|
191
|
+
const reg = {
|
|
192
|
+
family,
|
|
193
|
+
description: registered?.description ?? "",
|
|
194
|
+
labelKeys: Object.keys(args.attributes ?? {}),
|
|
195
|
+
};
|
|
196
|
+
switch (args.kind) {
|
|
197
|
+
case "counter":
|
|
198
|
+
counter(args.name, reg).inc(args.value, args.attributes);
|
|
199
|
+
return;
|
|
200
|
+
case "histogram":
|
|
201
|
+
histogram(args.name, reg).record(args.value, args.attributes);
|
|
202
|
+
return;
|
|
203
|
+
case "gauge":
|
|
204
|
+
gauge(args.name, reg).set(args.value, args.attributes);
|
|
205
|
+
return;
|
|
206
|
+
default: {
|
|
207
|
+
const _exhaustive = args.kind;
|
|
208
|
+
void _exhaustive;
|
|
209
|
+
throw new MetricVocabularyError(args.name, "kind_unknown");
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
142
213
|
/**
|
|
143
214
|
* The `metrics.*` namespace (D149 verbatim name). Use:
|
|
144
215
|
*
|
|
145
216
|
* const c = metrics.counter('billing_payments_total', { family: 'async_worker', description: '...' });
|
|
146
217
|
* c.inc({ tenant_id, pgw, status });
|
|
218
|
+
*
|
|
219
|
+
* const g = metrics.gauge('replica.consumer.lag_seconds', { family: 'replica_consumer', description: '' });
|
|
220
|
+
* g.set(12.5, { subscribing_service, source_stream, aggregate_kind });
|
|
221
|
+
*
|
|
222
|
+
* // Or the one-shot form (D197):
|
|
223
|
+
* recordMetric({ kind: 'gauge', name: 'replica.consumer.lag_seconds', value: 12.5, attributes: {...} });
|
|
147
224
|
*/
|
|
148
225
|
export const metrics = {
|
|
149
226
|
counter,
|
|
150
227
|
histogram,
|
|
228
|
+
gauge,
|
|
229
|
+
recordMetric,
|
|
151
230
|
};
|
|
231
|
+
export { recordMetric };
|
|
152
232
|
//# sourceMappingURL=metrics.js.map
|
package/dist/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,wBAAwB;AACxB,oEAAoE;AACpE,kEAAkE;AAClE,qEAAqE;AACrE,uDAAuD;AACvD,qFAAqF;AACrF,4CAA4C;AAC5C,wEAAwE;AACxE,8DAA8D;AAC9D,kEAAkE;AAClE,yEAAyE;AACzE,+BAA+B;AAC/B,4DAA4D;AAC5D,qEAAqE;AACrE,uEAAuE;AACvE,mEAAmE;AACnE,gDAAgD;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/otlp-adapter.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { LoggerProvider } from "@opentelemetry/sdk-logs";
|
|
2
2
|
import { MeterProvider } from "@opentelemetry/sdk-metrics";
|
|
3
3
|
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
|
|
4
|
-
import { type CounterHandle, type HistogramHandle } from "./metrics";
|
|
5
|
-
import type { ErrorHandlingConfig, ResourceAttributes } from "./types";
|
|
4
|
+
import { type CounterHandle, type HistogramHandle } from "./metrics.js";
|
|
5
|
+
import type { ErrorHandlingConfig, ResourceAttributes } from "./types.js";
|
|
6
6
|
/** Config for the OTLP adapter — the subset of init config it needs. */
|
|
7
7
|
export interface OtlpAdapterConfig {
|
|
8
8
|
serviceName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlp-adapter.d.ts","sourceRoot":"","sources":["../src/otlp-adapter.ts"],"names":[],"mappings":"AAkCA,OAAO,EAEL,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,aAAa,EAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EAGrB,MAAM,
|
|
1
|
+
{"version":3,"file":"otlp-adapter.d.ts","sourceRoot":"","sources":["../src/otlp-adapter.ts"],"names":[],"mappings":"AAkCA,OAAO,EAEL,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,aAAa,EAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EAGrB,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EACV,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC/D;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,2DAA2D;IAC3D,cAAc,EAAE,kBAAkB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,CA+N5E;AAED,yEAAyE;AACzE,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAGhD;AAED,+DAA+D;AAC/D,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzD;AAED,iCAAiC;AACjC,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAE/D;AAED,oDAAoD;AACpD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAkHD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/otlp-adapter.js
CHANGED
|
@@ -24,10 +24,10 @@ import { BatchLogRecordProcessor, LoggerProvider, } from "@opentelemetry/sdk-log
|
|
|
24
24
|
import { AggregationTemporality, MeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
|
|
25
25
|
import { BatchSpanProcessor, NodeTracerProvider, } from "@opentelemetry/sdk-trace-node";
|
|
26
26
|
import { ATTR_DEPLOYMENT_ENVIRONMENT_NAME, ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, } from "@opentelemetry/semantic-conventions";
|
|
27
|
-
import { _setLogSink } from "./logger";
|
|
28
|
-
import { _setMetricsBackend, } from "./metrics";
|
|
29
|
-
import { incSdkCounter } from "./sdk-counters";
|
|
30
|
-
import { _setSpanEmitter } from "./tracer";
|
|
27
|
+
import { _setLogSink } from "./logger.js";
|
|
28
|
+
import { _setMetricsBackend, } from "./metrics.js";
|
|
29
|
+
import { incSdkCounter } from "./sdk-counters.js";
|
|
30
|
+
import { _setSpanEmitter, } from "./tracer.js";
|
|
31
31
|
let activeHandle = null;
|
|
32
32
|
/**
|
|
33
33
|
* Installs the real OTLP exporters by replacing the no-op emitter,
|
|
@@ -169,6 +169,11 @@ export function installOtlpAdapter(cfg) {
|
|
|
169
169
|
const meter = meterProvider.getMeter(cfg.serviceName);
|
|
170
170
|
const counterCache = new Map();
|
|
171
171
|
const histogramCache = new Map();
|
|
172
|
+
// D197: synchronous gauge cache. `meter.createGauge` (OTel API ≥1.9)
|
|
173
|
+
// returns a Gauge whose `.record(value)` carries snapshot semantics —
|
|
174
|
+
// the last value set per export cycle is exported (NOT summed, NOT
|
|
175
|
+
// bucketed). Gauges are explicitly NOT mapped onto histograms.
|
|
176
|
+
const gaugeCache = new Map();
|
|
172
177
|
const otelBackend = {
|
|
173
178
|
recordCounter(name, by, labels) {
|
|
174
179
|
try {
|
|
@@ -202,6 +207,22 @@ export function installOtlpAdapter(cfg) {
|
|
|
202
207
|
});
|
|
203
208
|
}
|
|
204
209
|
},
|
|
210
|
+
recordGauge(name, value, labels) {
|
|
211
|
+
try {
|
|
212
|
+
let g = gaugeCache.get(name);
|
|
213
|
+
if (!g) {
|
|
214
|
+
g = meter.createGauge(name);
|
|
215
|
+
gaugeCache.set(name, g);
|
|
216
|
+
}
|
|
217
|
+
g.record(value, toAttributes(labels));
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
incSdkCounter("telemetry.sdk.export_failures_total", {
|
|
221
|
+
signal: "metrics",
|
|
222
|
+
reason: classifyExportError(err),
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
},
|
|
205
226
|
};
|
|
206
227
|
_setMetricsBackend(otelBackend);
|
|
207
228
|
activeHandle = {
|
package/dist/otlp-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlp-adapter.js","sourceRoot":"","sources":["../src/otlp-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"otlp-adapter.js","sourceRoot":"","sources":["../src/otlp-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/outbox-emit.js
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
// the `@nodii/telemetry/outbox` subpath adapter); the default is a
|
|
12
12
|
// no-op that allows `intent.begin/complete/abandon` to call through
|
|
13
13
|
// without crashing when the consumer hasn't wired the outbox yet.
|
|
14
|
-
import { getContext } from "./context";
|
|
15
|
-
import { getActiveSpan } from "./active-span";
|
|
14
|
+
import { getContext } from "./context.js";
|
|
15
|
+
import { getActiveSpan } from "./active-span.js";
|
|
16
16
|
const noopWriter = () => {
|
|
17
17
|
/* no-op default; consumers wire a real writer */
|
|
18
18
|
};
|
package/dist/outbox-emit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox-emit.js","sourceRoot":"","sources":["../src/outbox-emit.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,oEAAoE;AACpE,EAAE;AACF,uEAAuE;AACvE,kEAAkE;AAClE,sEAAsE;AACtE,wEAAwE;AACxE,mEAAmE;AACnE,oEAAoE;AACpE,kEAAkE;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"outbox-emit.js","sourceRoot":"","sources":["../src/outbox-emit.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,oEAAoE;AACpE,EAAE;AACF,uEAAuE;AACvE,kEAAkE;AAClE,sEAAsE;AACtE,wEAAwE;AACxE,mEAAmE;AACnE,oEAAoE;AACpE,kEAAkE;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0BjD,MAAM,UAAU,GAAiB,GAAG,EAAE;IACpC,iDAAiD;AACnD,CAAC,CAAC;AAEF,IAAI,MAAM,GAAiB,UAAU,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAe;IAC9C,MAAM,GAAG,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,MAAM,GAAG,UAAU,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAkB;IACjD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GACf,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,OAAO,GAAkB;QAC7B,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;QACjC,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;QACnC,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;QACjC,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE;YAChB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,IAAI;YAC7B,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;YACnC,YAAY,EAAE,GAAG,EAAE,YAAY,IAAI,IAAI;YACvC,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI;SACxB;KACF,CAAC;IACF,MAAM,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An extracted span context. Mirrors the subset of `@opentelemetry/api`'s
|
|
3
|
+
* `SpanContext` the bridge needs. `traceId` is 32 lowercase hex chars,
|
|
4
|
+
* `spanId` is 16 lowercase hex chars (OTel-native form per D12).
|
|
5
|
+
*/
|
|
6
|
+
export interface ExtractedSpanContext {
|
|
7
|
+
traceId: string;
|
|
8
|
+
spanId: string;
|
|
9
|
+
/** W3C trace-flags byte (e.g. 0x01 = sampled). Optional. */
|
|
10
|
+
traceFlags?: number;
|
|
11
|
+
/** W3C tracestate header value. Optional. */
|
|
12
|
+
traceState?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The accepted `parent` shapes for `tracer.span(..., { parent })`:
|
|
16
|
+
*
|
|
17
|
+
* 1. `string` — a raw W3C `traceparent` header value; the lib calls
|
|
18
|
+
* the internal extractor (`parseTraceparent`) + uses the result.
|
|
19
|
+
* 2. `ExtractedSpanContext` — an already-extracted span context (e.g.
|
|
20
|
+
* from `propagation.extract` upstream); used as-is.
|
|
21
|
+
*
|
|
22
|
+
* When `parent` is `undefined`, the span is a root span (unchanged
|
|
23
|
+
* pre-f08a4471 behavior).
|
|
24
|
+
*/
|
|
25
|
+
export type SpanParent = string | ExtractedSpanContext;
|
|
26
|
+
/**
|
|
27
|
+
* Parse a W3C `traceparent` header value into an `ExtractedSpanContext`.
|
|
28
|
+
*
|
|
29
|
+
* Grammar (W3C Trace Context level 1):
|
|
30
|
+
* `version "-" trace-id "-" parent-id "-" trace-flags`
|
|
31
|
+
* version = 2 hex (we only support "00"; future versions still parse
|
|
32
|
+
* their first 4 fields per the spec's forward-compat rule)
|
|
33
|
+
* trace-id = 32 hex, not all-zero
|
|
34
|
+
* parent-id (a.k.a. span-id) = 16 hex, not all-zero
|
|
35
|
+
* trace-flags = 2 hex
|
|
36
|
+
*
|
|
37
|
+
* Returns `null` for any malformed input (the caller starts a root span
|
|
38
|
+
* and records the malformed value as a forensic attribute — NO throw,
|
|
39
|
+
* per the spec's "malformed traceparent → root, no exception" rule).
|
|
40
|
+
*
|
|
41
|
+
* @param header — the raw header value, or the value + an optional
|
|
42
|
+
* `tracestate` to carry through.
|
|
43
|
+
*/
|
|
44
|
+
export declare function parseTraceparent(header: string, traceState?: string): ExtractedSpanContext | null;
|
|
45
|
+
/**
|
|
46
|
+
* Resolve any `SpanParent` shape to an `ExtractedSpanContext`, or `null`
|
|
47
|
+
* when the input is a malformed traceparent string. An object form is
|
|
48
|
+
* validated the same way a string-parsed context is — a bad traceId /
|
|
49
|
+
* spanId in the object yields `null` (→ root span + forensic attr),
|
|
50
|
+
* matching the string path.
|
|
51
|
+
*/
|
|
52
|
+
export declare function resolveSpanParent(parent: SpanParent): ExtractedSpanContext | null;
|
|
53
|
+
/**
|
|
54
|
+
* Render the inbound `parent` value as a stable forensic string for the
|
|
55
|
+
* `telemetry.inbound_traceparent_malformed` attribute. Strings pass
|
|
56
|
+
* through (truncated by the tracer's 4 KB cap downstream); objects are
|
|
57
|
+
* compactly stringified.
|
|
58
|
+
*/
|
|
59
|
+
export declare function forensicParentValue(parent: SpanParent): string;
|
|
60
|
+
//# sourceMappingURL=traceparent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traceparent.d.ts","sourceRoot":"","sources":["../src/traceparent.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAOvD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,oBAAoB,GAAG,IAAI,CAsB7B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,GACjB,oBAAoB,GAAG,IAAI,CAW7B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE9D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// W3C `traceparent` parsing + the parent-from-traceparent bridge input
|
|
2
|
+
// shapes per request f08a4471 (resolves drift 600708aa; cites D12 —
|
|
3
|
+
// trace_id is OTel-native — + the E4 propagation bundle).
|
|
4
|
+
//
|
|
5
|
+
// The bridge lets `tracer.span(name, fn, { parent })` inherit an inbound
|
|
6
|
+
// request's trace context as the span's parent, so an ingress span flows
|
|
7
|
+
// through the lib's mandatory-attribute SpanProcessor + OTLP exporter
|
|
8
|
+
// while still inheriting the upstream `trace_id`. Bypassing to raw
|
|
9
|
+
// `@opentelemetry/api startSpan` would skip the mandatory-attr processor
|
|
10
|
+
// (R1-worse than the interim) — hence the bridge.
|
|
11
|
+
const TRACE_ID_RE = /^[0-9a-f]{32}$/;
|
|
12
|
+
const SPAN_ID_RE = /^[0-9a-f]{16}$/;
|
|
13
|
+
const ALL_ZERO_TRACE = "00000000000000000000000000000000";
|
|
14
|
+
const ALL_ZERO_SPAN = "0000000000000000";
|
|
15
|
+
/**
|
|
16
|
+
* Parse a W3C `traceparent` header value into an `ExtractedSpanContext`.
|
|
17
|
+
*
|
|
18
|
+
* Grammar (W3C Trace Context level 1):
|
|
19
|
+
* `version "-" trace-id "-" parent-id "-" trace-flags`
|
|
20
|
+
* version = 2 hex (we only support "00"; future versions still parse
|
|
21
|
+
* their first 4 fields per the spec's forward-compat rule)
|
|
22
|
+
* trace-id = 32 hex, not all-zero
|
|
23
|
+
* parent-id (a.k.a. span-id) = 16 hex, not all-zero
|
|
24
|
+
* trace-flags = 2 hex
|
|
25
|
+
*
|
|
26
|
+
* Returns `null` for any malformed input (the caller starts a root span
|
|
27
|
+
* and records the malformed value as a forensic attribute — NO throw,
|
|
28
|
+
* per the spec's "malformed traceparent → root, no exception" rule).
|
|
29
|
+
*
|
|
30
|
+
* @param header — the raw header value, or the value + an optional
|
|
31
|
+
* `tracestate` to carry through.
|
|
32
|
+
*/
|
|
33
|
+
export function parseTraceparent(header, traceState) {
|
|
34
|
+
if (typeof header !== "string")
|
|
35
|
+
return null;
|
|
36
|
+
const parts = header.trim().split("-");
|
|
37
|
+
// Per W3C forward-compat: future versions MAY append fields, so accept
|
|
38
|
+
// ≥4 segments but reject fewer. version "ff" is invalid.
|
|
39
|
+
if (parts.length < 4)
|
|
40
|
+
return null;
|
|
41
|
+
const [version, traceId, spanId, flags] = parts;
|
|
42
|
+
if (!/^[0-9a-f]{2}$/.test(version) || version === "ff")
|
|
43
|
+
return null;
|
|
44
|
+
if (!TRACE_ID_RE.test(traceId) || traceId === ALL_ZERO_TRACE)
|
|
45
|
+
return null;
|
|
46
|
+
if (!SPAN_ID_RE.test(spanId) || spanId === ALL_ZERO_SPAN)
|
|
47
|
+
return null;
|
|
48
|
+
if (!/^[0-9a-f]{2}$/.test(flags))
|
|
49
|
+
return null;
|
|
50
|
+
return {
|
|
51
|
+
traceId,
|
|
52
|
+
spanId,
|
|
53
|
+
traceFlags: Number.parseInt(flags, 16),
|
|
54
|
+
traceState,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolve any `SpanParent` shape to an `ExtractedSpanContext`, or `null`
|
|
59
|
+
* when the input is a malformed traceparent string. An object form is
|
|
60
|
+
* validated the same way a string-parsed context is — a bad traceId /
|
|
61
|
+
* spanId in the object yields `null` (→ root span + forensic attr),
|
|
62
|
+
* matching the string path.
|
|
63
|
+
*/
|
|
64
|
+
export function resolveSpanParent(parent) {
|
|
65
|
+
if (typeof parent === "string")
|
|
66
|
+
return parseTraceparent(parent);
|
|
67
|
+
const { traceId, spanId } = parent;
|
|
68
|
+
if (!TRACE_ID_RE.test(traceId) || traceId === ALL_ZERO_TRACE)
|
|
69
|
+
return null;
|
|
70
|
+
if (!SPAN_ID_RE.test(spanId) || spanId === ALL_ZERO_SPAN)
|
|
71
|
+
return null;
|
|
72
|
+
return {
|
|
73
|
+
traceId,
|
|
74
|
+
spanId,
|
|
75
|
+
traceFlags: parent.traceFlags,
|
|
76
|
+
traceState: parent.traceState,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Render the inbound `parent` value as a stable forensic string for the
|
|
81
|
+
* `telemetry.inbound_traceparent_malformed` attribute. Strings pass
|
|
82
|
+
* through (truncated by the tracer's 4 KB cap downstream); objects are
|
|
83
|
+
* compactly stringified.
|
|
84
|
+
*/
|
|
85
|
+
export function forensicParentValue(parent) {
|
|
86
|
+
return typeof parent === "string" ? parent : JSON.stringify(parent);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=traceparent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traceparent.js","sourceRoot":"","sources":["../src/traceparent.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,oEAAoE;AACpE,0DAA0D;AAC1D,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,sEAAsE;AACtE,mEAAmE;AACnE,yEAAyE;AACzE,kDAAkD;AA6BlD,MAAM,WAAW,GAAG,gBAAgB,CAAC;AACrC,MAAM,UAAU,GAAG,gBAAgB,CAAC;AACpC,MAAM,cAAc,GAAG,kCAAkC,CAAC;AAC1D,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,UAAmB;IAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,uEAAuE;IACvE,yDAAyD;IACzD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAKzC,CAAC;IACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO;QACL,OAAO;QACP,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACtC,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAkB;IAElB,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO;QACL,OAAO;QACP,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAkB;IACpD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC"}
|
package/dist/tracer.d.ts
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
import { type ExtractedSpanContext, type SpanParent } from "./traceparent.js";
|
|
2
|
+
export type { ExtractedSpanContext, SpanParent };
|
|
3
|
+
/** Options accepted by `tracer.span`. */
|
|
4
|
+
export interface SpanOptions {
|
|
5
|
+
kind?: SpanKind;
|
|
6
|
+
attributes?: Record<string, unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* f08a4471 — OPTIONAL inbound parent. Accepts a W3C `traceparent`
|
|
9
|
+
* string, an extracted `SpanContext`, or `{ traceId, spanId,
|
|
10
|
+
* traceFlags?, traceState? }`. When set, the span inherits the
|
|
11
|
+
* parent's `trace_id` (NOT a fresh one) + sets `parent_span_id` to the
|
|
12
|
+
* inbound span-id; the new span's own `span_id` is still lib-generated.
|
|
13
|
+
* Malformed traceparent → the span starts as a ROOT span (no throw)
|
|
14
|
+
* and the raw value is recorded under
|
|
15
|
+
* `telemetry.inbound_traceparent_malformed` as a forensic attribute.
|
|
16
|
+
* Undefined → root span (pre-f08a4471 behavior, unchanged).
|
|
17
|
+
*/
|
|
18
|
+
parent?: SpanParent;
|
|
19
|
+
}
|
|
1
20
|
export type SpanKind = "INTERNAL" | "SERVER" | "CLIENT" | "PRODUCER" | "CONSUMER";
|
|
2
21
|
export type SpanStatus = "UNSET" | "OK" | "ERROR";
|
|
3
22
|
export interface SpanRecord {
|
|
@@ -39,10 +58,7 @@ export declare function _resetSpanEmitterForTests(): void;
|
|
|
39
58
|
* span. Mandatory attributes stamped on start; D27 status mapping
|
|
40
59
|
* applied automatically.
|
|
41
60
|
*/
|
|
42
|
-
declare function span<T>(name: string, fn: (span: Span) => Promise<T> | T, opts?:
|
|
43
|
-
kind?: SpanKind;
|
|
44
|
-
attributes?: Record<string, unknown>;
|
|
45
|
-
}): Promise<T>;
|
|
61
|
+
declare function span<T>(name: string, fn: (span: Span) => Promise<T> | T, opts?: SpanOptions): Promise<T>;
|
|
46
62
|
declare function withSpanAttributes<T>(attrs: Record<string, unknown>, fn: () => Promise<T> | T): Promise<T> | T;
|
|
47
63
|
/**
|
|
48
64
|
* `getSagaTracer()` — tactical hold per D149. Returns a tracer whose
|
package/dist/tracer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"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"}
|
package/dist/tracer.js
CHANGED
|
@@ -14,11 +14,12 @@
|
|
|
14
14
|
// attached, the span ends with status ERROR; otherwise UNSET.
|
|
15
15
|
// - `getSagaTracer()` ships as a tactical hold per D149; sunsets at
|
|
16
16
|
// v0.2.0.
|
|
17
|
-
import { getContext } from "./context";
|
|
18
|
-
import { _setActiveSpanGetter } from "./active-span";
|
|
19
|
-
import { attemptRedactFields } from "./redaction";
|
|
20
|
-
import { incSdkCounter } from "./sdk-counters";
|
|
21
|
-
import {
|
|
17
|
+
import { getContext } from "./context.js";
|
|
18
|
+
import { _setActiveSpanGetter } from "./active-span.js";
|
|
19
|
+
import { attemptRedactFields } from "./redaction.js";
|
|
20
|
+
import { incSdkCounter } from "./sdk-counters.js";
|
|
21
|
+
import { forensicParentValue, resolveSpanParent, } from "./traceparent.js";
|
|
22
|
+
import { uuidv7 } from "./uuid.js";
|
|
22
23
|
const noopEmitter = {
|
|
23
24
|
emit() {
|
|
24
25
|
/* no-op; TS-12 replaces */
|
|
@@ -65,16 +66,37 @@ _setActiveSpanGetter(() => {
|
|
|
65
66
|
*/
|
|
66
67
|
async function span(name, fn, opts) {
|
|
67
68
|
const ctx = getContext();
|
|
68
|
-
const
|
|
69
|
-
|
|
69
|
+
const stackParent = activeStack[activeStack.length - 1];
|
|
70
|
+
// f08a4471 — resolve the optional inbound parent first. A valid
|
|
71
|
+
// traceparent wins over the in-process stack parent so an ingress span
|
|
72
|
+
// inherits the upstream trace_id. A malformed traceparent falls back to
|
|
73
|
+
// root (or the stack parent, if any) + records a forensic attribute.
|
|
74
|
+
let inbound = null;
|
|
75
|
+
let inboundMalformed = false;
|
|
76
|
+
if (opts?.parent !== undefined) {
|
|
77
|
+
inbound = resolveSpanParent(opts.parent);
|
|
78
|
+
inboundMalformed = inbound === null;
|
|
79
|
+
}
|
|
80
|
+
// Trace-id precedence: inbound parent → in-process stack parent → new.
|
|
81
|
+
const traceId = inbound
|
|
82
|
+
? inbound.traceId
|
|
83
|
+
: stackParent
|
|
84
|
+
? stackParent.trace_id
|
|
85
|
+
: newTraceId();
|
|
86
|
+
// Parent-span-id precedence: inbound parent → in-process stack parent → null.
|
|
87
|
+
const parentSpanId = inbound
|
|
88
|
+
? inbound.spanId
|
|
89
|
+
: (stackParent?.span_id ?? null);
|
|
70
90
|
const spanId = newSpanId();
|
|
71
91
|
const startNs = process.hrtime.bigint();
|
|
72
92
|
// D26 mandatory attributes envelope. tenant_id and request_id come
|
|
73
|
-
// from NodiiContext when present.
|
|
93
|
+
// from NodiiContext when present. The envelope is built UNCONDITIONALLY
|
|
94
|
+
// — bridged (parent-linked) spans still flow through the mandatory-attr
|
|
95
|
+
// SpanProcessor, which is the whole point of the bridge (vs raw OTel).
|
|
74
96
|
const record = {
|
|
75
97
|
trace_id: traceId,
|
|
76
98
|
span_id: spanId,
|
|
77
|
-
parent_span_id:
|
|
99
|
+
parent_span_id: parentSpanId,
|
|
78
100
|
name,
|
|
79
101
|
kind: opts?.kind ?? "INTERNAL",
|
|
80
102
|
start_ns: startNs,
|
|
@@ -87,6 +109,13 @@ async function span(name, fn, opts) {
|
|
|
87
109
|
intent_id: ctx.intent_id,
|
|
88
110
|
}
|
|
89
111
|
: {}),
|
|
112
|
+
// Forensic marker for a malformed inbound traceparent (preserves
|
|
113
|
+
// the edge interim behavior: record, don't throw, start as root).
|
|
114
|
+
...(inboundMalformed && opts?.parent !== undefined
|
|
115
|
+
? {
|
|
116
|
+
"telemetry.inbound_traceparent_malformed": capValue(forensicParentValue(opts.parent)),
|
|
117
|
+
}
|
|
118
|
+
: {}),
|
|
90
119
|
...(opts?.attributes ? capAttributes(opts.attributes) : {}),
|
|
91
120
|
},
|
|
92
121
|
status: "UNSET",
|
package/dist/tracer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,+DAA+D;AAC/D,qEAAqE;AACrE,4BAA4B;AAC5B,EAAE;AACF,2BAA2B;AAC3B,uEAAuE;AACvE,sEAAsE;AACtE,sCAAsC;AACtC,oEAAoE;AACpE,oEAAoE;AACpE,mBAAmB;AACnB,sEAAsE;AACtE,kEAAkE;AAClE,sEAAsE;AACtE,cAAc;AAEd,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"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"}
|