@respan/tracing 1.3.0 → 1.3.2
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/README.md +38 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/processor/composite.d.ts +4 -2
- package/dist/processor/composite.js +25 -5
- package/dist/processor/composite.js.map +1 -1
- package/dist/processor/index.d.ts +1 -0
- package/dist/processor/index.js +1 -0
- package/dist/processor/index.js.map +1 -1
- package/dist/processor/transformers.d.ts +52 -0
- package/dist/processor/transformers.js +280 -0
- package/dist/processor/transformers.js.map +1 -0
- package/dist/utils/tracing.js +27 -0
- package/dist/utils/tracing.js.map +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Respan Tracing SDK
|
|
2
2
|
|
|
3
|
-
**[respan.ai](https://respan.ai)** | **[Documentation](https://
|
|
3
|
+
**[respan.ai](https://respan.ai)** | **[Documentation](https://www.respan.ai/docs)**
|
|
4
4
|
|
|
5
5
|
A lightweight OpenTelemetry-based tracing SDK for Respan, built with minimal dependencies and optional instrumentation support.
|
|
6
6
|
Inspired by [Openllmetry](https://github.com/traceloop/openllmetry-js)
|
|
@@ -268,6 +268,43 @@ interface DecoratorConfig {
|
|
|
268
268
|
|
|
269
269
|
## Advanced Features
|
|
270
270
|
|
|
271
|
+
### Instrumentation span transformers
|
|
272
|
+
|
|
273
|
+
Instrumentation packages can normalize spans before Respan filtering without
|
|
274
|
+
patching OpenTelemetry provider internals:
|
|
275
|
+
|
|
276
|
+
```typescript
|
|
277
|
+
import { RespanLogType, RespanSpanAttributes } from "@respan/respan-sdk";
|
|
278
|
+
import { registerSpanTransformer } from "@respan/tracing";
|
|
279
|
+
|
|
280
|
+
const registration = registerSpanTransformer("@example/instrumentation", {
|
|
281
|
+
onStart(span) {
|
|
282
|
+
span.setAttribute(
|
|
283
|
+
RespanSpanAttributes.RESPAN_LOG_TYPE,
|
|
284
|
+
RespanLogType.TASK,
|
|
285
|
+
);
|
|
286
|
+
},
|
|
287
|
+
onEnd(span) {
|
|
288
|
+
// Synchronously add canonical attributes and remove raw vendor fields.
|
|
289
|
+
},
|
|
290
|
+
prepareForExport(span) {
|
|
291
|
+
return span; // May return an export-only ReadableSpan clone.
|
|
292
|
+
},
|
|
293
|
+
dispose() {
|
|
294
|
+
// Clear package-owned correlation state.
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
registration.unregister();
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Initialize Respan before registering. Keys execute in lexical order and are
|
|
302
|
+
reference-counted; the first transformer for a key remains authoritative until
|
|
303
|
+
its last registration is removed. Unregistering excludes newly started spans,
|
|
304
|
+
while spans already captured at `onStart` finish their `onEnd` and
|
|
305
|
+
`prepareForExport` hooks before `dispose` runs. Hook failures are isolated so a
|
|
306
|
+
single instrumentation cannot block the export pipeline.
|
|
307
|
+
|
|
271
308
|
### Span Management with getClient()
|
|
272
309
|
|
|
273
310
|
Get full control over your spans with the client API:
|
|
@@ -859,4 +896,3 @@ import { getClient } from '@respan/tracing'; // New in v1.1.0
|
|
|
859
896
|
## License
|
|
860
897
|
|
|
861
898
|
Apache-2.0
|
|
862
|
-
|
package/dist/index.d.ts
CHANGED
|
@@ -8,3 +8,5 @@ export type { RespanClient, UpdateSpanOptions } from "./utils/client.js";
|
|
|
8
8
|
export { getSpanBufferManager } from "./utils/spanBuffer.js";
|
|
9
9
|
export type { SpanBuffer } from "./utils/spanBuffer.js";
|
|
10
10
|
export type { ProcessorConfig } from "./types/clientTypes.js";
|
|
11
|
+
export { getRegisteredSpanTransformerKeys, registerSpanTransformer, RESPAN_SPAN_TRANSFORMER_REGISTRY_SYMBOL, } from "./processor/transformers.js";
|
|
12
|
+
export type { RespanSpanTransformer, SpanTransformerRegistration, } from "./processor/transformers.js";
|
package/dist/index.js
CHANGED
|
@@ -5,4 +5,5 @@ export * from "./types/index.js";
|
|
|
5
5
|
export * from "./utils/index.js";
|
|
6
6
|
export { getClient } from "./utils/client.js";
|
|
7
7
|
export { getSpanBufferManager } from "./utils/spanBuffer.js";
|
|
8
|
+
export { getRegisteredSpanTransformerKeys, registerSpanTransformer, RESPAN_SPAN_TRANSFORMER_REGISTRY_SYMBOL, } from "./processor/transformers.js";
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EACL,gCAAgC,EAChC,uBAAuB,EACvB,uCAAuC,GACxC,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context } from "@opentelemetry/api";
|
|
1
|
+
import { Context, Span } from "@opentelemetry/api";
|
|
2
2
|
import { SpanProcessor, ReadableSpan } from "@opentelemetry/sdk-trace-base";
|
|
3
3
|
import { MultiProcessorManager } from "./manager.js";
|
|
4
4
|
/**
|
|
@@ -14,8 +14,10 @@ import { MultiProcessorManager } from "./manager.js";
|
|
|
14
14
|
export declare class RespanCompositeProcessor implements SpanProcessor {
|
|
15
15
|
private readonly _processorManager;
|
|
16
16
|
private readonly _postprocessCallback?;
|
|
17
|
+
private _transformerHostReleased;
|
|
18
|
+
private _shutdownPromise?;
|
|
17
19
|
constructor(processorManager: MultiProcessorManager, postprocessCallback?: (span: ReadableSpan) => void);
|
|
18
|
-
onStart(span:
|
|
20
|
+
onStart(span: Span, parentContext: Context): void;
|
|
19
21
|
onEnd(span: ReadableSpan): void;
|
|
20
22
|
shutdown(): Promise<void>;
|
|
21
23
|
forceFlush(): Promise<void>;
|
|
@@ -2,6 +2,7 @@ import { SpanAttributes } from "@traceloop/ai-semantic-conventions";
|
|
|
2
2
|
import { RESPAN_SPAN_ATTRIBUTES_MAP, RespanSpanAttributes, } from "@respan/respan-sdk";
|
|
3
3
|
import { getEntityPath, getPropagatedAttributes } from "../utils/context.js";
|
|
4
4
|
import { metadataAttributeKey } from "../constants/index.js";
|
|
5
|
+
import { acquireSpanTransformerHost, releaseSpanTransformerHost, runSpanTransformersOnEnd, runSpanTransformersOnStart, } from "./transformers.js";
|
|
5
6
|
// ── LLM span name patterns ────────────────────────────────────────────────
|
|
6
7
|
// Recognized span name substrings from auto-instrumentation libraries.
|
|
7
8
|
// Used to identify LLM calls for processing vs. filtering.
|
|
@@ -24,19 +25,24 @@ const LLM_SPAN_NAME_PATTERNS = [
|
|
|
24
25
|
export class RespanCompositeProcessor {
|
|
25
26
|
_processorManager;
|
|
26
27
|
_postprocessCallback;
|
|
28
|
+
_transformerHostReleased = false;
|
|
29
|
+
_shutdownPromise;
|
|
27
30
|
constructor(processorManager, postprocessCallback) {
|
|
28
31
|
this._processorManager = processorManager;
|
|
29
32
|
this._postprocessCallback = postprocessCallback;
|
|
33
|
+
acquireSpanTransformerHost();
|
|
30
34
|
}
|
|
31
35
|
onStart(span, parentContext) {
|
|
36
|
+
runSpanTransformersOnStart(span, parentContext);
|
|
37
|
+
const readableSpan = span;
|
|
32
38
|
// Check if this span is being created within an entity context
|
|
33
39
|
// If so, add the entityPath attribute so it gets preserved by our filtering
|
|
34
40
|
const entityPath = getEntityPath(parentContext);
|
|
35
|
-
if (entityPath &&
|
|
41
|
+
if (entityPath &&
|
|
42
|
+
!readableSpan.attributes[SpanAttributes.TRACELOOP_SPAN_KIND]) {
|
|
36
43
|
// This is an auto-instrumentation span within an entity context
|
|
37
44
|
// Add the entityPath attribute so it doesn't get filtered out
|
|
38
|
-
console.debug(`[Respan Debug] Adding entityPath to auto-instrumentation span: ${
|
|
39
|
-
// We need to cast to any to set attributes during onStart
|
|
45
|
+
console.debug(`[Respan Debug] Adding entityPath to auto-instrumentation span: ${readableSpan.name} (entityPath: ${entityPath})`);
|
|
40
46
|
span.setAttribute(SpanAttributes.TRACELOOP_ENTITY_PATH, entityPath);
|
|
41
47
|
}
|
|
42
48
|
// Apply propagated attributes (customer_identifier, thread_identifier, etc.)
|
|
@@ -62,9 +68,10 @@ export class RespanCompositeProcessor {
|
|
|
62
68
|
}
|
|
63
69
|
}
|
|
64
70
|
// Forward to processor manager
|
|
65
|
-
this._processorManager.onStart(
|
|
71
|
+
this._processorManager.onStart(readableSpan, parentContext);
|
|
66
72
|
}
|
|
67
73
|
onEnd(span) {
|
|
74
|
+
span = runSpanTransformersOnEnd(span);
|
|
68
75
|
// Strip OTEL/infrastructure attributes that pollute metadata on the backend.
|
|
69
76
|
const attrs = span.attributes;
|
|
70
77
|
if (attrs) {
|
|
@@ -163,7 +170,20 @@ export class RespanCompositeProcessor {
|
|
|
163
170
|
}
|
|
164
171
|
}
|
|
165
172
|
async shutdown() {
|
|
166
|
-
|
|
173
|
+
if (!this._shutdownPromise) {
|
|
174
|
+
this._shutdownPromise = (async () => {
|
|
175
|
+
try {
|
|
176
|
+
await this._processorManager.shutdown();
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
if (!this._transformerHostReleased) {
|
|
180
|
+
this._transformerHostReleased = true;
|
|
181
|
+
releaseSpanTransformerHost();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
})();
|
|
185
|
+
}
|
|
186
|
+
await this._shutdownPromise;
|
|
167
187
|
}
|
|
168
188
|
async forceFlush() {
|
|
169
189
|
await this._processorManager.forceFlush();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite.js","sourceRoot":"","sources":["../../src/processor/composite.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAkD,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"composite.js","sourceRoot":"","sources":["../../src/processor/composite.ts"],"names":[],"mappings":"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"}
|
package/dist/processor/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processor/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processor/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type Context, type Span } from "@opentelemetry/api";
|
|
2
|
+
import type { ReadableSpan } from "@opentelemetry/sdk-trace-base";
|
|
3
|
+
/**
|
|
4
|
+
* A synchronous span transformation that runs immediately before Respan's
|
|
5
|
+
* filtering and routing processor.
|
|
6
|
+
*
|
|
7
|
+
* `onStart` and `onEnd` may enrich the live span. `prepareForExport` may
|
|
8
|
+
* return an export-only clone after every transformer's `onEnd` hook has run.
|
|
9
|
+
*/
|
|
10
|
+
export interface RespanSpanTransformer {
|
|
11
|
+
onStart?(span: Span, parentContext: Context): void;
|
|
12
|
+
onEnd?(span: ReadableSpan): void;
|
|
13
|
+
prepareForExport?(span: ReadableSpan): ReadableSpan;
|
|
14
|
+
/** Release transformer-owned correlation/cache state. Must be idempotent. */
|
|
15
|
+
dispose?(): void;
|
|
16
|
+
}
|
|
17
|
+
/** Handle returned by {@link registerSpanTransformer}. */
|
|
18
|
+
export interface SpanTransformerRegistration {
|
|
19
|
+
readonly key: string;
|
|
20
|
+
unregister(): void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Process-global registry key. `Symbol.for` keeps independently resolved
|
|
24
|
+
* copies of `@respan/tracing` on the same transformer lifecycle.
|
|
25
|
+
*/
|
|
26
|
+
export declare const RESPAN_SPAN_TRANSFORMER_REGISTRY_SYMBOL: unique symbol;
|
|
27
|
+
/**
|
|
28
|
+
* Register a transformer under a stable package-owned key.
|
|
29
|
+
*
|
|
30
|
+
* Registrations with the same key are reference-counted. The first
|
|
31
|
+
* transformer registered for a key remains authoritative until the last
|
|
32
|
+
* owner unregisters, which makes repeated instrumentor activation
|
|
33
|
+
* deterministic and prevents duplicate translation.
|
|
34
|
+
*/
|
|
35
|
+
export declare function registerSpanTransformer(key: string, transformer: RespanSpanTransformer): SpanTransformerRegistration;
|
|
36
|
+
/** Return active transformer keys in their deterministic execution order. */
|
|
37
|
+
export declare function getRegisteredSpanTransformerKeys(): readonly string[];
|
|
38
|
+
/** @internal Marks a compatible composite processor as active. */
|
|
39
|
+
export declare function acquireSpanTransformerHost(): void;
|
|
40
|
+
/**
|
|
41
|
+
* @internal Releases a compatible composite processor. The final host owns
|
|
42
|
+
* process-runtime cleanup so registrations and in-flight snapshots cannot
|
|
43
|
+
* leak into a later tracing lifecycle.
|
|
44
|
+
*/
|
|
45
|
+
export declare function releaseSpanTransformerHost(): void;
|
|
46
|
+
/** @internal Called by RespanCompositeProcessor before any other start logic. */
|
|
47
|
+
export declare function runSpanTransformersOnStart(span: Span, parentContext: Context): void;
|
|
48
|
+
/**
|
|
49
|
+
* @internal Called by RespanCompositeProcessor before any other end logic.
|
|
50
|
+
* Returns the span (or export-only clone) that must continue through Respan.
|
|
51
|
+
*/
|
|
52
|
+
export declare function runSpanTransformersOnEnd(span: ReadableSpan): ReadableSpan;
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/** Release an in-flight hold exactly once, decrementing and draining entries. */
|
|
2
|
+
function settleInFlightHold(state, hold) {
|
|
3
|
+
if (hold.settled) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
hold.settled = true;
|
|
7
|
+
for (const entry of hold.entries) {
|
|
8
|
+
entry.inFlightCount = Math.max(0, entry.inFlightCount - 1);
|
|
9
|
+
disposeEntryIfReady(state, entry);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Process-global registry key. `Symbol.for` keeps independently resolved
|
|
14
|
+
* copies of `@respan/tracing` on the same transformer lifecycle.
|
|
15
|
+
*/
|
|
16
|
+
export const RESPAN_SPAN_TRANSFORMER_REGISTRY_SYMBOL = Symbol.for("respan.tracing.spanTransformerRegistry.v1");
|
|
17
|
+
/**
|
|
18
|
+
* Register a transformer under a stable package-owned key.
|
|
19
|
+
*
|
|
20
|
+
* Registrations with the same key are reference-counted. The first
|
|
21
|
+
* transformer registered for a key remains authoritative until the last
|
|
22
|
+
* owner unregisters, which makes repeated instrumentor activation
|
|
23
|
+
* deterministic and prevents duplicate translation.
|
|
24
|
+
*/
|
|
25
|
+
export function registerSpanTransformer(key, transformer) {
|
|
26
|
+
const normalizedKey = key.trim();
|
|
27
|
+
if (!normalizedKey) {
|
|
28
|
+
throw new Error("Span transformer key must be a non-empty string.");
|
|
29
|
+
}
|
|
30
|
+
if (!transformer || typeof transformer !== "object") {
|
|
31
|
+
throw new Error(`Span transformer "${normalizedKey}" must be an object.`);
|
|
32
|
+
}
|
|
33
|
+
const state = getRegistryState();
|
|
34
|
+
if (state.hostCount === 0) {
|
|
35
|
+
throw new Error("No compatible Respan span-transformer host is active. Initialize a " +
|
|
36
|
+
"@respan/tracing runtime with transformer registry v1 before " +
|
|
37
|
+
`activating \"${normalizedKey}\".`);
|
|
38
|
+
}
|
|
39
|
+
let entry = state.entries.get(normalizedKey);
|
|
40
|
+
if (entry) {
|
|
41
|
+
entry.referenceCount += 1;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
entry = [...state.retainedEntries].find((candidate) => candidate.key === normalizedKey &&
|
|
45
|
+
candidate.transformer === transformer &&
|
|
46
|
+
!candidate.disposed);
|
|
47
|
+
if (entry) {
|
|
48
|
+
// Reactivation while older spans drain must retain the exact transformer's
|
|
49
|
+
// state. Otherwise the older entry could dispose shared correlation data
|
|
50
|
+
// underneath the newly active registration.
|
|
51
|
+
entry.referenceCount = 1;
|
|
52
|
+
entry.disposalRequested = false;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
entry = {
|
|
56
|
+
key: normalizedKey,
|
|
57
|
+
transformer,
|
|
58
|
+
referenceCount: 1,
|
|
59
|
+
inFlightCount: 0,
|
|
60
|
+
disposalRequested: false,
|
|
61
|
+
disposed: false,
|
|
62
|
+
};
|
|
63
|
+
state.retainedEntries.add(entry);
|
|
64
|
+
}
|
|
65
|
+
state.entries.set(normalizedKey, entry);
|
|
66
|
+
}
|
|
67
|
+
let registered = true;
|
|
68
|
+
return {
|
|
69
|
+
key: normalizedKey,
|
|
70
|
+
unregister() {
|
|
71
|
+
if (!registered) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
registered = false;
|
|
75
|
+
entry.referenceCount = Math.max(0, entry.referenceCount - 1);
|
|
76
|
+
if (entry.referenceCount === 0 &&
|
|
77
|
+
state.entries.get(normalizedKey) === entry) {
|
|
78
|
+
state.entries.delete(normalizedKey);
|
|
79
|
+
entry.disposalRequested = true;
|
|
80
|
+
disposeEntryIfReady(state, entry);
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** Return active transformer keys in their deterministic execution order. */
|
|
86
|
+
export function getRegisteredSpanTransformerKeys() {
|
|
87
|
+
return sortedActiveEntries(getRegistryState()).map((entry) => entry.key);
|
|
88
|
+
}
|
|
89
|
+
/** @internal Marks a compatible composite processor as active. */
|
|
90
|
+
export function acquireSpanTransformerHost() {
|
|
91
|
+
const state = getRegistryState();
|
|
92
|
+
state.hostCount += 1;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* @internal Releases a compatible composite processor. The final host owns
|
|
96
|
+
* process-runtime cleanup so registrations and in-flight snapshots cannot
|
|
97
|
+
* leak into a later tracing lifecycle.
|
|
98
|
+
*/
|
|
99
|
+
export function releaseSpanTransformerHost() {
|
|
100
|
+
const state = getRegistryState();
|
|
101
|
+
state.hostCount = Math.max(0, state.hostCount - 1);
|
|
102
|
+
if (state.hostCount === 0) {
|
|
103
|
+
state.entries.clear();
|
|
104
|
+
for (const entry of state.retainedEntries) {
|
|
105
|
+
disposeEntry(state, entry);
|
|
106
|
+
}
|
|
107
|
+
state.retainedEntries.clear();
|
|
108
|
+
state.spanSnapshots = new WeakMap();
|
|
109
|
+
state.inFlightHolds = new WeakMap();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/** @internal Called by RespanCompositeProcessor before any other start logic. */
|
|
113
|
+
export function runSpanTransformersOnStart(span, parentContext) {
|
|
114
|
+
const state = getRegistryState();
|
|
115
|
+
const entries = sortedActiveEntries(state);
|
|
116
|
+
// Record even an empty snapshot. A transformer registered after this span
|
|
117
|
+
// starts must not retroactively claim it at onEnd.
|
|
118
|
+
state.spanSnapshots.set(span, entries);
|
|
119
|
+
for (const entry of entries) {
|
|
120
|
+
entry.inFlightCount += 1;
|
|
121
|
+
}
|
|
122
|
+
// Track the hold so an abandoned span (started but never ended) still
|
|
123
|
+
// releases the drain barrier once it is garbage-collected. onEnd settles
|
|
124
|
+
// this synchronously; the FinalizationRegistry is the fallback.
|
|
125
|
+
if (entries.length > 0) {
|
|
126
|
+
const spanObject = span;
|
|
127
|
+
const hold = { entries, settled: false };
|
|
128
|
+
state.inFlightHolds.set(spanObject, hold);
|
|
129
|
+
state.abandonedSpanWatch.register(spanObject, hold, spanObject);
|
|
130
|
+
}
|
|
131
|
+
for (const entry of entries) {
|
|
132
|
+
if (!entry.transformer.onStart) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
entry.transformer.onStart(span, parentContext);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
reportTransformerError(entry.key, "onStart", error);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @internal Called by RespanCompositeProcessor before any other end logic.
|
|
145
|
+
* Returns the span (or export-only clone) that must continue through Respan.
|
|
146
|
+
*/
|
|
147
|
+
export function runSpanTransformersOnEnd(span) {
|
|
148
|
+
const state = getRegistryState();
|
|
149
|
+
const spanObject = span;
|
|
150
|
+
const hasStartSnapshot = state.spanSnapshots.has(spanObject);
|
|
151
|
+
const entries = hasStartSnapshot
|
|
152
|
+
? state.spanSnapshots.get(spanObject) ?? []
|
|
153
|
+
: sortedActiveEntries(state);
|
|
154
|
+
if (hasStartSnapshot) {
|
|
155
|
+
state.spanSnapshots.delete(spanObject);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// Synthetic spans injected directly into onEnd still participate in the
|
|
159
|
+
// disposal barrier for the duration of their hooks.
|
|
160
|
+
for (const entry of entries) {
|
|
161
|
+
entry.inFlightCount += 1;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
try {
|
|
165
|
+
for (const entry of entries) {
|
|
166
|
+
if (!entry.transformer.onEnd) {
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
entry.transformer.onEnd(span);
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
reportTransformerError(entry.key, "onEnd", error);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
let exportSpan = span;
|
|
177
|
+
for (const entry of entries) {
|
|
178
|
+
if (!entry.transformer.prepareForExport) {
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
try {
|
|
182
|
+
const prepared = entry.transformer.prepareForExport(exportSpan);
|
|
183
|
+
if (prepared && typeof prepared === "object") {
|
|
184
|
+
exportSpan = prepared;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
reportTransformerError(entry.key, "prepareForExport", new Error("Transformer returned an invalid span."));
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
reportTransformerError(entry.key, "prepareForExport", error);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return exportSpan;
|
|
195
|
+
}
|
|
196
|
+
finally {
|
|
197
|
+
const hold = hasStartSnapshot
|
|
198
|
+
? state.inFlightHolds.get(spanObject)
|
|
199
|
+
: undefined;
|
|
200
|
+
if (hold) {
|
|
201
|
+
// Started span: release the hold registered at onStart exactly once and
|
|
202
|
+
// cancel its GC watch (settle decrements inFlightCount and drains).
|
|
203
|
+
state.inFlightHolds.delete(spanObject);
|
|
204
|
+
state.abandonedSpanWatch.unregister(spanObject);
|
|
205
|
+
settleInFlightHold(state, hold);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
// Synthetic span (no onStart hold): decrement the counts raised above.
|
|
209
|
+
for (const entry of entries) {
|
|
210
|
+
entry.inFlightCount = Math.max(0, entry.inFlightCount - 1);
|
|
211
|
+
disposeEntryIfReady(state, entry);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function getRegistryState() {
|
|
217
|
+
const registryGlobal = globalThis;
|
|
218
|
+
const existing = registryGlobal[RESPAN_SPAN_TRANSFORMER_REGISTRY_SYMBOL];
|
|
219
|
+
if (existing?.version === 1) {
|
|
220
|
+
return existing;
|
|
221
|
+
}
|
|
222
|
+
const state = {
|
|
223
|
+
entries: new Map(),
|
|
224
|
+
retainedEntries: new Set(),
|
|
225
|
+
spanSnapshots: new WeakMap(),
|
|
226
|
+
inFlightHolds: new WeakMap(),
|
|
227
|
+
abandonedSpanWatch: undefined,
|
|
228
|
+
hostCount: 0,
|
|
229
|
+
version: 1,
|
|
230
|
+
};
|
|
231
|
+
// The watch callback fires when an abandoned span is collected; it releases
|
|
232
|
+
// that span's drain hold. It is a no-op for spans already settled by onEnd.
|
|
233
|
+
state.abandonedSpanWatch = new FinalizationRegistry((hold) => {
|
|
234
|
+
settleInFlightHold(state, hold);
|
|
235
|
+
});
|
|
236
|
+
Object.defineProperty(registryGlobal, RESPAN_SPAN_TRANSFORMER_REGISTRY_SYMBOL, {
|
|
237
|
+
configurable: false,
|
|
238
|
+
enumerable: false,
|
|
239
|
+
value: state,
|
|
240
|
+
writable: false,
|
|
241
|
+
});
|
|
242
|
+
return state;
|
|
243
|
+
}
|
|
244
|
+
function sortedActiveEntries(state) {
|
|
245
|
+
return [...state.entries.values()]
|
|
246
|
+
.filter((entry) => entry.referenceCount > 0)
|
|
247
|
+
// Code-point order, not locale-sensitive localeCompare, so dotted keys like
|
|
248
|
+
// "respan.openai" order identically across ICU/locale environments.
|
|
249
|
+
.sort((left, right) => left.key < right.key ? -1 : left.key > right.key ? 1 : 0);
|
|
250
|
+
}
|
|
251
|
+
function reportTransformerError(key, phase, error) {
|
|
252
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
253
|
+
// Use console.error (matching RespanCompositeProcessor's postprocess-error
|
|
254
|
+
// path) rather than diag.warn: startTracing installs a diag logger whose
|
|
255
|
+
// warn() is a no-op, which would otherwise swallow every isolated hook
|
|
256
|
+
// failure silently in production.
|
|
257
|
+
console.error(`[Respan] Span transformer "${key}" failed during ${phase}; continuing export:`, error);
|
|
258
|
+
}
|
|
259
|
+
function disposeEntryIfReady(state, entry) {
|
|
260
|
+
if (entry.disposalRequested && entry.inFlightCount === 0) {
|
|
261
|
+
disposeEntry(state, entry);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
function disposeEntry(state, entry) {
|
|
265
|
+
if (entry.disposed) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
entry.disposed = true;
|
|
269
|
+
state.retainedEntries.delete(entry);
|
|
270
|
+
if (!entry.transformer.dispose) {
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
try {
|
|
274
|
+
entry.transformer.dispose();
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
reportTransformerError(entry.key, "dispose", error);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=transformers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../src/processor/transformers.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/tracing.js
CHANGED
|
@@ -217,6 +217,33 @@ export const startTracing = async (options) => {
|
|
|
217
217
|
exporterUrl,
|
|
218
218
|
instrumentationCount: instrumentationsList.length,
|
|
219
219
|
});
|
|
220
|
+
// The composite acquires the process-global transformer host before
|
|
221
|
+
// NodeSDK.start(). A partial start must therefore shut down both the SDK
|
|
222
|
+
// and the composite before clearing the singleton references; otherwise a
|
|
223
|
+
// plugin can register successfully against a tracing runtime that never
|
|
224
|
+
// became operational. Composite shutdown is idempotent so this remains
|
|
225
|
+
// safe when NodeSDK.shutdown() already reached the span processor.
|
|
226
|
+
const failedSdk = _sdk;
|
|
227
|
+
const failedCompositeProcessor = _compositeProcessor;
|
|
228
|
+
try {
|
|
229
|
+
await failedSdk?.shutdown();
|
|
230
|
+
}
|
|
231
|
+
catch (cleanupError) {
|
|
232
|
+
console.error("[Respan Debug] Failed to shut down partially started OpenTelemetry SDK:", cleanupError);
|
|
233
|
+
}
|
|
234
|
+
try {
|
|
235
|
+
await failedCompositeProcessor?.shutdown();
|
|
236
|
+
}
|
|
237
|
+
catch (cleanupError) {
|
|
238
|
+
console.error("[Respan Debug] Failed to release partially started Respan processor:", cleanupError);
|
|
239
|
+
}
|
|
240
|
+
finally {
|
|
241
|
+
_initialized = false;
|
|
242
|
+
_compositeProcessor = undefined;
|
|
243
|
+
_sdk = undefined;
|
|
244
|
+
_flushPromise = undefined;
|
|
245
|
+
_shutdownPromise = undefined;
|
|
246
|
+
}
|
|
220
247
|
throw error;
|
|
221
248
|
}
|
|
222
249
|
};
|
|
@@ -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,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,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,IAAyB,CAAC;AAC9B,IAAI,YAAY,GAAY,KAAK,CAAC;AAClC,IAAI,mBAAyD,CAAC;AAC9D,IAAI,aAAwC,CAAC;AAC7C,IAAI,gBAA2C,CAAC;AAChD,IAAI,0BAA0B,GAAG,KAAK,CAAC;AAEvC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,IAAI,0BAA0B,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACjE,OAAO;IACT,CAAC;IAED,0BAA0B,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;QAC9B,KAAK,KAAK,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC;IAE5B,qCAAqC;IACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,oCAAoC;IACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,mCAAmC;IACnC,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CACX,iCAAiC,WAAW,SAAS,OAAO,GAAG,CAChE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;IAC3D,mCAAmC;IACnC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,MAAM,EACJ,OAAO,GAAG,YAAY,EACtB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EACzC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,uBAAuB,EAChE,QAAQ,GAAG,OAAO,EAClB,QAAQ,EACR,OAAO,GAAG,EAAE,EACZ,UAAU,EACV,cAAc,EACd,4BAA4B,GAAG,KAAK,EACpC,cAAc,GAAG,IAAI,EACrB,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAClD,iBAAiB,EACjB,YAAY,GAAG,IAAI,EACnB,wBAAwB,GAAG,EAAE,EAC7B,kBAAkB,GAAG,EAAE,EACvB,uBAAuB,EACvB,YAAY,GAAG,KAAK,GACrB,GAAG,OAAO,CAAC;IAEZ,kCAAkC;IAClC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE;QACrD,OAAO;QACP,OAAO;QACP,QAAQ;QACR,cAAc;QACd,aAAa;QACb,YAAY;QACZ,SAAS,EAAE,CAAC,CAAC,MAAM;QACnB,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;QACjC,oBAAoB,EAAE,CAAC,CAAC,CACtB,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,CAC/D;QACD,qBAAqB,EAAE,iBAAiB;YACtC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAChC,CAAC,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,wBAAwB,EAAE,wBAAwB,IAAI,EAAE;QACxD,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,oFAAoF,CACrF,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CACV,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC;QACH,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,KAAK,CACX,0DAA0D,EAC1D,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAC/B,CAAC;YACF,MAAM,4BAA4B,CAChC,iBAAiB,EACjB,wBAAwB,CACzB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CACX,0DAA0D,CAC3D,CAAC;YACF,MAAM,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,CACX,wDAAwD,oBAAoB,CAAC,MAAM,EAAE,CACtF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,6DAA6D,EAC7D,KAAK,CACN,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,MAAM,aAAa,GAAG,gBAAgB,EAAE,IAAI,YAAY,CAAC;IACzD,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAErC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,6EAA6E,CAC9E,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CACX,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,mEAAmE;IACnE,IAAI,CAAC,SAAS,CACZ;QACE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;QACtD,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;KAClB,EACD,YAAY,CAAC,KAAK,CACnB,CAAC;IAEF,yCAAyC;IACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC;QACtC,CAAC,iBAAiB,CAAC,EAAE,OAAO;QAC5B,GAAG,kBAAkB;KACtB,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,CACX,oDAAoD,EACpD,OAAO,EACP,iBAAiB,EACjB,kBAAkB,CACnB,CAAC;IAEF,yCAAyC;IACzC,gFAAgF;IAChF,MAAM,WAAW,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAChE,MAAM,eAAe,GAAG;QACtB,aAAa,EAAE,UAAU,MAAM,EAAE;QACjC,GAAG,OAAO;KACX,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE;QACtD,GAAG,EAAE,WAAW;QAChB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM;QACjD,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACrD,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KACvC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,MAAM,aAAa,GACjB,QAAQ;QACR,IAAI,iBAAiB,CAAC;YACpB,GAAG,EAAE,WAAW;YAChB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IAEL,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAE5D,qCAAqC;IACrC,MAAM,gBAAgB,GAAG,IAAI,qBAAqB,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;IAEpF,8CAA8C;IAC9C,8EAA8E;IAC9E,kDAAkD;IAClD,gBAAgB,CAAC,YAAY,CAAC;QAC5B,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;IAE5G,2DAA2D;IAC3D,kGAAkG;IAClG,mBAAmB,GAAG,IAAI,wBAAwB,CAChD,gBAAgB,EAChB,uBAAuB,CACxB,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAE9G,+BAA+B;IAC/B,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,CAAC;IAEnD,iBAAiB;IACjB,OAAO,CAAC,KAAK,CACX,4CAA4C,oBAAoB,CAAC,MAAM,wCAAwC,EAC/G,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAC/D,CAAC;IAEF,IAAI,GAAG,IAAI,OAAO,CAAC;QACjB,QAAQ;QACR,0EAA0E;QAC1E,4DAA4D;QAC5D,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,CAAC,mBAAmB,CAAC;QACrC,gBAAgB,EAAE,oBAAoB;QACtC,iBAAiB,EAAE,UAAU;QAC7B,cAAc;KACf,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,uBAAuB,EAAE,CAAC;QAE1B,mEAAmE;QACnE,iEAAiE;QACjE,IAAI,CAAC;YACH,MAAM,EAAE,GAAI,UAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;gBACzF,OAAO,CAAC,oBAAoB,CAAS,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAI,EAAU,EAAE,SAAS,IAAI,EAAE,CAAC;YAC9C,IAAI,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC7C,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC9B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;oBACxB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;oBACrB,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,YAAY,CACtC,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,KAAK;oBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;QAED,YAAY,GAAG,IAAI,CAAC;QAEpB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAEzD,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,mDAAmD,EACnD,KAAK,CACN,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE;YAC7C,OAAO,EAAG,KAAe,CAAC,OAAO;YACjC,KAAK,EAAG,KAAe,CAAC,KAAK;YAC7B,WAAW;YACX,oBAAoB,EAAE,oBAAoB,CAAC,MAAM;SAClD,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/utils/tracing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@respan/tracing",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.2",
|
|
5
5
|
"description": "TypeScript support for Respan SDK",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsc",
|
|
18
|
+
"test": "npm run build && node --expose-gc --test tests/*.test.mjs",
|
|
18
19
|
"watch:test": "tsc -p tsconfig.test.json --watch",
|
|
19
20
|
"dev": "yarn build && cd examples && yarn dev",
|
|
20
21
|
"examples:install": "cd examples && yarn install",
|
|
@@ -42,10 +43,10 @@
|
|
|
42
43
|
"@traceloop/ai-semantic-conventions": "^0.13.0"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
|
-
"@ai-sdk/openai": "^
|
|
46
|
+
"@ai-sdk/openai": "^4.0.30",
|
|
46
47
|
"@anthropic-ai/sdk": "0.41.0",
|
|
47
|
-
"@vercel/otel": "^2.
|
|
48
|
-
"ai": "^
|
|
48
|
+
"@vercel/otel": "^2.1.3",
|
|
49
|
+
"ai": "^7.0.65",
|
|
49
50
|
"dotenv": "^16.4.7",
|
|
50
51
|
"openai": "^4.80.1",
|
|
51
52
|
"ts-node": "^10.9.2",
|
|
@@ -72,4 +73,4 @@
|
|
|
72
73
|
"linux",
|
|
73
74
|
"win32"
|
|
74
75
|
]
|
|
75
|
-
}
|
|
76
|
+
}
|