@respan/tracing 1.1.6 → 1.2.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/decorators/base.js +8 -2
- package/dist/decorators/base.js.map +1 -1
- package/dist/main.d.ts +5 -1
- package/dist/main.js +14 -3
- package/dist/main.js.map +1 -1
- package/dist/processor/manager.d.ts +12 -0
- package/dist/processor/manager.js +15 -4
- package/dist/processor/manager.js.map +1 -1
- package/dist/processor/spanName.d.ts +15 -0
- package/dist/processor/spanName.js +305 -0
- package/dist/processor/spanName.js.map +1 -0
- package/dist/types/clientTypes.d.ts +10 -0
- package/dist/types/clientTypes.js.map +1 -1
- package/dist/utils/client.js +2 -3
- package/dist/utils/client.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/tracing.d.ts +9 -1
- package/dist/utils/tracing.js +77 -18
- package/dist/utils/tracing.js.map +1 -1
- package/package.json +1 -1
package/dist/decorators/base.js
CHANGED
|
@@ -81,11 +81,17 @@ function withEntity(type, { name, version, associationProperties, traceContent:
|
|
|
81
81
|
// STEP 10: Capture input parameters if tracing is enabled
|
|
82
82
|
if (shouldSendTraces()) {
|
|
83
83
|
try {
|
|
84
|
+
const hasDisplayInput = inputParameters !== undefined;
|
|
84
85
|
const input = inputParameters ?? args;
|
|
85
|
-
//
|
|
86
|
-
|
|
86
|
+
// Explicit display inputs should be recorded as the caller-provided
|
|
87
|
+
// payload instead of leaking the wrapper's args/kwargs shape.
|
|
88
|
+
if (hasDisplayInput && input.length === 1) {
|
|
89
|
+
span.setAttribute(SpanAttributes.TRACELOOP_ENTITY_INPUT, serialize(input[0]));
|
|
90
|
+
}
|
|
91
|
+
else if (input.length === 1 &&
|
|
87
92
|
typeof input[0] === "object" &&
|
|
88
93
|
!(input[0] instanceof Map)) {
|
|
94
|
+
// Handle single object parameter (common pattern)
|
|
89
95
|
span.setAttribute(SpanAttributes.TRACELOOP_ENTITY_INPUT, serialize({ args: [], kwargs: input[0] }));
|
|
90
96
|
}
|
|
91
97
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/decorators/base.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/decorators/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAyB5C;;;;;;;;;;GAUG;AACH,SAAS,UAAU,CAIjB,IAA6B,EAC7B,EACE,IAAI,EACJ,OAAO,EACP,qBAAqB,EACrB,YAAY,EAAE,oBAAoB,EAClC,eAAe,EACf,eAAe,EAAE,qBAAqB,EACtC,UAAU,GACM,EAClB,EAAK,EACL,OAA8B,EAC9B,GAAG,IAAO;IAEV,sEAAsE;IACtE,yEAAyE;IACzE,IAAI,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAErC,8CAA8C;IAC9C,8EAA8E;IAC9E,IACE,IAAI,KAAK,uBAAuB,CAAC,QAAQ;QACzC,IAAI,KAAK,uBAAuB,CAAC,KAAK,EACtC,CAAC;QACD,kEAAkE;QAClE,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,8DAA8D;IAC9D,iEAAiE;IACjE,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAChD,IACE,IAAI,KAAK,uBAAuB,CAAC,IAAI;QACrC,IAAI,KAAK,uBAAuB,CAAC,IAAI,EACrC,CAAC;QACD,mEAAmE;QACnE,4CAA4C;QAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC1E,CAAC;IAED,2CAA2C;IAC3C,uEAAuE;IACvE,IAAI,oBAAoB,IAAI,SAAS,EAAE,CAAC;QACtC,aAAa,GAAG,aAAa,CAAC,QAAQ,CACpC,+BAA+B,EAC/B,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,6DAA6D;IAC7D,IAAI,qBAAqB,EAAE,CAAC;QAC1B,aAAa,GAAG,aAAa,CAAC,QAAQ,CACpC,0BAA0B,EAC1B,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,wDAAwD;IACxD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,wDAAwD;IACxD,qEAAqE;IACrE,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;IACtC,sCAAsC;IACtC,SAAS,EAAE,CAAC,eAAe,CACzB,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,4CAA4C;IAC/D,EAAE,EAAE,+BAA+B;IACnC,aAAa,EAAE,mCAAmC;IAClD,CAAC,IAAU,EAAE,EAAE;QACb,2CAA2C;QAC3C,yDAAyD;QAEzD,4CAA4C;QAC5C,IACE,IAAI,KAAK,uBAAuB,CAAC,QAAQ;YACzC,IAAI,KAAK,uBAAuB,CAAC,KAAK,EACtC,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CACf,cAAc,CAAC,qBAAqB,EACpC,UAAU,IAAI,EAAE,CACjB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAE5D,+BAA+B;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;QAED,qCAAqC;QACrC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QACxE,CAAC;QAED,0DAA0D;QAC1D,IAAI,gBAAgB,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,eAAe,KAAK,SAAS,CAAC;gBACtD,MAAM,KAAK,GAAG,eAAe,IAAI,IAAI,CAAC;gBAEtC,oEAAoE;gBACpE,8DAA8D;gBAC9D,IAAI,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,YAAY,CACf,cAAc,CAAC,sBAAsB,EACrC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,CAAC;gBACJ,CAAC;qBAAM,IACL,KAAK,CAAC,MAAM,KAAK,CAAC;oBAClB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;oBAC5B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,EAC1B,CAAC;oBACD,kDAAkD;oBAClD,IAAI,CAAC,YAAY,CACf,cAAc,CAAC,sBAAsB,EACrC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1C,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,6BAA6B;oBAC7B,IAAI,CAAC,YAAY,CACf,cAAc,CAAC,sBAAsB,EACrC,SAAS,CAAC;wBACR,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,EAAE;qBACX,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEpC,6CAA6C;YAC7C,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;gBAC3B,OAAO,GAAG;qBACP,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;oBACpB,kCAAkC;oBAClC,IAAI,CAAC;wBACH,IAAI,gBAAgB,EAAE,EAAE,CAAC;4BACvB,IAAI,CAAC,YAAY,CACf,cAAc,CAAC,uBAAuB,EACtC,SAAS,CAAC,WAAW,CAAC,CACvB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBACpD,CAAC;4BAAS,CAAC;wBACT,qDAAqD;wBACrD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,CAAC;oBAED,OAAO,WAAW,CAAC;gBACrB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,sBAAsB;oBACtB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;wBAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;wBAC5B,IAAI,CAAC,SAAS,CAAC;4BACb,IAAI,EAAE,cAAc,CAAC,KAAK;4BAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;yBACvB,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,SAAS,CAAC;4BACb,IAAI,EAAE,cAAc,CAAC,KAAK;4BAC1B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACX,MAAM,KAAK,CAAC,CAAC,yCAAyC;gBACxD,CAAC,CAAkB,CAAC;YACxB,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC;gBACH,IAAI,gBAAgB,EAAE,EAAE,CAAC;oBACvB,IAAI,CAAC,YAAY,CACf,cAAc,CAAC,uBAAuB,EACtC,SAAS,CAAC,GAAG,CAAC,CACf,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;oBAAS,CAAC;gBACT,sCAAsC;gBACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qCAAqC;YACrC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,cAAc,CAAC,KAAK;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,cAAc,CAAC,KAAK;oBAC1B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,MAAM,KAAK,CAAC,CAAC,yCAAyC;QACxD,CAAC;IACH,CAAC,CACF,CACe,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY,CAG1B,MAAuB,EAAE,EAAK,EAAE,GAAG,IAAO;IAC1C,OAAO,UAAU,CACf,uBAAuB,CAAC,QAAQ,EAChC,MAAM,EACN,EAAE,EACF,SAAS,EACT,GAAG,IAAI,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAGtB,MAAuB,EAAE,EAAK,EAAE,GAAG,IAAO;IAC1C,OAAO,UAAU,CACf,uBAAuB,CAAC,IAAI,EAC5B,MAAM,EACN,EAAE,EACF,SAAS,EACT,GAAG,IAAI,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAGvB,MAAuB,EAAE,EAAK,EAAE,GAAG,IAAO;IAC1C,OAAO,UAAU,CACf,uBAAuB,CAAC,KAAK,EAC7B,MAAM,EACN,EAAE,EACF,SAAS,EACT,GAAG,IAAI,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAGtB,MAAuB,EAAE,EAAK,EAAE,GAAG,IAAO;IAC1C,OAAO,UAAU,CACf,uBAAuB,CAAC,IAAI,EAC5B,MAAM,EACN,EAAE,EACF,SAAS,EACT,GAAG,IAAI,CACR,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CACb,IAA6B,EAC7B,MAE4E;IAE5E,OAAO,UACL,MAAe,EACf,WAAmB,EACnB,UAA8B;QAE9B,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAe;YAC7C,IAAI,YAAY,CAAC;YAEjB,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC;YAE5D,OAAO,UAAU,CACf,IAAI,EACJ,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,EACrC,cAAc,EACd,IAAI,EACJ,GAAG,IAAI,CACR,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,MAE4E;IAE5E,OAAO,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,MAE4E;IAE5E,OAAO,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,MAE4E;IAE5E,OAAO,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,MAE4E;IAE5E,OAAO,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC"}
|
package/dist/main.d.ts
CHANGED
|
@@ -93,7 +93,11 @@ export declare class RespanTelemetry {
|
|
|
93
93
|
*/
|
|
94
94
|
enableInstrumentations(names: string[]): Promise<void>;
|
|
95
95
|
/**
|
|
96
|
-
* Flush
|
|
96
|
+
* Flush pending spans without shutting down tracing.
|
|
97
|
+
*/
|
|
98
|
+
flush(): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Flush pending spans and shutdown tracing.
|
|
97
101
|
*/
|
|
98
102
|
shutdown(): Promise<void>;
|
|
99
103
|
/**
|
package/dist/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { withTask, withWorkflow, withAgent, withTool } from "./decorators/index.js";
|
|
2
2
|
import { withRespanSpanAttributes } from "./contexts/span.js";
|
|
3
|
-
import { startTracing,
|
|
3
|
+
import { startTracing, flush, shutdownTracing, addProcessorToSDK } from "./utils/tracing.js";
|
|
4
4
|
import { enableInstrumentation } from "./instrumentation/index.js";
|
|
5
5
|
import { getClient as getClientAPI } from "./utils/client.js";
|
|
6
6
|
import { getSpanBufferManager } from "./utils/spanBuffer.js";
|
|
@@ -71,6 +71,7 @@ export class RespanTelemetry {
|
|
|
71
71
|
initializing = false;
|
|
72
72
|
constructor(options) {
|
|
73
73
|
this.options = {
|
|
74
|
+
...options,
|
|
74
75
|
appName: options.appName || process.env.RESPAN_APP_NAME || "default",
|
|
75
76
|
disableBatch: options.disableBatch || false,
|
|
76
77
|
baseURL: options.baseURL || process.env.RESPAN_BASE_URL || "https://api.respan.ai",
|
|
@@ -78,6 +79,9 @@ export class RespanTelemetry {
|
|
|
78
79
|
instrumentModules: options.instrumentModules || {},
|
|
79
80
|
disabledInstrumentations: options.disabledInstrumentations || [],
|
|
80
81
|
tracingEnabled: options.tracingEnabled !== false,
|
|
82
|
+
spanNameStyle: (options.spanNameStyle ||
|
|
83
|
+
process.env.RESPAN_SPAN_NAME_STYLE ||
|
|
84
|
+
"semantic"),
|
|
81
85
|
traceContent: options.traceContent !== false,
|
|
82
86
|
logLevel: options.logLevel || "error",
|
|
83
87
|
silenceInitializationMessage: options.silenceInitializationMessage || false,
|
|
@@ -134,10 +138,17 @@ export class RespanTelemetry {
|
|
|
134
138
|
await Promise.all(names.map(name => enableInstrumentation(name)));
|
|
135
139
|
}
|
|
136
140
|
/**
|
|
137
|
-
* Flush
|
|
141
|
+
* Flush pending spans without shutting down tracing.
|
|
142
|
+
*/
|
|
143
|
+
async flush() {
|
|
144
|
+
await flush();
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Flush pending spans and shutdown tracing.
|
|
138
148
|
*/
|
|
139
149
|
async shutdown() {
|
|
140
|
-
await
|
|
150
|
+
await shutdownTracing();
|
|
151
|
+
this.initialized = false;
|
|
141
152
|
}
|
|
142
153
|
/**
|
|
143
154
|
* Add a processor for routing spans to different destinations.
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Context } from "@opentelemetry/api";
|
|
2
2
|
import { SpanProcessor, ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
|
|
3
|
+
import { type RespanSpanNameStyle } from "@respan/respan-sdk";
|
|
3
4
|
/**
|
|
4
5
|
* Configuration for a processor
|
|
5
6
|
*/
|
|
@@ -12,6 +13,14 @@ export interface ProcessorConfig {
|
|
|
12
13
|
filter?: (span: ReadableSpan) => boolean;
|
|
13
14
|
/** Optional priority (higher = processed first) */
|
|
14
15
|
priority?: number;
|
|
16
|
+
/** Send spans immediately without batching. Useful for short-lived scripts. */
|
|
17
|
+
disableBatch?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface MultiProcessorManagerOptions {
|
|
20
|
+
/** Send spans immediately without batching. Useful for short-lived scripts. */
|
|
21
|
+
disableBatch?: boolean;
|
|
22
|
+
/** Exported span.name style: "semantic" (default) or "legacy". */
|
|
23
|
+
spanNameStyle?: RespanSpanNameStyle | string;
|
|
15
24
|
}
|
|
16
25
|
/**
|
|
17
26
|
* Manager for multiple span processors with routing capabilities.
|
|
@@ -40,7 +49,10 @@ export interface ProcessorConfig {
|
|
|
40
49
|
* ```
|
|
41
50
|
*/
|
|
42
51
|
export declare class MultiProcessorManager implements SpanProcessor {
|
|
52
|
+
private readonly options;
|
|
43
53
|
private processors;
|
|
54
|
+
private readonly spanNameStyle;
|
|
55
|
+
constructor(options?: MultiProcessorManagerOptions);
|
|
44
56
|
/**
|
|
45
57
|
* Add a new processor with routing configuration
|
|
46
58
|
* @param config - Processor configuration
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BatchSpanProcessor, } from "@opentelemetry/sdk-trace-base";
|
|
2
|
-
import { RespanSpanAttributes } from "@respan/respan-sdk";
|
|
1
|
+
import { BatchSpanProcessor, SimpleSpanProcessor, } from "@opentelemetry/sdk-trace-base";
|
|
2
|
+
import { RespanSpanAttributes, } from "@respan/respan-sdk";
|
|
3
|
+
import { resolveSpanNameStyle, SpanNameTransformingExporter, } from "./spanName.js";
|
|
3
4
|
/**
|
|
4
5
|
* Manager for multiple span processors with routing capabilities.
|
|
5
6
|
*
|
|
@@ -27,13 +28,23 @@ import { RespanSpanAttributes } from "@respan/respan-sdk";
|
|
|
27
28
|
* ```
|
|
28
29
|
*/
|
|
29
30
|
export class MultiProcessorManager {
|
|
31
|
+
options;
|
|
30
32
|
processors = [];
|
|
33
|
+
spanNameStyle;
|
|
34
|
+
constructor(options = {}) {
|
|
35
|
+
this.options = options;
|
|
36
|
+
this.spanNameStyle = resolveSpanNameStyle(options.spanNameStyle);
|
|
37
|
+
}
|
|
31
38
|
/**
|
|
32
39
|
* Add a new processor with routing configuration
|
|
33
40
|
* @param config - Processor configuration
|
|
34
41
|
*/
|
|
35
42
|
addProcessor(config) {
|
|
36
|
-
const
|
|
43
|
+
const exporter = new SpanNameTransformingExporter(config.exporter, this.spanNameStyle);
|
|
44
|
+
const disableBatch = config.disableBatch ?? this.options.disableBatch ?? false;
|
|
45
|
+
const processor = disableBatch
|
|
46
|
+
? new SimpleSpanProcessor(exporter)
|
|
47
|
+
: new BatchSpanProcessor(exporter);
|
|
37
48
|
// Insert in priority order (higher priority first)
|
|
38
49
|
const priority = config.priority ?? 0;
|
|
39
50
|
const insertIndex = this.processors.findIndex((p) => (p.config.priority ?? 0) < priority);
|
|
@@ -43,7 +54,7 @@ export class MultiProcessorManager {
|
|
|
43
54
|
else {
|
|
44
55
|
this.processors.splice(insertIndex, 0, { processor, config });
|
|
45
56
|
}
|
|
46
|
-
console.debug(`[Respan] Added processor "${config.name}" with priority ${priority}`);
|
|
57
|
+
console.debug(`[Respan] Added processor "${config.name}" with priority ${priority} (${disableBatch ? "simple" : "batch"} mode)`);
|
|
47
58
|
}
|
|
48
59
|
/**
|
|
49
60
|
* Get all configured processors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/processor/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/processor/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,GAErB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAyBvB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,qBAAqB;IAOH;IANrB,UAAU,GAGb,EAAE,CAAC;IACS,aAAa,CAAsB;IAEpD,YAA6B,UAAwC,EAAE;QAA1C,YAAO,GAAP,OAAO,CAAmC;QACrE,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,MAAuB;QAClC,MAAM,QAAQ,GAAG,IAAI,4BAA4B,CAC/C,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAC/E,MAAM,SAAS,GAAG,YAAY;YAC5B,CAAC,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAErC,mDAAmD;QACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,QAAQ,CAC3C,CAAC;QAEF,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,KAAK,CACX,6BAA6B,MAAM,CAAC,IAAI,mBAAmB,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,CAClH,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,IAAkB,EAAE,MAAuB;QACvE,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAE/E,IAAI,cAAc,EAAE,CAAC;YACnB,wDAAwD;YACxD,IAAI,cAAc,GAAa,EAAE,CAAC;YAElC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACvC,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,8DAA8D;gBAC9D,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YACpF,CAAC;YAED,gDAAgD;YAChD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEzD,8CAA8C;YAC9C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,gFAAgF;QAChF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,mDAAmD;QACnD,yDAAyD;QACzD,sEAAsE;QACtE,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,IAAkB,EAAE,aAAsB;QAChD,yEAAyE;QACzE,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,SAAS,CAAC,OAAO,CAAC,IAAW,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAkB;QACtB,6DAA6D;QAC7D,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,KAAK,CACX,0BAA0B,IAAI,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,GAAG,CACrE,CAAC;gBACF,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,2BAA2B,IAAI,CAAC,IAAI,oBAAoB,MAAM,CAAC,IAAI,GAAG,CACvE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAC/D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ExportResult } from "@opentelemetry/core";
|
|
2
|
+
import type { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
|
|
3
|
+
import { type RespanSpanNameStyle } from "@respan/respan-sdk";
|
|
4
|
+
export declare function resolveSpanNameStyle(value?: RespanSpanNameStyle | string): RespanSpanNameStyle;
|
|
5
|
+
export declare function transformReadableSpanName(span: ReadableSpan, style: RespanSpanNameStyle | string | undefined): ReadableSpan;
|
|
6
|
+
export declare function semanticSpanNameForSpan(span: ReadableSpan): string;
|
|
7
|
+
export declare function transformReadableSpanBatch(spans: ReadableSpan[], style: RespanSpanNameStyle | string | undefined): ReadableSpan[];
|
|
8
|
+
export declare class SpanNameTransformingExporter implements SpanExporter {
|
|
9
|
+
private readonly delegate;
|
|
10
|
+
private readonly style;
|
|
11
|
+
constructor(delegate: SpanExporter, style: RespanSpanNameStyle);
|
|
12
|
+
export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
|
|
13
|
+
shutdown(): Promise<void>;
|
|
14
|
+
forceFlush(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { SpanAttributes, TraceloopSpanKindValues, } from "@traceloop/ai-semantic-conventions";
|
|
2
|
+
import { RespanLogType, RespanSpanAttributes, } from "@respan/respan-sdk";
|
|
3
|
+
const INTERNAL_KIND_ATTR = RespanSpanAttributes.RESPAN_INTERNAL_SPAN_NAME_KIND;
|
|
4
|
+
const INTERNAL_DETAIL_ATTR = RespanSpanAttributes.RESPAN_INTERNAL_SPAN_NAME_DETAIL;
|
|
5
|
+
const INTERNAL_DROP_ATTR = RespanSpanAttributes.RESPAN_INTERNAL_DROP_SPAN;
|
|
6
|
+
const INTERNAL_EXPORT_PARENT_ATTR = RespanSpanAttributes.RESPAN_INTERNAL_EXPORT_PARENT;
|
|
7
|
+
const INTERNAL_SPAN_NAME_ATTRS = [
|
|
8
|
+
INTERNAL_KIND_ATTR,
|
|
9
|
+
INTERNAL_DETAIL_ATTR,
|
|
10
|
+
INTERNAL_DROP_ATTR,
|
|
11
|
+
INTERNAL_EXPORT_PARENT_ATTR,
|
|
12
|
+
];
|
|
13
|
+
const SUFFIXED_OPERATIONS = new Set(["agent", "tool", "handoff", "llm"]);
|
|
14
|
+
// Operation/structural tokens that must not survive as a semantic-name suffix
|
|
15
|
+
// (e.g. "handoff.task" or "llm.doGenerate" — the suffix carries no identity).
|
|
16
|
+
const GENERIC_DETAIL_TOKENS = new Set([
|
|
17
|
+
"agent",
|
|
18
|
+
"chat",
|
|
19
|
+
"completion",
|
|
20
|
+
"completions",
|
|
21
|
+
"doembed",
|
|
22
|
+
"dogenerate",
|
|
23
|
+
"dostream",
|
|
24
|
+
"embedding",
|
|
25
|
+
"generate",
|
|
26
|
+
"generation",
|
|
27
|
+
"guardrail",
|
|
28
|
+
"handoff",
|
|
29
|
+
"llm",
|
|
30
|
+
"response",
|
|
31
|
+
"responses",
|
|
32
|
+
"task",
|
|
33
|
+
"text",
|
|
34
|
+
"tool",
|
|
35
|
+
"workflow",
|
|
36
|
+
]);
|
|
37
|
+
export function resolveSpanNameStyle(value) {
|
|
38
|
+
// Normalize like the Python resolver (.strip().lower()) so the same env
|
|
39
|
+
// value means the same thing in a mixed-language deployment.
|
|
40
|
+
const normalized = value === undefined || value === null ? "" : String(value).trim().toLowerCase();
|
|
41
|
+
return normalized === "legacy" ? "legacy" : "semantic";
|
|
42
|
+
}
|
|
43
|
+
export function transformReadableSpanName(span, style) {
|
|
44
|
+
const resolvedStyle = resolveSpanNameStyle(style);
|
|
45
|
+
const attrs = span.attributes;
|
|
46
|
+
const attributes = stripInternalSemanticNameAttrs(attrs);
|
|
47
|
+
const name = resolvedStyle === "semantic" ? semanticSpanNameForSpan(span) : span.name;
|
|
48
|
+
// The export-parent attr distinguishes "absent" (leave the parent alone)
|
|
49
|
+
// from "" (the dropped wrapper was a root span — promote the child to root).
|
|
50
|
+
let reparent;
|
|
51
|
+
if (resolvedStyle === "semantic") {
|
|
52
|
+
const raw = attrs[INTERNAL_EXPORT_PARENT_ATTR];
|
|
53
|
+
if (raw !== undefined && raw !== null) {
|
|
54
|
+
const text = String(raw).trim();
|
|
55
|
+
reparent = text === "" ? null : text;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (name === span.name &&
|
|
59
|
+
attributes === span.attributes &&
|
|
60
|
+
reparent === undefined) {
|
|
61
|
+
return span;
|
|
62
|
+
}
|
|
63
|
+
return cloneReadableSpan(span, name, attributes, reparent);
|
|
64
|
+
}
|
|
65
|
+
export function semanticSpanNameForSpan(span) {
|
|
66
|
+
const attrs = span.attributes;
|
|
67
|
+
const operation = resolveOperation(attrs, span.name);
|
|
68
|
+
// Spans with no recognizable operation keep their original name — the
|
|
69
|
+
// semantic style renames known operations, it never destroys pass-through
|
|
70
|
+
// span names (matches the Python exporter).
|
|
71
|
+
if (!operation) {
|
|
72
|
+
return span.name;
|
|
73
|
+
}
|
|
74
|
+
const detail = resolveDetail(attrs, span.name, operation);
|
|
75
|
+
const hasInternalHint = attrs[INTERNAL_KIND_ATTR] !== undefined || attrs[INTERNAL_DETAIL_ATTR] !== undefined;
|
|
76
|
+
if (!SUFFIXED_OPERATIONS.has(operation)) {
|
|
77
|
+
return operation;
|
|
78
|
+
}
|
|
79
|
+
if (operation === "llm") {
|
|
80
|
+
return detail ? `${operation}.${detail}` : operation;
|
|
81
|
+
}
|
|
82
|
+
if (!hasInternalHint && span.name.startsWith(`${operation}.`)) {
|
|
83
|
+
const existingDetail = span.name.slice(operation.length + 1);
|
|
84
|
+
if (existingDetail && !GENERIC_DETAIL_TOKENS.has(existingDetail.toLowerCase())) {
|
|
85
|
+
return span.name;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (!detail || detail.toLowerCase() === operation) {
|
|
89
|
+
return operation;
|
|
90
|
+
}
|
|
91
|
+
return `${operation}.${detail}`;
|
|
92
|
+
}
|
|
93
|
+
export function transformReadableSpanBatch(spans, style) {
|
|
94
|
+
const resolvedStyle = resolveSpanNameStyle(style);
|
|
95
|
+
// Dropping and reparenting are per-span decisions driven entirely by
|
|
96
|
+
// attributes the owning instrumentation stamped at span start
|
|
97
|
+
// (respan.internal.drop_span on the wrapper, export_parent_span_id on its
|
|
98
|
+
// children) — no cross-span state, so batch boundaries cannot break trees.
|
|
99
|
+
// Legacy style preserves the emitted tree exactly.
|
|
100
|
+
if (resolvedStyle === "legacy") {
|
|
101
|
+
return spans.map((span) => transformReadableSpanName(span, resolvedStyle));
|
|
102
|
+
}
|
|
103
|
+
return spans.flatMap((span) => {
|
|
104
|
+
const attrs = span.attributes;
|
|
105
|
+
if (attrs[INTERNAL_DROP_ATTR] === true || attrs[INTERNAL_DROP_ATTR] === "true") {
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
return [transformReadableSpanName(span, resolvedStyle)];
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
export class SpanNameTransformingExporter {
|
|
112
|
+
delegate;
|
|
113
|
+
style;
|
|
114
|
+
constructor(delegate, style) {
|
|
115
|
+
this.delegate = delegate;
|
|
116
|
+
this.style = style;
|
|
117
|
+
}
|
|
118
|
+
export(spans, resultCallback) {
|
|
119
|
+
this.delegate.export(transformReadableSpanBatch(spans, this.style), resultCallback);
|
|
120
|
+
}
|
|
121
|
+
shutdown() {
|
|
122
|
+
return this.delegate.shutdown();
|
|
123
|
+
}
|
|
124
|
+
forceFlush() {
|
|
125
|
+
const maybeFlush = this.delegate
|
|
126
|
+
.forceFlush;
|
|
127
|
+
return maybeFlush ? maybeFlush.call(this.delegate) : Promise.resolve();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function stripInternalSemanticNameAttrs(attrs) {
|
|
131
|
+
let next;
|
|
132
|
+
for (const key of INTERNAL_SPAN_NAME_ATTRS) {
|
|
133
|
+
if (attrs[key] !== undefined) {
|
|
134
|
+
next ??= { ...attrs };
|
|
135
|
+
delete next[key];
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return next ?? attrs;
|
|
139
|
+
}
|
|
140
|
+
function cloneReadableSpan(span, name, attributes,
|
|
141
|
+
// string = new parent id; null = promote to root; undefined = leave as-is
|
|
142
|
+
reparent) {
|
|
143
|
+
const clone = Object.create(Object.getPrototypeOf(span));
|
|
144
|
+
Object.assign(clone, span);
|
|
145
|
+
Object.defineProperty(clone, "name", {
|
|
146
|
+
value: name,
|
|
147
|
+
enumerable: true,
|
|
148
|
+
configurable: true,
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(clone, "attributes", {
|
|
151
|
+
value: attributes,
|
|
152
|
+
enumerable: true,
|
|
153
|
+
configurable: true,
|
|
154
|
+
});
|
|
155
|
+
if (reparent !== undefined) {
|
|
156
|
+
// OTel SDK 1.x exposes parentSpanId on ReadableSpan; revisit for SDK 2.x
|
|
157
|
+
// (parentSpanContext) when the workspace upgrades.
|
|
158
|
+
Object.defineProperty(clone, "parentSpanId", {
|
|
159
|
+
value: reparent === null ? undefined : reparent,
|
|
160
|
+
enumerable: true,
|
|
161
|
+
configurable: true,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
return clone;
|
|
165
|
+
}
|
|
166
|
+
function resolveOperation(attrs, spanName) {
|
|
167
|
+
// An explicit instrumentation hint always wins — even an unrecognized value
|
|
168
|
+
// is used (lowercased + sanitized, prefixes are lowercase by contract),
|
|
169
|
+
// since it states intent.
|
|
170
|
+
const hintedKind = stringAttr(attrs, INTERNAL_KIND_ATTR);
|
|
171
|
+
if (hintedKind) {
|
|
172
|
+
return mapOperation(hintedKind) ?? sanitizeNamePart(hintedKind.toLowerCase(), "span");
|
|
173
|
+
}
|
|
174
|
+
// Log type before span kind, matching the Python exporter's priority.
|
|
175
|
+
const logType = stringAttr(attrs, RespanSpanAttributes.RESPAN_LOG_TYPE);
|
|
176
|
+
if (logType) {
|
|
177
|
+
const mapped = mapOperation(logType);
|
|
178
|
+
if (mapped)
|
|
179
|
+
return mapped;
|
|
180
|
+
}
|
|
181
|
+
const tlKind = stringAttr(attrs, SpanAttributes.TRACELOOP_SPAN_KIND);
|
|
182
|
+
if (tlKind) {
|
|
183
|
+
const mapped = mapOperation(tlKind);
|
|
184
|
+
if (mapped)
|
|
185
|
+
return mapped;
|
|
186
|
+
}
|
|
187
|
+
return inferOperationFromName(spanName);
|
|
188
|
+
}
|
|
189
|
+
function resolveDetail(attrs, spanName, operation) {
|
|
190
|
+
if (operation === "llm") {
|
|
191
|
+
const model = resolveLlmModel(attrs);
|
|
192
|
+
return model ? sanitizeNamePart(model, "") : "";
|
|
193
|
+
}
|
|
194
|
+
const hintedDetail = stringAttr(attrs, INTERNAL_DETAIL_ATTR);
|
|
195
|
+
if (hintedDetail) {
|
|
196
|
+
return sanitizeNamePart(hintedDetail, "");
|
|
197
|
+
}
|
|
198
|
+
const entityName = stringAttr(attrs, SpanAttributes.TRACELOOP_ENTITY_NAME);
|
|
199
|
+
if (entityName) {
|
|
200
|
+
return sanitizeNamePart(entityName, "");
|
|
201
|
+
}
|
|
202
|
+
const rawDetail = detailFromRawName(spanName, operation);
|
|
203
|
+
if (rawDetail && GENERIC_DETAIL_TOKENS.has(rawDetail.toLowerCase())) {
|
|
204
|
+
return "";
|
|
205
|
+
}
|
|
206
|
+
return sanitizeNamePart(rawDetail, "");
|
|
207
|
+
}
|
|
208
|
+
function resolveLlmModel(attrs) {
|
|
209
|
+
return firstStringAttr(attrs, [
|
|
210
|
+
RespanSpanAttributes.GEN_AI_REQUEST_MODEL,
|
|
211
|
+
RespanSpanAttributes.OPENINFERENCE_LLM_MODEL_NAME,
|
|
212
|
+
"llm.model_name",
|
|
213
|
+
"model",
|
|
214
|
+
SpanAttributes.LLM_REQUEST_MODEL,
|
|
215
|
+
]);
|
|
216
|
+
}
|
|
217
|
+
function firstStringAttr(attrs, keys) {
|
|
218
|
+
for (const key of keys) {
|
|
219
|
+
const value = stringAttr(attrs, key);
|
|
220
|
+
if (value)
|
|
221
|
+
return value;
|
|
222
|
+
}
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
function stringAttr(attrs, key) {
|
|
226
|
+
const value = attrs[key];
|
|
227
|
+
if (value === undefined || value === null)
|
|
228
|
+
return undefined;
|
|
229
|
+
const text = String(value).trim();
|
|
230
|
+
return text || undefined;
|
|
231
|
+
}
|
|
232
|
+
/** Map a kind/log-type token to a semantic operation; undefined when unknown. */
|
|
233
|
+
function mapOperation(value) {
|
|
234
|
+
const normalized = value.toLowerCase();
|
|
235
|
+
switch (normalized) {
|
|
236
|
+
case TraceloopSpanKindValues.WORKFLOW:
|
|
237
|
+
case RespanLogType.WORKFLOW:
|
|
238
|
+
return "workflow";
|
|
239
|
+
case TraceloopSpanKindValues.AGENT:
|
|
240
|
+
case RespanLogType.AGENT:
|
|
241
|
+
return "agent";
|
|
242
|
+
case TraceloopSpanKindValues.TASK:
|
|
243
|
+
case RespanLogType.TASK:
|
|
244
|
+
return "task";
|
|
245
|
+
case TraceloopSpanKindValues.TOOL:
|
|
246
|
+
case RespanLogType.TOOL:
|
|
247
|
+
return "tool";
|
|
248
|
+
case RespanLogType.FUNCTION:
|
|
249
|
+
return "tool";
|
|
250
|
+
case RespanLogType.HANDOFF:
|
|
251
|
+
return "handoff";
|
|
252
|
+
case RespanLogType.GUARDRAIL:
|
|
253
|
+
return "guardrail";
|
|
254
|
+
case RespanLogType.EMBEDDING:
|
|
255
|
+
case "embed":
|
|
256
|
+
return "embedding";
|
|
257
|
+
case RespanLogType.TRANSCRIPTION:
|
|
258
|
+
return "transcribe";
|
|
259
|
+
case RespanLogType.SPEECH:
|
|
260
|
+
return "speech";
|
|
261
|
+
case RespanLogType.CHAT:
|
|
262
|
+
case RespanLogType.TEXT:
|
|
263
|
+
case RespanLogType.RESPONSE:
|
|
264
|
+
case RespanLogType.GENERATION:
|
|
265
|
+
case "completion":
|
|
266
|
+
case "completions":
|
|
267
|
+
case "generate":
|
|
268
|
+
case "llm":
|
|
269
|
+
return "llm";
|
|
270
|
+
default:
|
|
271
|
+
// Unknown values (including "custom"/"unknown" log types) resolve to no
|
|
272
|
+
// operation so the caller preserves the original span name.
|
|
273
|
+
return undefined;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
function inferOperationFromName(spanName) {
|
|
277
|
+
const suffix = spanName.split(".").at(-1);
|
|
278
|
+
if (suffix && GENERIC_DETAIL_TOKENS.has(suffix.toLowerCase())) {
|
|
279
|
+
return mapOperation(suffix);
|
|
280
|
+
}
|
|
281
|
+
return undefined;
|
|
282
|
+
}
|
|
283
|
+
function detailFromRawName(spanName, operation) {
|
|
284
|
+
if (spanName.endsWith(`.${operation}`)) {
|
|
285
|
+
return spanName.slice(0, -(operation.length + 1));
|
|
286
|
+
}
|
|
287
|
+
if (spanName.startsWith(`${operation}.`)) {
|
|
288
|
+
return spanName.slice(operation.length + 1);
|
|
289
|
+
}
|
|
290
|
+
if (operation === "handoff") {
|
|
291
|
+
return spanName.replace(/^handoff\s*[:.-]?\s*/i, "");
|
|
292
|
+
}
|
|
293
|
+
return spanName;
|
|
294
|
+
}
|
|
295
|
+
function sanitizeNamePart(value, fallback) {
|
|
296
|
+
// \p{L}\p{N} keeps unicode letters/digits so non-ASCII agent/tool names
|
|
297
|
+
// survive — parity with Python's unicode \w.
|
|
298
|
+
const sanitized = value
|
|
299
|
+
.trim()
|
|
300
|
+
.replace(/\s*(?:→|->)\s*/g, "_")
|
|
301
|
+
.replace(/[^\p{L}\p{N}_.-]+/gu, "_")
|
|
302
|
+
.replace(/^[_\-.]+|[_\-.]+$/g, "");
|
|
303
|
+
return sanitized || fallback;
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=spanName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spanName.js","sourceRoot":"","sources":["../../src/processor/spanName.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SpanExporter, SpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
2
2
|
import { TextMapPropagator, ContextManager } from "@opentelemetry/api";
|
|
3
|
+
import type { RespanSpanNameStyle } from "@respan/respan-sdk";
|
|
3
4
|
/**
|
|
4
5
|
* Available instrumentation names for consistent camelCase naming.
|
|
5
6
|
* Abbreviations like AI, API, DB are kept uppercase.
|
|
@@ -17,6 +18,8 @@ export interface ProcessorConfig {
|
|
|
17
18
|
filter?: (span: any) => boolean;
|
|
18
19
|
/** Optional priority (higher = processed first) */
|
|
19
20
|
priority?: number;
|
|
21
|
+
/** Send spans immediately without batching. Useful for short-lived scripts. */
|
|
22
|
+
disableBatch?: boolean;
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* Options for initializing the Respan SDK.
|
|
@@ -86,6 +89,13 @@ export interface RespanOptions {
|
|
|
86
89
|
* Defaults to true.
|
|
87
90
|
*/
|
|
88
91
|
tracingEnabled?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Controls exported span.name formatting.
|
|
94
|
+
* - semantic: use operation-prefixed names like agent.triage or llm.gpt-4o
|
|
95
|
+
* - legacy: preserve instrumentation span names
|
|
96
|
+
* Defaults to semantic. Can also be set with RESPAN_SPAN_NAME_STYLE=legacy.
|
|
97
|
+
*/
|
|
98
|
+
spanNameStyle?: RespanSpanNameStyle;
|
|
89
99
|
/**
|
|
90
100
|
* Additional resource attributes to attach to all spans. Optional.
|
|
91
101
|
* Useful for adding environment, version, region, etc.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientTypes.js","sourceRoot":"","sources":["../../src/types/clientTypes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clientTypes.js","sourceRoot":"","sources":["../../src/types/clientTypes.ts"],"names":[],"mappings":"AA8NA;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAClC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAChD,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACtC,CAAC;CACJ;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAChD;QACI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACtC,CAAC;CACJ"}
|
package/dist/utils/client.js
CHANGED
|
@@ -90,9 +90,8 @@ class RespanClientImpl {
|
|
|
90
90
|
return currentSpan.isRecording();
|
|
91
91
|
}
|
|
92
92
|
async flush() {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
await forceFlush();
|
|
93
|
+
const { flush } = await import("./tracing.js");
|
|
94
|
+
await flush();
|
|
96
95
|
}
|
|
97
96
|
}
|
|
98
97
|
// Singleton instance
|
package/dist/utils/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from "./context.js";
|
|
2
2
|
export * from "./span.js";
|
|
3
3
|
export * from "./spanFactory.js";
|
|
4
|
-
export { startTracing, forceFlush, _resolveBaseURL } from "./tracing.js";
|
|
4
|
+
export { startTracing, flush, forceFlush, shutdownTracing, _resolveBaseURL } from "./tracing.js";
|
|
5
5
|
export * from "./client.js";
|
|
6
6
|
export * from "./spanBuffer.js";
|
package/dist/utils/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export * from "./context.js";
|
|
|
2
2
|
export * from "./span.js";
|
|
3
3
|
export * from "./spanFactory.js";
|
|
4
4
|
// Export tracing utils but avoid naming conflicts
|
|
5
|
-
export { startTracing, forceFlush, _resolveBaseURL } from "./tracing.js";
|
|
5
|
+
export { startTracing, flush, forceFlush, shutdownTracing, _resolveBaseURL } from "./tracing.js";
|
|
6
6
|
// Export client and span buffer
|
|
7
7
|
export * from "./client.js";
|
|
8
8
|
export * from "./spanBuffer.js";
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAEjC,kDAAkD;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAEjC,kDAAkD;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjG,gCAAgC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
|
package/dist/utils/tracing.d.ts
CHANGED
|
@@ -13,9 +13,17 @@ export declare const _resolveBaseURL: (baseURL: string) => string;
|
|
|
13
13
|
*/
|
|
14
14
|
export declare const startTracing: (options: RespanOptions) => Promise<void>;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Flush pending spans without shutting down the SDK.
|
|
17
|
+
*/
|
|
18
|
+
export declare const flush: () => Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Backward-compatible alias for flushing pending spans.
|
|
17
21
|
*/
|
|
18
22
|
export declare const forceFlush: () => Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Flush pending spans and shut down the SDK.
|
|
25
|
+
*/
|
|
26
|
+
export declare const shutdownTracing: () => Promise<void>;
|
|
19
27
|
/**
|
|
20
28
|
* Gets the current SDK instance.
|
|
21
29
|
* Useful for advanced configuration or checking if tracing is initialized.
|
package/dist/utils/tracing.js
CHANGED
|
@@ -11,6 +11,18 @@ import { shouldSendTraces } from "./context.js";
|
|
|
11
11
|
let _sdk;
|
|
12
12
|
let _initialized = false;
|
|
13
13
|
let _compositeProcessor;
|
|
14
|
+
let _flushPromise;
|
|
15
|
+
let _shutdownPromise;
|
|
16
|
+
let _beforeExitFlushRegistered = false;
|
|
17
|
+
const registerBeforeExitFlush = () => {
|
|
18
|
+
if (_beforeExitFlushRegistered || typeof process === "undefined") {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
_beforeExitFlushRegistered = true;
|
|
22
|
+
process.once("beforeExit", () => {
|
|
23
|
+
void flush();
|
|
24
|
+
});
|
|
25
|
+
};
|
|
14
26
|
/**
|
|
15
27
|
* Helper function to resolve and clean up the base URL
|
|
16
28
|
*/
|
|
@@ -45,13 +57,14 @@ export const startTracing = async (options) => {
|
|
|
45
57
|
console.log("[Respan] Tracing already initialized, skipping...");
|
|
46
58
|
return;
|
|
47
59
|
}
|
|
48
|
-
const { appName = "respan-app", apiKey = process.env.RESPAN_API_KEY || "", baseURL = process.env.RESPAN_BASE_URL || "https://api.respan.ai", logLevel = "error", exporter, headers = {}, propagator, contextManager, silenceInitializationMessage = false, tracingEnabled = true, instrumentModules, traceContent = true, disabledInstrumentations = [], resourceAttributes = {}, spanPostprocessCallback, } = options;
|
|
60
|
+
const { appName = "respan-app", apiKey = process.env.RESPAN_API_KEY || "", baseURL = process.env.RESPAN_BASE_URL || "https://api.respan.ai", logLevel = "error", exporter, headers = {}, propagator, contextManager, silenceInitializationMessage = false, tracingEnabled = true, spanNameStyle = process.env.RESPAN_SPAN_NAME_STYLE, instrumentModules, traceContent = true, disabledInstrumentations = [], resourceAttributes = {}, spanPostprocessCallback, disableBatch = false, } = options;
|
|
49
61
|
// Debug logging for configuration
|
|
50
62
|
console.debug("[Respan Debug] Tracing configuration:", {
|
|
51
63
|
appName,
|
|
52
64
|
baseURL,
|
|
53
65
|
logLevel,
|
|
54
66
|
tracingEnabled,
|
|
67
|
+
spanNameStyle,
|
|
55
68
|
traceContent,
|
|
56
69
|
hasApiKey: !!apiKey,
|
|
57
70
|
apiKeyLength: apiKey?.length || 0,
|
|
@@ -61,6 +74,7 @@ export const startTracing = async (options) => {
|
|
|
61
74
|
: [],
|
|
62
75
|
customHeaders: Object.keys(headers),
|
|
63
76
|
disabledInstrumentations: disabledInstrumentations || [],
|
|
77
|
+
disableBatch,
|
|
64
78
|
});
|
|
65
79
|
if (!tracingEnabled) {
|
|
66
80
|
if (!silenceInitializationMessage) {
|
|
@@ -137,7 +151,7 @@ export const startTracing = async (options) => {
|
|
|
137
151
|
});
|
|
138
152
|
console.debug("[Respan Debug] Created OTLP trace exporter");
|
|
139
153
|
// Initialize multi-processor manager
|
|
140
|
-
const processorManager = new MultiProcessorManager();
|
|
154
|
+
const processorManager = new MultiProcessorManager({ disableBatch, spanNameStyle });
|
|
141
155
|
// Add default Respan processor to the manager
|
|
142
156
|
// This ensures backward compatibility: spans without a `processors` attribute
|
|
143
157
|
// automatically go to the default Respan exporter
|
|
@@ -168,6 +182,7 @@ export const startTracing = async (options) => {
|
|
|
168
182
|
try {
|
|
169
183
|
console.debug("[Respan Debug] Starting OpenTelemetry SDK...");
|
|
170
184
|
_sdk.start();
|
|
185
|
+
registerBeforeExitFlush();
|
|
171
186
|
// Strip noisy resource attributes that NodeSDK adds automatically.
|
|
172
187
|
// These pollute span metadata on the backend with no user value.
|
|
173
188
|
try {
|
|
@@ -206,26 +221,70 @@ export const startTracing = async (options) => {
|
|
|
206
221
|
}
|
|
207
222
|
};
|
|
208
223
|
/**
|
|
209
|
-
*
|
|
224
|
+
* Flush pending spans without shutting down the SDK.
|
|
210
225
|
*/
|
|
211
|
-
export const
|
|
212
|
-
if (
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
await _sdk.shutdown();
|
|
216
|
-
console.debug("[Respan Debug] SDK shutdown completed");
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
console.error("[Respan Debug] Error during SDK shutdown:", error);
|
|
220
|
-
console.error("[Respan Debug] Shutdown error details:", {
|
|
221
|
-
message: error.message,
|
|
222
|
-
stack: error.stack,
|
|
223
|
-
});
|
|
224
|
-
}
|
|
226
|
+
export const flush = async () => {
|
|
227
|
+
if (!_compositeProcessor) {
|
|
228
|
+
console.debug("[Respan Debug] No SDK to flush");
|
|
229
|
+
return;
|
|
225
230
|
}
|
|
226
|
-
|
|
231
|
+
if (!_flushPromise) {
|
|
232
|
+
_flushPromise = (async () => {
|
|
233
|
+
try {
|
|
234
|
+
console.debug("[Respan Debug] Flushing traces...");
|
|
235
|
+
await _compositeProcessor?.forceFlush();
|
|
236
|
+
console.debug("[Respan Debug] Trace flush completed");
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
console.error("[Respan Debug] Error during trace flush:", error);
|
|
240
|
+
console.error("[Respan Debug] Flush error details:", {
|
|
241
|
+
message: error.message,
|
|
242
|
+
stack: error.stack,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
})().finally(() => {
|
|
246
|
+
_flushPromise = undefined;
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
await _flushPromise;
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* Backward-compatible alias for flushing pending spans.
|
|
253
|
+
*/
|
|
254
|
+
export const forceFlush = flush;
|
|
255
|
+
/**
|
|
256
|
+
* Flush pending spans and shut down the SDK.
|
|
257
|
+
*/
|
|
258
|
+
export const shutdownTracing = async () => {
|
|
259
|
+
if (!_sdk) {
|
|
227
260
|
console.debug("[Respan Debug] No SDK to shutdown");
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
if (!_shutdownPromise) {
|
|
264
|
+
_shutdownPromise = (async () => {
|
|
265
|
+
try {
|
|
266
|
+
console.debug("[Respan Debug] Shutting down SDK...");
|
|
267
|
+
await flush();
|
|
268
|
+
await _sdk?.shutdown();
|
|
269
|
+
console.debug("[Respan Debug] SDK shutdown completed");
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
console.error("[Respan Debug] Error during SDK shutdown:", error);
|
|
273
|
+
console.error("[Respan Debug] Shutdown error details:", {
|
|
274
|
+
message: error.message,
|
|
275
|
+
stack: error.stack,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
finally {
|
|
279
|
+
_initialized = false;
|
|
280
|
+
_compositeProcessor = undefined;
|
|
281
|
+
_sdk = undefined;
|
|
282
|
+
}
|
|
283
|
+
})().finally(() => {
|
|
284
|
+
_shutdownPromise = undefined;
|
|
285
|
+
});
|
|
228
286
|
}
|
|
287
|
+
await _shutdownPromise;
|
|
229
288
|
};
|
|
230
289
|
/**
|
|
231
290
|
* Gets the current SDK instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/utils/tracing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,kCAAkC;AAClC,IAAI,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/utils/tracing.ts"],"names":[],"mappings":"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"}
|