@nifrajs/otel 3.5.0 → 4.0.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.
Files changed (62) hide show
  1. package/README.md +90 -3
  2. package/dist/cache.d.ts +46 -0
  3. package/dist/cache.d.ts.map +1 -0
  4. package/dist/cache.js +78 -0
  5. package/dist/cache.js.map +1 -0
  6. package/dist/context-trace.d.ts +8 -0
  7. package/dist/context-trace.d.ts.map +1 -0
  8. package/dist/context-trace.js +16 -0
  9. package/dist/context-trace.js.map +1 -0
  10. package/dist/effects.d.ts.map +1 -1
  11. package/dist/effects.js +2 -0
  12. package/dist/effects.js.map +1 -1
  13. package/dist/events.d.ts +69 -0
  14. package/dist/events.d.ts.map +1 -0
  15. package/dist/events.js +106 -0
  16. package/dist/events.js.map +1 -0
  17. package/dist/index.d.ts +2 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/jobs.d.ts +56 -0
  21. package/dist/jobs.d.ts.map +1 -0
  22. package/dist/jobs.js +98 -0
  23. package/dist/jobs.js.map +1 -0
  24. package/dist/lifecycle.d.ts +13 -1
  25. package/dist/lifecycle.d.ts.map +1 -1
  26. package/dist/lifecycle.js +12 -3
  27. package/dist/lifecycle.js.map +1 -1
  28. package/dist/metrics.d.ts.map +1 -1
  29. package/dist/metrics.js +0 -0
  30. package/dist/metrics.js.map +1 -1
  31. package/dist/otlp.d.ts.map +1 -1
  32. package/dist/otlp.js +17 -1
  33. package/dist/otlp.js.map +1 -1
  34. package/dist/route-template.d.ts +14 -0
  35. package/dist/route-template.d.ts.map +1 -0
  36. package/dist/route-template.js +38 -0
  37. package/dist/route-template.js.map +1 -0
  38. package/dist/sdk-bridge.d.ts +107 -0
  39. package/dist/sdk-bridge.d.ts.map +1 -0
  40. package/dist/sdk-bridge.js +243 -0
  41. package/dist/sdk-bridge.js.map +1 -0
  42. package/dist/span.d.ts +8 -1
  43. package/dist/span.d.ts.map +1 -1
  44. package/dist/span.js +1 -0
  45. package/dist/span.js.map +1 -1
  46. package/dist/tracing.d.ts.map +1 -1
  47. package/dist/tracing.js +11 -2
  48. package/dist/tracing.js.map +1 -1
  49. package/package.json +33 -3
  50. package/src/cache.ts +115 -0
  51. package/src/context-trace.ts +14 -0
  52. package/src/effects.ts +2 -0
  53. package/src/events.ts +170 -0
  54. package/src/index.ts +2 -0
  55. package/src/jobs.ts +141 -0
  56. package/src/lifecycle.ts +26 -3
  57. package/src/metrics.ts +0 -0
  58. package/src/otlp.ts +18 -2
  59. package/src/route-template.ts +43 -0
  60. package/src/sdk-bridge.ts +375 -0
  61. package/src/span.ts +9 -1
  62. package/src/tracing.ts +11 -2
