@respan/tracing 1.3.1 → 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 CHANGED
@@ -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: ReadableSpan, parentContext: Context): void;
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 && !span.attributes[SpanAttributes.TRACELOOP_SPAN_KIND]) {
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: ${span.name} (entityPath: ${entityPath})`);
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(span, parentContext);
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
- await this._processorManager.shutdown();
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":"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"}
1
+ {"version":3,"file":"composite.js","sourceRoot":"","sources":["../../src/processor/composite.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './filtering.js';
2
2
  export * from './manager.js';
3
3
  export * from './composite.js';
4
+ export * from './transformers.js';
@@ -1,4 +1,5 @@
1
1
  export * from './filtering.js';
2
2
  export * from './manager.js';
3
3
  export * from './composite.js';
4
+ export * from './transformers.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -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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"}
@@ -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":"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"}
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.1",
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": "^1.3.6",
46
+ "@ai-sdk/openai": "^4.0.30",
46
47
  "@anthropic-ai/sdk": "0.41.0",
47
- "@vercel/otel": "^2.0.0",
48
- "ai": "^4.2.10",
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
+ }