@interopio/otel 0.1.8 → 0.1.11

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.
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRecordedSpan = createRecordedSpan;
4
+ function randomHex(bytes) {
5
+ let out = "";
6
+ for (let i = 0; i < bytes * 2; i++) {
7
+ out += Math.floor(Math.random() * 16).toString(16);
8
+ }
9
+ return out;
10
+ }
11
+ /**
12
+ * Creates a fresh {@link RecordedSpan} with a synthetic W3C traceparent.
13
+ */
14
+ function createRecordedSpan(source, filteringContext, explicitPropagationInfo, options, startTime) {
15
+ return {
16
+ source,
17
+ filteringContext,
18
+ explicitPropagationInfo,
19
+ options,
20
+ startTime,
21
+ events: [],
22
+ addedData: [],
23
+ exceptions: [],
24
+ children: [],
25
+ syntheticPropagationInfo: {
26
+ traceparent: `00-${randomHex(16)}-${randomHex(8)}-01`,
27
+ },
28
+ };
29
+ }
30
+ /**
31
+ * A no-op-for-OTEL TracingState that records everything into a {@link RecordedSpan}
32
+ * instead of writing to a live span. Verbosity/level filtering is intentionally
33
+ * NOT applied here (the real level isn't known until settings are loaded) — every
34
+ * addData call is recorded and filtered when replayed by the real TracingState.
35
+ */
36
+ class BufferingTracingState {
37
+ constructor(node, disablePropagation) {
38
+ this.node = node;
39
+ this.disablePropagation = disablePropagation;
40
+ this.hasEnded = false;
41
+ // The buffer is only ever populated when recording is desired, so it always
42
+ // reports as recording — otherwise instrumented code would skip gathering the
43
+ // attributes we want to replay.
44
+ this.enabled = true;
45
+ // Cosmetic during buffering: real verbosity filtering happens at replay.
46
+ this.level = "LOWEST";
47
+ }
48
+ get source() {
49
+ return this.node.source;
50
+ }
51
+ set source(value) {
52
+ this.node.source = value;
53
+ }
54
+ get startTime() {
55
+ return this.node.startTime;
56
+ }
57
+ get endTime() {
58
+ return this.node.endTime;
59
+ }
60
+ get id() {
61
+ var _a;
62
+ return (_a = this.node.syntheticPropagationInfo.traceparent) === null || _a === void 0 ? void 0 : _a.split("-")[2];
63
+ }
64
+ get traceId() {
65
+ var _a;
66
+ return (_a = this.node.syntheticPropagationInfo.traceparent) === null || _a === void 0 ? void 0 : _a.split("-")[1];
67
+ }
68
+ set status(status) {
69
+ this.node.status = Object.assign({}, status);
70
+ }
71
+ get status() {
72
+ var _a;
73
+ return (_a = this.node.status) !== null && _a !== void 0 ? _a : { code: 0 /* SpanStatusCode.UNSET */ };
74
+ }
75
+ end() {
76
+ void this.endSpan();
77
+ }
78
+ endSpan(endTime, allowDoubleEnd) {
79
+ if (this.hasEnded && !allowDoubleEnd) {
80
+ return Promise.resolve();
81
+ }
82
+ if (!this.hasEnded) {
83
+ this.hasEnded = true;
84
+ this.node.endTime = endTime !== null && endTime !== void 0 ? endTime : new Date();
85
+ }
86
+ return Promise.resolve();
87
+ }
88
+ addEvent(name, attributesOrStartTime, startTime) {
89
+ this.node.events.push({ name, attributesOrStartTime, startTime });
90
+ return this;
91
+ }
92
+ recordException(exception, time) {
93
+ this.node.exceptions.push({ exception, time });
94
+ }
95
+ isRecording() {
96
+ return !this.hasEnded;
97
+ }
98
+ updateName(name) {
99
+ this.node.updatedName = name;
100
+ this.node.source = name;
101
+ return this;
102
+ }
103
+ spanContext() {
104
+ return undefined;
105
+ }
106
+ addData(level, data) {
107
+ const resolved = typeof data === "function" ? data() : data;
108
+ this.node.addedData.push({ level, data: resolved });
109
+ }
110
+ getPropagationInfo() {
111
+ return this.node.syntheticPropagationInfo;
112
+ }
113
+ injectPropagationInfo(carrier) {
114
+ if (!this.disablePropagation) {
115
+ carrier.__interopIOTracePropagationInfo = this.node.syntheticPropagationInfo;
116
+ }
117
+ }
118
+ }
119
+ exports.default = BufferingTracingState;
120
+ //# sourceMappingURL=bufferingTracingState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bufferingTracingState.js","sourceRoot":"","sources":["../../src/traces/bufferingTracingState.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ class NullTracesManager extends nullManager_1.NullManager {
43
43
  });