package/dist/jobs.js ADDED
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Spans for `@nifrajs/jobs`, following the OpenTelemetry messaging conventions. `jobTracing()` is the
3
+ * queue's `instrument`: each enqueue is a `send <job>` producer span and each attempt a `process <job>`
4
+ * consumer span. The send span's context is stored with the job, and the process span is its CHILD
5
+ * (plus a link to it), so one trace runs from the request that enqueued the job through every attempt.
6
+ *
7
+ * import { jobTracing } from "@nifrajs/otel/jobs"
8
+ * const queue = createQueue({ store, instrument: jobTracing({ exporter }) })
9
+ * await sendEmail.for(c).enqueue({ to }) // "send send-email", child of the request span
10
+ */
11
+ import { createObservationLifecycle, } from "./lifecycle.js";
12
+ import { parseTraceparent } from "./traceparent.js";
13
+ const SYSTEM = "nifra.jobs";
14
+ /**
15
+ * The queue instrument. Span names are `send <job name>` (kind producer) and `process <job name>` (kind
16
+ * consumer), with `messaging.system = "nifra.jobs"`, `messaging.operation.type`/`.name`,
17
+ * `messaging.destination.name` (the job name) and `messaging.message.id`. A process span also carries
18
+ * `nifra.job.attempt` and `nifra.job.outcome`; an attempt that failed is an error span, and one that
19
+ * dead-lettered the job adds `nifra.job.dead_lettered = true`. Error text is never exported.
20
+ *
21
+ * The stored traceparent is untrusted: a malformed one starts the process span as a new trace. The
22
+ * sampled flag travels with it.
23
+ */
24
+ export function jobTracing(options = {}) {
25
+ const adapters = [
26
+ ...(options.exporter === undefined ? [] : [options.exporter]),
27
+ ...(options.adapters ?? []),
28
+ ];
29
+ const lifecycle = createObservationLifecycle({ adapters });
30
+ const scope = options.scope;
31
+ return {
32
+ async enqueue(info, next) {
33
+ const span = lifecycle.start({
34
+ name: `send ${info.name}`,
35
+ kind: "producer",
36
+ parent: parseTraceparent(info.traceparent),
37
+ attributes: {
38
+ "messaging.system": SYSTEM,
39
+ "messaging.operation.type": "send",
40
+ "messaging.operation.name": "send",
41
+ "messaging.destination.name": info.name,
42
+ },
43
+ });
44
+ try {
45
+ const id = await next({ traceparent: span.context.traceparent });
46
+ span.end({ status: "ok", attributes: { "messaging.message.id": id } });
47
+ return id;
48
+ }
49
+ catch (error) {
50
+ span.recordError(error);
51
+ span.end({ status: "error", attributes: { "error.type": "_OTHER" } });
52
+ throw error;
53
+ }
54
+ },
55
+ async run(info, next) {
56
+ const creation = parseTraceparent(info.traceparent);
57
+ const start = {
58
+ name: `process ${info.name}`,
59
+ kind: "consumer",
60
+ parent: creation,
61
+ attributes: {
62
+ "messaging.system": SYSTEM,
63
+ "messaging.operation.type": "process",
64
+ "messaging.operation.name": "process",
65
+ "messaging.destination.name": info.name,
66
+ "messaging.message.id": info.id,
67
+ "nifra.job.attempt": info.attempt,
68
+ },
69
+ };
70
+ if (creation !== null)
71
+ start.links = [{ traceId: creation.traceId, spanId: creation.spanId }];
72
+ const span = lifecycle.start(start);
73
+ const trace = span.context;
74
+ try {
75
+ const outcome = scope === undefined ? await next({ trace }) : await scope(trace, () => next({ trace }));
76
+ if (outcome === "completed") {
77
+ span.end({ status: "ok", attributes: { "nifra.job.outcome": outcome } });
78
+ }
79
+ else {
80
+ const attributes = {
81
+ "nifra.job.outcome": outcome,
82
+ "error.type": "_OTHER",
83
+ };
84
+ if (outcome === "dead-lettered")
85
+ attributes["nifra.job.dead_lettered"] = true;
86
+ span.end({ status: "error", attributes });
87
+ }
88
+ return outcome;
89
+ }
90
+ catch (error) {
91
+ span.recordError(error);
92
+ span.end({ status: "error", attributes: { "error.type": "_OTHER" } });
93
+ throw error;
94
+ }
95
+ },
96
+ };
97
+ }
98
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,0BAA0B,GAI3B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAwCnD,MAAM,MAAM,GAAG,YAAY,CAAA;AAE3B;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,UAA6B,EAAE;IACxD,MAAM,QAAQ,GAAG;QACf,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;KAC5B,CAAA;IACD,MAAM,SAAS,GAAG,0BAA0B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAE3B,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YACtB,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC3B,IAAI,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACzB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC1C,UAAU,EAAE;oBACV,kBAAkB,EAAE,MAAM;oBAC1B,0BAA0B,EAAE,MAAM;oBAClC,0BAA0B,EAAE,MAAM;oBAClC,4BAA4B,EAAE,IAAI,CAAC,IAAI;iBACxC;aACF,CAAC,CAAA;YACF,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;gBAChE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;gBACtE,OAAO,EAAE,CAAA;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACvB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;gBACrE,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI;YAClB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACnD,MAAM,KAAK,GAAqE;gBAC9E,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE;gBAC5B,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE;oBACV,kBAAkB,EAAE,MAAM;oBAC1B,0BAA0B,EAAE,SAAS;oBACrC,0BAA0B,EAAE,SAAS;oBACrC,4BAA4B,EAAE,IAAI,CAAC,IAAI;oBACvC,sBAAsB,EAAE,IAAI,CAAC,EAAE;oBAC/B,mBAAmB,EAAE,IAAI,CAAC,OAAO;iBAClC;aACF,CAAA;YACD,IAAI,QAAQ,KAAK,IAAI;gBAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC7F,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAA;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GACX,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBACzF,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;gBAC1E,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAmC;wBACjD,mBAAmB,EAAE,OAAO;wBAC5B,YAAY,EAAE,QAAQ;qBACvB,CAAA;oBACD,IAAI,OAAO,KAAK,eAAe;wBAAE,UAAU,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAA;oBAC7E,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;gBAC3C,CAAC;gBACD,OAAO,OAAO,CAAA;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACvB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;gBACrE,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * timing, error recording, final status classification, and exactly-once completion. Integrations
4
4
  * should adapt completed spans; they should not reimplement this state machine.