44
44
  }
45
45
  get currentTracingState() {
46
- return new nullTracingState_1.default("nullTracingState", null, true);
46
+ return new nullTracingState_1.default("nullTracingState", null, true, null);
47
47
  }
48
48
  set currentTracingState(ts) {
49
49
  }
@@ -83,7 +83,7 @@ class NullTracesManager extends nullManager_1.NullManager {
83
83
  // extractedPI = Traces.currentTracingState?.getPropagationInfo() || null;
84
84
  // }
85
85
  // const nts = new NullTracingState(source, extractedPI);
86
- const nts = new nullTracingState_1.default(source, null, true);
86
+ const nts = new nullTracingState_1.default(source, null, true, null);
87
87
  traces_1.default.currentTracingState = nts;
88
88
  try {
89
89
  return actualCallback(nts);
@@ -1 +1 @@
1
- {"version":3,"file":"nullTracesManager.js","sourceRoot":"","sources":["../../src/traces/nullTracesManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nullTracesManager.js","sourceRoot":"","sources":["../../src/traces/nullTracesManager.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ export default class NullTracingState implements IOInsights.TracingState {
4
4
  source: string;
5
5
  private propagationInfo;
6
6
  private disablePropagation;
7
+ matchingFilter: IOInsights.SpanFilter | undefined | null;
7
8
  private currentSpanStatus;
8
- constructor(source: string, propagationInfo: IOInsights.PropagationInfo | null, disablePropagation: boolean);
9
+ constructor(source: string, propagationInfo: IOInsights.PropagationInfo | null, disablePropagation: boolean, matchingFilter: IOInsights.SpanFilter | undefined | null);
9
10
  level: "OFF";
10
11
  endSpan(): Promise<void>;
11
12
  get enabled(): boolean;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class NullTracingState {
4
- constructor(source, propagationInfo, disablePropagation) {
4
+ constructor(source, propagationInfo, disablePropagation, matchingFilter) {
5
5
  this.source = source;
6
6
  this.propagationInfo = propagationInfo;
7
7
  this.disablePropagation = disablePropagation;
8
+ this.matchingFilter = matchingFilter;
8
9
  this.currentSpanStatus = { code: 0 /*SpanStatusCode.UNSET*/ };
9
10
  this.level = "OFF";
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nullTracingState.js","sourceRoot":"","sources":["../../src/traces/nullTracingState.ts"],"names":[],"mappings":";;AAQA,MAAqB,gBAAgB;IAInC,YACS,MAAc,EACb,eAAkD,EAClD,kBAA2B;QAF5B,WAAM,GAAN,MAAM,CAAQ;QACb,oBAAe,GAAf,eAAe,CAAmC;QAClD,uBAAkB,GAAlB,kBAAkB,CAAS;QAL7B,sBAAiB,GAAe,EAAE,IAAI,EAAE,CAAQ,CAAC,wBAAwB,EAAE,CAAC;QAOpF,UAAK,GAAG,KAAc,CAAC;IAFiB,CAAC;IAIlC,OAAO;QACZ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAW,EAAE;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAW,OAAO;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAW,MAAM,CAAC,MAAkB;QAClC,IAAI,CAAC,iBAAiB,qBAAQ,MAAM,CAAE,CAAC;IACzC,CAAC;IACD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,QAAQ,CACb,IAAY,EACZ,qBAA8C,EAC9C,SAAqB;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IACM,eAAe,CAAC,SAAoB,EAAE,IAAgB,IAAG,CAAC;IAC1D,WAAW;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACM,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACM,WAAW;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,OAAO,CAAC,KAAuE,EAAE,IAA6B;IACrH,CAAC;IAEM,GAAG,KAAU,CAAC;IAEd,kBAAkB;QACvB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;QACZ,wEAAwE;QACxE,+BAA+B;QAC/B,yDAAyD;QACzD,0BAA0B;IAC5B,CAAC;IAEM,qBAAqB,CAAC,OAA0C;QACrE,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC,eAAe,CAAC;QACjE,CAAC;IACH,CAAC;CACF;AAxED,mCAwEC"}
1
+ {"version":3,"file":"nullTracingState.js","sourceRoot":"","sources":["../../src/traces/nullTracingState.ts"],"names":[],"mappings":";;AAQA,MAAqB,gBAAgB;IAInC,YACS,MAAc,EACb,eAAkD,EAClD,kBAA2B,EAC5B,cAAwD;QAHxD,WAAM,GAAN,MAAM,CAAQ;QACb,oBAAe,GAAf,eAAe,CAAmC;QAClD,uBAAkB,GAAlB,kBAAkB,CAAS;QAC5B,mBAAc,GAAd,cAAc,CAA0C;QANzD,sBAAiB,GAAe,EAAE,IAAI,EAAE,CAAQ,CAAC,wBAAwB,EAAE,CAAC;QAQpF,UAAK,GAAG,KAAc,CAAC;IAF6C,CAAC;IAI9D,OAAO;QACZ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAW,EAAE;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAW,OAAO;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAW,MAAM,CAAC,MAAkB;QAClC,IAAI,CAAC,iBAAiB,qBAAQ,MAAM,CAAE,CAAC;IACzC,CAAC;IACD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,QAAQ,CACb,IAAY,EACZ,qBAA8C,EAC9C,SAAqB;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IACM,eAAe,CAAC,SAAoB,EAAE,IAAgB,IAAG,CAAC;IAC1D,WAAW;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACM,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACM,WAAW;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,OAAO,CAAC,KAAuE,EAAE,IAA6B;IACrH,CAAC;IAEM,GAAG,KAAU,CAAC;IAEd,kBAAkB;QACvB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;QACZ,wEAAwE;QACxE,+BAA+B;QAC/B,yDAAyD;QACzD,0BAA0B;IAC5B,CAAC;IAEM,qBAAqB,CAAC,OAA0C;QACrE,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC,eAAe,CAAC;QACjE,CAAC;IACH,CAAC;CACF;AAzED,mCAyEC"}
@@ -1,3 +1,4 @@
1
+ import { TracingState } from "..";
1
2
  import { IOInsights } from "../../insights";
2
3
  /**
3
4
  * Null-safe singleton class that can be invoked even if you haven't initialized
@@ -10,6 +11,11 @@ export default class Traces {
10
11
  static get currentTracingState(): IOInsights.TracingState;
11
12
  static set currentTracingState(value: IOInsights.TracingState | null);
12
13
  static removePropagationInfo(propagationInfoCarrier: IOInsights.PropagationInfo | IOInsights.PropagationInfoCarrier | null | undefined): IOInsights.PropagationInfo | IOInsights.PropagationInfoCarrier | null | undefined;
14
+ static readPropagationInfo(propagationInfoCarrier: {
15
+ traceId: string;
16
+ spanId: string;
17
+ traceFlags?: number;
18
+ }, tracestate?: string, forceTracing?: boolean): IOInsights.PropagationInfo | null;
13
19
  static extractPropagationInfo(propagationInfoCarrier: IOInsights.PropagationInfo | IOInsights.PropagationInfoCarrier | null | undefined, deleteProperty?: boolean | undefined): IOInsights.PropagationInfo | null;
14
20
  withSequenceSpanEx<T>(source: string, traceName: string | null, callback: IOInsights.WithSpanCallback<T>): Promise<T>;
15
21
  withSequenceSpanEx<T>(source: string, traceName: string | null, filteringContext: IOInsights.FilteringContext | null, callback: IOInsights.WithSpanCallback<T>): Promise<T>;
@@ -24,12 +30,11 @@ export default class Traces {
24
30
  static isAsyncFunction(value: any): boolean;
25
31
  static withTypedSpanWrapper<T extends Function>(source: string, wrappedFunction: T): T;
26
32
  static withTypedSpanWrapper<T extends Function>(source: string, decoratorOptions: IOInsights.WithSpanDecoratorOptions | null, wrappedFunction: T): T;
27
- static withSpans<T>(tracingMap: TracingMap<T>, objectToTrace: T): T;
33
+ static withSpans<T>(tracingMap: IOInsights.TracingMap<T>, objectToTrace: T): T;
34
+ static openSpan<T>(source: string, context: IOInsights.FilteringContext | null, propagationInfo?: IOInsights.PropagationInfo | IOInsights.PropagationInfoCarrier | null, options?: IOInsights.WithSpanOptions | null): ({
35
+ ts: TracingState;
36
+ resolve: (arg: T) => void;
37
+ reject: (reason?: any) => void;
38
+ });
28
39
  }
29
- export type TracingMap<T> = {
30
- [propertyName in keyof Partial<T>]: ({
31
- source: string;
32
- decoratorOptions?: IOInsights.WithSpanDecoratorOptions;
33
- } | string);
34
- };
35
40
  export declare const withSpan: typeof Traces.withSpan;
@@ -36,7 +36,7 @@ class Traces {
36
36
  }
37
37
  static get currentTracingState() {
38
38
  var _a;
39
- return ((_a = Traces.instance) === null || _a === void 0 ? void 0 : _a.currentTracingState) || new nullTracingState_1.default("unknown", null, true);
39
+ return ((_a = Traces.instance) === null || _a === void 0 ? void 0 : _a.currentTracingState) || new nullTracingState_1.default("unknown", null, true, null);
40
40
  }
41
41
  static set currentTracingState(value) {
42
42
  if (Traces.instance) {
@@ -47,6 +47,36 @@ class Traces {
47
47
  Traces.extractPropagationInfo(propagationInfoCarrier, true);
48
48
  return propagationInfoCarrier;
49
49
  }
50
+ static readPropagationInfo(propagationInfoCarrier, tracestate, forceTracing) {
51
+ const { traceId, spanId, traceFlags } = propagationInfoCarrier;
52
+ function padHex(num) {
53
+ if (!num) {
54
+ return "00";
55
+ }
56
+ return ('0' + num.toString(16)).slice(-2); //9A
57
+ }
58
+ // https://www.w3.org/TR/trace-context/#traceparent-header
59
+ const traceparent = `00-${traceId}-${spanId}-${padHex(traceFlags !== null && traceFlags !== void 0 ? traceFlags : 0)}`.toLowerCase();
60
+ const match = traceparent.match(/^00-([0-9a-f]{32})-([0-9a-f]{16})-[0-9a-f]{2}$/);
61
+ if (match &&
62
+ match[1].split("").some(x => x != "0") &&
63
+ match[2].split("").some(x => x != "0") &&
64
+ (!traceFlags || traceFlags < 256)) {
65
+ const toReturn = {
66
+ traceparent,
67
+ };
68
+ if (tracestate) {
69
+ toReturn.tracestate = tracestate;
70
+ }
71
+ if (forceTracing) {
72
+ toReturn.forceTracing = forceTracing;
73
+ }
74
+ return toReturn;
75
+ }
76
+ else {
77
+ return null;
78
+ }
79
+ }
50
80
  static extractPropagationInfo(propagationInfoCarrier, deleteProperty) {
51
81
  if (propagationInfoCarrier === null || propagationInfoCarrier === void 0 ? void 0 : propagationInfoCarrier.traceparent) {
52
82
  return propagationInfoCarrier;
@@ -148,6 +178,23 @@ class Traces {
148
178
  }
149
179
  return objectToTrace;
150
180
  }
181
+ static openSpan(source, context, propagationInfo, options) {
182
+ let resolve = () => { };
183
+ let reject = () => { };
184
+ let ts = new nullTracingState_1.default(source, Traces.extractPropagationInfo(propagationInfo), false, null);
185
+ Traces.withSpan(source, context !== null && context !== void 0 ? context : {}, propagationInfo !== null && propagationInfo !== void 0 ? propagationInfo : null, options !== null && options !== void 0 ? options : null, (_ts) => {
186
+ ts = _ts;
187
+ return new Promise((rs, rj) => {
188
+ resolve = rs;
189
+ reject = rj;
190
+ });
191
+ });
192
+ return {
193
+ ts,
194
+ resolve,
195
+ reject
196
+ };
197
+ }
151
198
  }
152
199
  exports.default = Traces;
153
200
  exports.withSpan = Traces.withSpan;
@@ -1 +1 @@
1
- {"version":3,"file":"traces.js","sourceRoot":"","sources":["../../src/traces/traces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traces.js","sourceRoot":"","sources":["../../src/traces/traces.ts"],"names":[],"mappings":"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"}