5
5
  */
6
- import type { AttributeValue, NifraSpan, ObservationAdapter, ObservationLink, SpanStatus } from "./span.js";
6
+ import type { AttributeValue, NifraSpan, ObservationAdapter, ObservationLink, SpanKind, SpanStatus } from "./span.js";
7
7
  export interface ObservationContext {
8
8
  readonly traceId: string;
9
9
  readonly spanId: string;
@@ -12,6 +12,12 @@ export interface ObservationContext {
12
12
  /** This span's outbound W3C trace context. */
13
13
  readonly traceparent: string;
14
14
  }
15
+ /**
16
+ * Runs `run` with a span active in an ambient context (OpenTelemetry's, for one), so code that only
17
+ * sees that context - a pg or undici instrumentation - nests under the span. `otelBridge().scope` from
18
+ * `@nifrajs/otel/sdk-bridge` is one.
19
+ */
20
+ export type ObservationScope = <T>(trace: ObservationContext, run: () => T) => T;
15
21
  export interface ObservationParent {
16
22
  readonly traceId: string;
17
23
  readonly spanId: string;
@@ -19,6 +25,8 @@ export interface ObservationParent {
19
25
  }
20
26
  export interface StartObservation {
21
27
  readonly name: string;
28
+ /** OTel span kind. Omitted, the span exports as `server`. */
29
+ readonly kind?: SpanKind;
22
30
  /** Explicit parent. `null` forces a root span; `undefined` falls back to `traceparent`. */
23
31
  readonly parent?: ObservationParent | null;
24
32
  /** Inbound W3C header used when `parent` is undefined. */
@@ -26,12 +34,16 @@ export interface StartObservation {
26
34
  readonly attributes?: Readonly<Record<string, AttributeValue>>;
27
35
  /** Non-parent causal relationships, for example an outbox event that resumed this workflow. */
28
36
  readonly links?: readonly ObservationLink[];
37
+ /** Epoch ms the work began, for work recorded after it settled. Default: now. */
38
+ readonly startTime?: number;
29
39
  }
30
40
  export interface EndObservation {
31
41
  readonly statusCode?: number;
32
42
  /** Explicit status wins over status-code and recorded-error classification. */
33
43
  readonly status?: Exclude<SpanStatus, "unset">;
34
44
  readonly attributes?: Readonly<Record<string, AttributeValue>>;
45
+ /** Measured duration in ms, for work recorded after it settled. The end time becomes start + duration. */
46
+ readonly durationMs?: number;
35
47
  }
36
48
  export interface ActiveObservation {
37
49
  readonly span: NifraSpan;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
package/dist/lifecycle.js CHANGED
@@ -40,7 +40,9 @@ export function createObservationLifecycle(options = {}) {
40
40
  const traceId = parent?.traceId ?? newTraceId();
41
41
  const spanId = newSpanId();
42
42
  const sampled = parent?.sampled ?? true;
43
- const startTime = clock.wallTime();
43
+ const startTime = input.startTime !== undefined && Number.isFinite(input.startTime)
44
+ ? input.startTime
45
+ : clock.wallTime();
44
46
  const monotonicStart = clock.monotonicTime();
45
47
  const span = {
46
48
  traceId,
@@ -48,6 +50,7 @@ export function createObservationLifecycle(options = {}) {
48
50
  ...(parent === null ? {} : { parentSpanId: parent.spanId }),
49
51
  sampled,
50
52
  name: input.name,
53
+ ...(input.kind === undefined ? {} : { kind: input.kind }),
51
54
  startTime,
52
55
  status: "unset",
53
56
  attributes: { ...input.attributes },
@@ -111,8 +114,14 @@ export function createObservationLifecycle(options = {}) {
111
114
  return span;
112
115
  ended = true;
113
116
  Object.assign(span.attributes, endInput.attributes);
114
- span.endTime = clock.wallTime();
115
- span.durationMs = Math.max(0, clock.monotonicTime() - monotonicStart);
117
+ if (endInput.durationMs !== undefined && Number.isFinite(endInput.durationMs)) {
118
+ span.durationMs = Math.max(0, endInput.durationMs);
119
+ span.endTime = span.startTime + span.durationMs;
120
+ }
121
+ else {
122
+ span.endTime = clock.wallTime();
123
+ span.durationMs = Math.max(0, clock.monotonicTime() - monotonicStart);
124
+ }
116
125
  span.status =
117
126
  endInput.status ??
118
127
  (endInput.statusCode === undefined
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AA+EzB,MAAM,YAAY,GAAqB;IACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;CAC3F,CAAA;AAED,sFAAsF;AACtF,MAAM,UAAU,0BAA0B,CACxC,UAAuC,EAAE;IAEzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAA;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,eAAe,CAAA;IAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,cAAc,CAAA;IAE1D,MAAM,WAAW,GAAG,CAAC,IAAe,EAAE,YAA2C,EAAQ,EAAE;QACzF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,YAA2C,EAAQ,EAAE;QACvF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,CACZ,KAAuB,EACvB,qBAAoD,EAAE,EACnC,EAAE;QACrB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAA;QAClE,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QACzF,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,UAAU,EAAE,CAAA;QAC/C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAA;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;QAClC,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;QAC5C,MAAM,IAAI,GAAc;YACtB,OAAO;YACP,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO;YACP,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS;YACT,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE;YACnC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;gBAC3B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,KAAK,EAAE,MAAM,CAAC,MAAM,CAClB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,MAAM,CAAC,MAAM,CAAC;wBACZ,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;4BAC/B,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;qBAC3D,CAAC,CACH,CACF;iBACF,CAAC;SACP,CAAA;QACD,MAAM,OAAO,GAAuB;YAClC,OAAO;YACP,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO;YACP,WAAW,EAAE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;SACzD,CAAA;QACD,IAAI,aAAa,GAAG,KAAK,CAAA;QACzB,IAAI,KAAK,GAAG,KAAK,CAAA;QAEjB,MAAM,MAAM,GAAsB;YAChC,IAAI;YACJ,OAAO;YACP,UAAU,CAAC,OAAO;gBAChB,IAAI,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,OAAM;gBAC9C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACzB,IAAI,CAAC;oBACH,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,0EAA0E;gBAC5E,CAAC;YACH,CAAC;YACD,UAAU,CAAC,KAAK,EAAE,aAAa;gBAC7B,OAAO,KAAK,CACV;oBACE,GAAG,KAAK;oBACR,MAAM,EAAE,OAAO;iBAChB,EACD,aAAa,CACd,CAAA;YACH,CAAC;YACD,aAAa,CAAC,UAAU;gBACtB,IAAI,KAAK;oBAAE,OAAM;gBACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAC5C,CAAC;YACD,WAAW,CAAC,MAAM;gBAChB,IAAI,KAAK;oBAAE,OAAM;gBACjB,aAAa,GAAG,IAAI,CAAA;gBACpB,yFAAyF;gBACzF,4FAA4F;gBAC5F,sDAAsD;gBACtD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAA;YAC1C,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,EAAE;gBACf,IAAI,KAAK;oBAAE,OAAO,IAAI,CAAA;gBACtB,KAAK,GAAG,IAAI,CAAA;gBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACnD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,GAAG,cAAc,CAAC,CAAA;gBACrE,IAAI,CAAC,MAAM;oBACT,QAAQ,CAAC,MAAM;wBACf,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;4BAChC,CAAC,CAAC,aAAa;gCACb,CAAC,CAAC,OAAO;gCACT,CAAC,CAAC,IAAI;4BACR,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG;gCAC1B,CAAC,CAAC,OAAO;gCACT,CAAC,CAAC,IAAI,CAAC,CAAA;gBACb,6FAA6F;gBAC7F,kGAAkG;gBAClG,0FAA0F;gBAC1F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACnB,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAA;gBAClC,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAA;QAED,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAA;QACpC,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AA4FzB,MAAM,YAAY,GAAqB;IACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;CAC3F,CAAA;AAED,sFAAsF;AACtF,MAAM,UAAU,0BAA0B,CACxC,UAAuC,EAAE;IAEzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAA;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,eAAe,CAAA;IAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,cAAc,CAAA;IAE1D,MAAM,WAAW,GAAG,CAAC,IAAe,EAAE,YAA2C,EAAQ,EAAE;QACzF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,YAA2C,EAAQ,EAAE;QACvF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,CACZ,KAAuB,EACvB,qBAAoD,EAAE,EACnC,EAAE;QACrB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAA;QAClE,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QACzF,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,UAAU,EAAE,CAAA;QAC/C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAA;QACvC,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/D,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;QACtB,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;QAC5C,MAAM,IAAI,GAAc;YACtB,OAAO;YACP,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO;YACP,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACzD,SAAS;YACT,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE;YACnC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;gBAC3B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,KAAK,EAAE,MAAM,CAAC,MAAM,CAClB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,MAAM,CAAC,MAAM,CAAC;wBACZ,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;4BAC/B,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;qBAC3D,CAAC,CACH,CACF;iBACF,CAAC;SACP,CAAA;QACD,MAAM,OAAO,GAAuB;YAClC,OAAO;YACP,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO;YACP,WAAW,EAAE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;SACzD,CAAA;QACD,IAAI,aAAa,GAAG,KAAK,CAAA;QACzB,IAAI,KAAK,GAAG,KAAK,CAAA;QAEjB,MAAM,MAAM,GAAsB;YAChC,IAAI;YACJ,OAAO;YACP,UAAU,CAAC,OAAO;gBAChB,IAAI,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,OAAM;gBAC9C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACzB,IAAI,CAAC;oBACH,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,0EAA0E;gBAC5E,CAAC;YACH,CAAC;YACD,UAAU,CAAC,KAAK,EAAE,aAAa;gBAC7B,OAAO,KAAK,CACV;oBACE,GAAG,KAAK;oBACR,MAAM,EAAE,OAAO;iBAChB,EACD,aAAa,CACd,CAAA;YACH,CAAC;YACD,aAAa,CAAC,UAAU;gBACtB,IAAI,KAAK;oBAAE,OAAM;gBACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAC5C,CAAC;YACD,WAAW,CAAC,MAAM;gBAChB,IAAI,KAAK;oBAAE,OAAM;gBACjB,aAAa,GAAG,IAAI,CAAA;gBACpB,yFAAyF;gBACzF,4FAA4F;gBAC5F,sDAAsD;gBACtD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAA;YAC1C,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,EAAE;gBACf,IAAI,KAAK;oBAAE,OAAO,IAAI,CAAA;gBACtB,KAAK,GAAG,IAAI,CAAA;gBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACnD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;oBAClD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;gBACjD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;oBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,GAAG,cAAc,CAAC,CAAA;gBACvE,CAAC;gBACD,IAAI,CAAC,MAAM;oBACT,QAAQ,CAAC,MAAM;wBACf,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;4BAChC,CAAC,CAAC,aAAa;gCACb,CAAC,CAAC,OAAO;gCACT,CAAC,CAAC,IAAI;4BACR,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG;gCAC1B,CAAC,CAAC,OAAO;gCACT,CAAC,CAAC,IAAI,CAAC,CAAA;gBACb,6FAA6F;gBAC7F,kGAAkG;gBAClG,0FAA0F;gBAC1F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACnB,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAA;gBAClC,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAA;QAED,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAA;QACpC,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAsB,KAAK,cAAc,EAAwB,MAAM,sBAAsB,CAAA;AAUpG,KAAK,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AA8B9C,6DAA6D;AAC7D,qBAAa,OAAO;IAGhB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAHvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAE/C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM;IAIvB,GAAG,CAAC,MAAM,GAAE,MAAW,EAAE,EAAE,SAAI,GAAG,IAAI;IAMtC,MAAM,IAAI,MAAM;CAMjB;AAED,yEAAyE;AACzE,qBAAa,KAAK;IAGd,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAHvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAE/C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM;IAIvB,OAAO,CAAC,EAAE;IASV,GAAG,CAAC,MAAM,GAAE,MAAW,EAAE,EAAE,SAAI,GAAG,IAAI;IAGtC,GAAG,CAAC,MAAM,GAAE,MAAW,EAAE,EAAE,SAAI,GAAG,IAAI;IAGtC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxC,MAAM,IAAI,MAAM;CAMjB;AASD,sGAAsG;AACtG,qBAAa,SAAS;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAJvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,SAAS,MAAM,EAAE;IAK5B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI;IAajD,MAAM,IAAI,MAAM;CAcjB;AAED,+EAA+E;AAC/E,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE1D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,OAAO;IAQ3C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,KAAK;IAQvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,SAAO,GAAG,SAAS;IAQ3E,iEAAiE;IACjE,MAAM,IAAI,MAAM;CAOjB;AAED,2GAA2G;AAC3G,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD;AAKD,MAAM,WAAW,cAAc;IAC7B,wGAAwG;IACxG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;IACnC,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAOD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,cAAc,CAoEpE"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAsB,KAAK,cAAc,EAAqB,MAAM,sBAAsB,CAAA;AAWjG,KAAK,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AA8B9C,6DAA6D;AAC7D,qBAAa,OAAO;IAGhB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAHvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAE/C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM;IAIvB,GAAG,CAAC,MAAM,GAAE,MAAW,EAAE,EAAE,SAAI,GAAG,IAAI;IAMtC,MAAM,IAAI,MAAM;CAMjB;AAED,yEAAyE;AACzE,qBAAa,KAAK;IAGd,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAHvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAE/C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM;IAIvB,OAAO,CAAC,EAAE;IASV,GAAG,CAAC,MAAM,GAAE,MAAW,EAAE,EAAE,SAAI,GAAG,IAAI;IAGtC,GAAG,CAAC,MAAM,GAAE,MAAW,EAAE,EAAE,SAAI,GAAG,IAAI;IAGtC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxC,MAAM,IAAI,MAAM;CAMjB;AASD,sGAAsG;AACtG,qBAAa,SAAS;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAJvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,SAAS,MAAM,EAAE;IAK5B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI;IAajD,MAAM,IAAI,MAAM;CAcjB;AAED,+EAA+E;AAC/E,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE1D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,OAAO;IAQ3C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,KAAK;IAQvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,SAAO,GAAG,SAAS;IAQ3E,iEAAiE;IACjE,MAAM,IAAI,MAAM;CAOjB;AAED,2GAA2G;AAC3G,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD;AAKD,MAAM,WAAW,cAAc;IAC7B,wGAAwG;IACxG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;IACnC,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAOD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,cAAc,CA6DpE"}
package/dist/metrics.js CHANGED
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"otlp.d.ts","sourceRoot":"","sources":["../src/otlp.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAA6B,kBAAkB,EAAc,MAAM,WAAW,CAAA;AAE1F,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,sBAAsB;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,2FAA2F;QAC3F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,oGAAoG;QACpG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,mFAAmF;QACnF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAClC,CAAA;IACD,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAChG;AAED,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD,sFAAsF;IACtF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAiDD,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA2EvE"}
1
+ {"version":3,"file":"otlp.d.ts","sourceRoot":"","sources":["../src/otlp.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAA6B,kBAAkB,EAAwB,MAAM,WAAW,CAAA;AAEpG,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,sBAAsB;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,2FAA2F;QAC3F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,oGAAoG;QACpG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,mFAAmF;QACnF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAClC,CAAA;IACD,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAChG;AAED,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD,sFAAsF;IACtF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAiED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA2EvE"}
package/dist/otlp.js CHANGED
@@ -8,6 +8,22 @@
8
8
  * request); delivery failures reach `onError`.
9
9
  */
10
10
  const STATUS_CODE = { unset: 0, ok: 1, error: 2 };
11
+ // OTLP `Span.SpanKind`; 0 (UNSPECIFIED) is never sent. A kind is caller data, so anything unknown
12
+ // exports as server, the kind of the spans that predate the field.
13
+ function kindCode(kind) {
14
+ switch (kind) {
15
+ case "internal":
16
+ return 1;
17
+ case "client":
18
+ return 3;
19
+ case "producer":
20
+ return 4;
21
+ case "consumer":
22
+ return 5;
23
+ default:
24
+ return 2;
25
+ }
26
+ }
11
27
  function assertPositiveSafeInteger(value, option) {
12
28
  if (!Number.isSafeInteger(value) || value <= 0) {
13
29
  throw new RangeError(`otlpExporter: ${option} must be a positive safe integer; received ${String(value)}`);
@@ -32,7 +48,7 @@ function toOtlpSpan(span) {
32
48
  spanId: span.spanId,
33
49
  ...(span.parentSpanId !== undefined ? { parentSpanId: span.parentSpanId } : {}),
34
50
  name: span.name,
35
- kind: 2, // SPAN_KIND_SERVER
51
+ kind: kindCode(span.kind),
36
52
  startTimeUnixNano: String(span.startTime * MS_TO_NANOS),
37
53
  endTimeUnixNano: String(end * MS_TO_NANOS),
38
54
  attributes: keyValues(span.attributes),
package/dist/otlp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"otlp.js","sourceRoot":"","sources":["../src/otlp.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiCH,MAAM,WAAW,GAAyC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAEvF,SAAS,yBAAyB,CAAC,KAAa,EAAE,MAAc;IAC9D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,UAAU,CAClB,iBAAiB,MAAM,8CAA8C,MAAM,CAAC,KAAK,CAAC,EAAE,CACrF,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAqB;IACrC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;IAC5D,0EAA0E;IAC1E,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AACvF,CAAC;AAED,SAAS,SAAS,CAAC,UAAoD;IACrE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5F,CAAC;AAED,MAAM,WAAW,GAAG,SAAS,CAAA;AAE7B,SAAS,UAAU,CAAC,IAAe;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAA;IAC1C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,CAAC,EAAE,mBAAmB;QAC5B,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QACvD,eAAe,EAAE,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC;QAC1C,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;QACtC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC1C,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC;gBACE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrF,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA4B;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAA;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAA;IAChD,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE,eAAe,IAAI,IAAI,CAAA;IAC9D,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IACrD,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IACrD,yBAAyB,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAA;IACnE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAK,UAAU,CAAC,KAAsC,CAAA;IACnF,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC,CAAA;IAExF,MAAM,KAAK,GAAgB,EAAE,CAAA;IAC7B,IAAI,KAAiD,CAAA;IAErD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAQ,EAAE;QACtC,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,KAAK,EAAE,KAAkB,EAAiB,EAAE;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAM;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,aAAa,EAAE;gBACb;oBACE,QAAQ,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE;oBAC5C,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;iBACzE;aACF;SACF,CAAC,CAAA;QACF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;gBACnE,IAAI;aACL,CAAC,CAAA;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,CAAA;QACf,CAAC;IACH,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,GAAkB,EAAE;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAM;QAC/B,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YACvB,KAAK,KAAK,EAAE,CAAA;QACd,CAAC,EAAE,eAAe,CAAC,CAClB;QAAC,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAA,CAAC,gDAAgD;IAC/F,CAAC,CAAA;IAED,OAAO;QACL,KAAK,CAAC,IAAI;YACR,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChB,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,KAAK,EAAE,CAAA,CAAC,0EAA0E;gBACxF,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAA;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;gBAAE,KAAK,KAAK,EAAE,CAAA;;gBACrC,WAAW,EAAE,CAAA;QACpB,CAAC;QACD,KAAK;QACL,KAAK,CAAC,QAAQ;YACZ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,KAAK,GAAG,SAAS,CAAA;YACnB,CAAC;YACD,MAAM,KAAK,EAAE,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"otlp.js","sourceRoot":"","sources":["../src/otlp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { RouteDescriptor } from "@nifrajs/core/server";
2
+ /** A method as a label or span name may carry it. Any other method a runtime accepts (Deno takes
3
+ * extension tokens) is `_OTHER`, as OpenTelemetry's HTTP conventions name it, so a client cannot
4
+ * mint a new series or span name per request. */
5
+ export declare function methodLabel(method: string): string;
6
+ /**
7
+ * A request's matched route template (`/users/:id`, never `/users/42`), or `undefined` when no route
8
+ * serves it. The matcher is built on first use: by serving time every route is registered, so
9
+ * `app.routes()` is complete, where building it when the plugin is applied would miss later routes.
10
+ */
11
+ export declare function routeTemplateOf(app: {
12
+ routes(): ReadonlyArray<RouteDescriptor>;
13
+ }): (method: string, path: string) => string | undefined;
14
+ //# sourceMappingURL=route-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-template.d.ts","sourceRoot":"","sources":["../src/route-template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAc3D;;iDAEiD;AACjD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE;IACnC,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,CAAA;CACzC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAavD"}
@@ -0,0 +1,38 @@
1
+ import { Router } from "@nifrajs/core/router";
2
+ const KNOWN_METHODS = new Set([
3
+ "GET",
4
+ "HEAD",
5
+ "POST",
6
+ "PUT",
7
+ "DELETE",
8
+ "PATCH",
9
+ "OPTIONS",
10
+ "CONNECT",
11
+ "TRACE",
12
+ ]);
13
+ /** A method as a label or span name may carry it. Any other method a runtime accepts (Deno takes
14
+ * extension tokens) is `_OTHER`, as OpenTelemetry's HTTP conventions name it, so a client cannot
15
+ * mint a new series or span name per request. */
16
+ export function methodLabel(method) {
17
+ return KNOWN_METHODS.has(method) ? method : "_OTHER";
18
+ }
19
+ /**
20
+ * A request's matched route template (`/users/:id`, never `/users/42`), or `undefined` when no route
21
+ * serves it. The matcher is built on first use: by serving time every route is registered, so
22
+ * `app.routes()` is complete, where building it when the plugin is applied would miss later routes.
23
+ */
24
+ export function routeTemplateOf(app) {
25
+ let matcher;
26
+ return (method, path) => {
27
+ if (matcher === undefined) {
28
+ matcher = new Router();
29
+ for (const route of app.routes()) {
30
+ // biome-ignore lint/plugin/requireSafetyCommentForTypeAssertion: every registered route's method is one this router already accepted when the app registered it.
31
+ matcher.add(route.method, route.path, route.path);
32
+ }
33
+ }
34
+ const found = matcher.find(method, path);
35
+ return found.found ? found.payload : undefined;
36
+ };
37
+ }
38
+ //# sourceMappingURL=route-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-template.js","sourceRoot":"","sources":["../src/route-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACjD,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;CACR,CAAC,CAAA;AAEF;;iDAEiD;AACjD,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAE/B;IACC,IAAI,OAAmC,CAAA;IACvC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,MAAM,EAAU,CAAA;YAC9B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjC,iKAAiK;gBACjK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAChD,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * A bridge between nifra spans and the OpenTelemetry SDK. The app passes its own `@opentelemetry/api`;
3
+ * nifra takes no dependency on it.
4
+ *
5
+ * import * as api from "@opentelemetry/api"
6
+ * import { otelBridge } from "@nifrajs/otel/sdk-bridge"
7
+ *
8
+ * const bridge = otelBridge({ api })
9
+ * app.use(tracing({ adapters: [bridge.adapter] })).use(bridge.plugin)
10
+ * // a pg / undici span started inside a handler is now a child of the request span
11
+ *
12
+ * Context propagation needs an async context manager registered with the SDK (on Node, Bun and Deno the
13
+ * AsyncLocalStorage one from `@opentelemetry/context-async-hooks`; on Workers, `nodejs_compat`).
14
+ */
15
+ import { type IdentityPlugin } from "@nifrajs/core/server";
16
+ import type { ObservationScope } from "./lifecycle.js";
17
+ import type { AttributeValue, ObservationAdapter } from "./span.js";
18
+ /** The OTel `SpanContext` shape. */
19
+ export interface OtelSpanContext {
20
+ readonly traceId: string;
21
+ readonly spanId: string;
22
+ readonly traceFlags: number;
23
+ readonly isRemote?: boolean;
24
+ }
25
+ /** The part of an OTel `Span` the bridge uses. Every `Span` from `@opentelemetry/api` has it. */
26
+ export interface OtelSpan {
27
+ spanContext(): OtelSpanContext;
28
+ setAttributes(attributes: Record<string, AttributeValue>): unknown;
29
+ setStatus(status: {
30
+ code: number;
31
+ }): unknown;
32
+ end(endTime?: number): void;
33
+ isRecording(): boolean;
34
+ }
35
+ /** The part of an OTel `Tracer` the bridge uses. */
36
+ export interface OtelTracer {
37
+ startSpan(name: string, options?: {
38
+ kind?: number;
39
+ startTime?: number;
40
+ attributes?: Record<string, AttributeValue>;
41
+ links?: Array<{
42
+ context: OtelSpanContext;
43
+ attributes?: Record<string, AttributeValue>;
44
+ }>;
45
+ }, context?: unknown): OtelSpan;
46
+ }
47
+ /** The part of `@opentelemetry/api` the bridge uses: pass `import * as api from "@opentelemetry/api"`. */
48
+ export interface OtelApi {
49
+ readonly ROOT_CONTEXT: unknown;
50
+ readonly context: {
51
+ active(): unknown;
52
+ with<A extends unknown[], F extends (...args: A) => ReturnType<F>>(context: unknown, fn: F, thisArg?: ThisParameterType<F>, ...args: A): ReturnType<F>;
53
+ };
54
+ readonly trace: {
55
+ setSpan(context: unknown, span: unknown): unknown;
56
+ getSpan(context: unknown): {
57
+ spanContext(): OtelSpanContext;
58
+ } | undefined;
59
+ getTracer(name: string, version?: string): OtelTracer;
60
+ };
61
+ }
62
+ /** The SDK's `IdGenerator`. */
63
+ export interface OtelIdGenerator {
64
+ generateTraceId(): string;
65
+ generateSpanId(): string;
66
+ }
67
+ export interface OtelBridgeOptions {
68
+ /** The app's own `@opentelemetry/api` module. */
69
+ readonly api: OtelApi;
70
+ /** Tracer that mirrored spans start on. Default `api.trace.getTracer("@nifrajs/otel")`, at first use. */
71
+ readonly tracer?: OtelTracer;
72
+ /** Maximum mirrored spans in flight at once; the oldest is ended past it. Default 10,000. */
73
+ readonly maxActive?: number;
74
+ /** Opportunistically end mirrored spans in flight longer than this many ms. Default 5 min. */
75
+ readonly maxActiveAgeMs?: number;
76
+ /** Injectable wall clock for deterministic retention tests. */
77
+ readonly now?: () => number;
78
+ /**
79
+ * Called once when the SDK gave a mirrored span different ids from the nifra span, which means
80
+ * `idGenerator` is not wired. Default: one `console.warn`.
81
+ */
82
+ readonly onIdMismatch?: () => void;
83
+ }
84
+ export interface OtelBridge {
85
+ /**
86
+ * Mirrors nifra spans into SDK spans: name, kind, parent, links, attributes, status and timing. Add it
87
+ * to `tracing({ adapters })` and to `cacheTracing` / `jobTracing` / `traceEventConsumer`.
88
+ */
89
+ readonly adapter: ObservationAdapter;
90
+ /**
91
+ * `app.use(bridge.plugin)`: each subsequent route runs with its request span active in the OTel
92
+ * context, so the SDK's own instrumentations (pg, mysql2, ioredis, undici, prisma) nest under it.
93
+ * Costs one `around()` frame per request, and only when installed.
94
+ */
95
+ readonly plugin: IdentityPlugin;
96
+ /** Runs code with a nifra span active in the OTel context: `jobTracing({ scope: bridge.scope })`. */
97
+ readonly scope: ObservationScope;
98
+ /**
99
+ * Pass as the SDK provider's `idGenerator` so mirrored spans keep nifra's exact trace and span ids:
100
+ * the `traceparent` nifra forwards downstream and the trace context a job stores then name real
101
+ * spans. Outside a mirrored start it generates random ids.
102
+ */
103
+ readonly idGenerator: OtelIdGenerator;
104
+ }
105
+ /** Build the bridge. See {@link OtelBridge} for what each part does. */
106
+ export declare function otelBridge(options: OtelBridgeOptions): OtelBridge;
107
+ //# sourceMappingURL=sdk-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-bridge.d.ts","sourceRoot":"","sources":["../src/sdk-bridge.ts"],"names":[],"mappings":"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"}