@mastra/observability 1.0.0-beta.1 → 1.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +387 -0
- package/README.md +34 -79
- package/dist/config.d.ts +216 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/default.d.ts.map +1 -1
- package/dist/exporters/base.d.ts +3 -2
- package/dist/exporters/base.d.ts.map +1 -1
- package/dist/exporters/cloud.d.ts.map +1 -1
- package/dist/exporters/default.d.ts +4 -3
- package/dist/exporters/default.d.ts.map +1 -1
- package/dist/exporters/index.d.ts +3 -2
- package/dist/exporters/index.d.ts.map +1 -1
- package/dist/exporters/test.d.ts +13 -0
- package/dist/exporters/test.d.ts.map +1 -0
- package/dist/exporters/tracking.d.ts +450 -0
- package/dist/exporters/tracking.d.ts.map +1 -0
- package/dist/index.cjs +5788 -232
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5779 -233
- package/dist/index.js.map +1 -1
- package/dist/instances/base.d.ts +32 -5
- package/dist/instances/base.d.ts.map +1 -1
- package/dist/model-tracing.d.ts +16 -9
- package/dist/model-tracing.d.ts.map +1 -1
- package/dist/span_processors/sensitive-data-filter.d.ts +7 -0
- package/dist/span_processors/sensitive-data-filter.d.ts.map +1 -1
- package/dist/spans/base.d.ts +49 -18
- package/dist/spans/base.d.ts.map +1 -1
- package/dist/spans/default.d.ts.map +1 -1
- package/dist/spans/index.d.ts +1 -0
- package/dist/spans/index.d.ts.map +1 -1
- package/dist/spans/serialization.d.ts +46 -0
- package/dist/spans/serialization.d.ts.map +1 -0
- package/dist/tracing-options.d.ts +27 -0
- package/dist/tracing-options.d.ts.map +1 -0
- package/dist/usage.d.ts +21 -0
- package/dist/usage.d.ts.map +1 -0
- package/package.json +9 -10
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TrackingExporter base class for vendor-specific observability exporters.
|
|
3
|
+
*
|
|
4
|
+
* Provides common functionality for caching trace data in memory, handling
|
|
5
|
+
* out-of-order span arrival via queuing, delayed cleanup, and memory management.
|
|
6
|
+
*/
|
|
7
|
+
import type { TracingEvent, AnyExportedSpan, SpanErrorInfo } from '@mastra/core/observability';
|
|
8
|
+
import type { BaseExporterConfig } from './base.js';
|
|
9
|
+
import { BaseExporter } from './base.js';
|
|
10
|
+
/**
|
|
11
|
+
* Represents an event waiting in the early queue for its dependencies.
|
|
12
|
+
*/
|
|
13
|
+
export interface QueuedEvent {
|
|
14
|
+
/** The original tracing event */
|
|
15
|
+
event: TracingEvent;
|
|
16
|
+
/** What this event is waiting for: 'root' or a specific parentSpanId */
|
|
17
|
+
waitingFor: 'root' | string;
|
|
18
|
+
/** Number of times we've attempted to process this event */
|
|
19
|
+
attempts: number;
|
|
20
|
+
/** When this event was queued */
|
|
21
|
+
queuedAt: Date;
|
|
22
|
+
}
|
|
23
|
+
export interface TrackingExporterConfig extends BaseExporterConfig {
|
|
24
|
+
/**
|
|
25
|
+
* Maximum number of attempts to process a queued event before dropping it.
|
|
26
|
+
* @default 5
|
|
27
|
+
*/
|
|
28
|
+
earlyQueueMaxAttempts?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Time-to-live in milliseconds for queued events. Events older than this are dropped.
|
|
31
|
+
* @default 30000 (30 seconds)
|
|
32
|
+
*/
|
|
33
|
+
earlyQueueTTLMs?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Delay in milliseconds before cleaning up trace data after all spans have ended.
|
|
36
|
+
* This allows late-arriving data to still be processed.
|
|
37
|
+
* @default 30000 (30 seconds)
|
|
38
|
+
*/
|
|
39
|
+
traceCleanupDelayMs?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Soft cap on number of traces with activeSpanCount == 0 awaiting cleanup.
|
|
42
|
+
* When exceeded, oldest pending traces are force-cleaned.
|
|
43
|
+
* @default 100
|
|
44
|
+
*/
|
|
45
|
+
maxPendingCleanupTraces?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Hard cap on total number of traces (including active ones).
|
|
48
|
+
* When exceeded, oldest traces are killed (active spans aborted).
|
|
49
|
+
* Safety valve for memory leaks.
|
|
50
|
+
* @default 500
|
|
51
|
+
*/
|
|
52
|
+
maxTotalTraces?: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Per-trace data container that stores vendor-specific span/event objects and
|
|
56
|
+
* manages the waiting queue for out-of-order event processing.
|
|
57
|
+
*
|
|
58
|
+
* @typeParam TRootData - Vendor-specific root/trace object type (e.g., Langfuse trace, Braintrust logger)
|
|
59
|
+
* @typeParam TSpanData - Vendor-specific span object type (e.g., LangSmith RunTree, Braintrust Span)
|
|
60
|
+
* @typeParam TEventData - Vendor-specific event object type
|
|
61
|
+
* @typeParam TMetadata - Vendor-specific metadata type for spans
|
|
62
|
+
*/
|
|
63
|
+
export declare class TraceData<TRootData, TSpanData, TEventData, TMetadata> {
|
|
64
|
+
#private;
|
|
65
|
+
/** When this trace data was created, used for cap enforcement */
|
|
66
|
+
readonly createdAt: Date;
|
|
67
|
+
constructor();
|
|
68
|
+
/**
|
|
69
|
+
* Check if this trace has a root span registered.
|
|
70
|
+
* @returns True if addRoot() has been called
|
|
71
|
+
*/
|
|
72
|
+
hasRoot(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Register the root span for this trace.
|
|
75
|
+
* @param args.rootId - The span ID of the root span
|
|
76
|
+
* @param args.rootData - The vendor-specific root object
|
|
77
|
+
*/
|
|
78
|
+
addRoot(args: {
|
|
79
|
+
rootId: string;
|
|
80
|
+
rootData: TRootData;
|
|
81
|
+
}): void;
|
|
82
|
+
/**
|
|
83
|
+
* Get the vendor-specific root object.
|
|
84
|
+
* @returns The root object, or undefined if not yet set
|
|
85
|
+
*/
|
|
86
|
+
getRoot(): TRootData | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Check if a span with isRootSpan=true has been successfully processed.
|
|
89
|
+
* Set via addRoot() or markRootSpanProcessed().
|
|
90
|
+
* @returns True if the root span has been processed
|
|
91
|
+
*/
|
|
92
|
+
isRootProcessed(): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Mark that the root span has been processed.
|
|
95
|
+
* Used by exporters with skipBuildRootTask=true where root goes through _buildSpan
|
|
96
|
+
* instead of _buildRoot.
|
|
97
|
+
*/
|
|
98
|
+
markRootSpanProcessed(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Store an arbitrary value in per-trace storage.
|
|
101
|
+
* @param key - Storage key
|
|
102
|
+
* @param value - Value to store
|
|
103
|
+
*/
|
|
104
|
+
setExtraValue(key: string, value: unknown): void;
|
|
105
|
+
/**
|
|
106
|
+
* Check if a key exists in per-trace storage.
|
|
107
|
+
* @param key - Storage key
|
|
108
|
+
* @returns True if the key exists
|
|
109
|
+
*/
|
|
110
|
+
hasExtraValue(key: string): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Get a value from per-trace storage.
|
|
113
|
+
* @param key - Storage key
|
|
114
|
+
* @returns The stored value, or undefined if not found
|
|
115
|
+
*/
|
|
116
|
+
getExtraValue(key: string): unknown;
|
|
117
|
+
/**
|
|
118
|
+
* Add an event to the waiting queue.
|
|
119
|
+
* @param args.event - The tracing event to queue
|
|
120
|
+
* @param args.waitingFor - 'root' or a specific parentSpanId
|
|
121
|
+
* @param args.attempts - Optional: preserve attempts count when re-queuing
|
|
122
|
+
* @param args.queuedAt - Optional: preserve original queue time when re-queuing
|
|
123
|
+
*/
|
|
124
|
+
addToWaitingQueue(args: {
|
|
125
|
+
event: TracingEvent;
|
|
126
|
+
waitingFor: 'root' | string;
|
|
127
|
+
attempts?: number;
|
|
128
|
+
queuedAt?: Date;
|
|
129
|
+
}): void;
|
|
130
|
+
/**
|
|
131
|
+
* Get all events waiting for the root span.
|
|
132
|
+
* Returns a copy of the internal array.
|
|
133
|
+
*/
|
|
134
|
+
getEventsWaitingForRoot(): QueuedEvent[];
|
|
135
|
+
/**
|
|
136
|
+
* Get all events waiting for a specific parent span.
|
|
137
|
+
* Returns a copy of the internal array.
|
|
138
|
+
*/
|
|
139
|
+
getEventsWaitingFor(args: {
|
|
140
|
+
spanId: string;
|
|
141
|
+
}): QueuedEvent[];
|
|
142
|
+
/**
|
|
143
|
+
* Clear the waiting-for-root queue.
|
|
144
|
+
*/
|
|
145
|
+
clearWaitingForRoot(): void;
|
|
146
|
+
/**
|
|
147
|
+
* Clear the waiting queue for a specific parent span.
|
|
148
|
+
*/
|
|
149
|
+
clearWaitingFor(args: {
|
|
150
|
+
spanId: string;
|
|
151
|
+
}): void;
|
|
152
|
+
/**
|
|
153
|
+
* Get total count of events in all waiting queues.
|
|
154
|
+
*/
|
|
155
|
+
waitingQueueSize(): number;
|
|
156
|
+
/**
|
|
157
|
+
* Get all queued events across all waiting queues.
|
|
158
|
+
* Used for cleanup and logging orphaned events.
|
|
159
|
+
* @returns Array of all queued events
|
|
160
|
+
*/
|
|
161
|
+
getAllQueuedEvents(): QueuedEvent[];
|
|
162
|
+
/**
|
|
163
|
+
* Record the parent-child relationship for a span.
|
|
164
|
+
* @param args.spanId - The child span ID
|
|
165
|
+
* @param args.parentSpanId - The parent span ID, or undefined for root spans
|
|
166
|
+
*/
|
|
167
|
+
addBranch(args: {
|
|
168
|
+
spanId: string;
|
|
169
|
+
parentSpanId: string | undefined;
|
|
170
|
+
}): void;
|
|
171
|
+
/**
|
|
172
|
+
* Get the parent span ID for a given span.
|
|
173
|
+
* @param args.spanId - The span ID to look up
|
|
174
|
+
* @returns The parent span ID, or undefined if root or not found
|
|
175
|
+
*/
|
|
176
|
+
getParentId(args: {
|
|
177
|
+
spanId: string;
|
|
178
|
+
}): string | undefined;
|
|
179
|
+
/**
|
|
180
|
+
* Register a span and mark it as active.
|
|
181
|
+
* @param args.spanId - The span ID
|
|
182
|
+
* @param args.spanData - The vendor-specific span object
|
|
183
|
+
*/
|
|
184
|
+
addSpan(args: {
|
|
185
|
+
spanId: string;
|
|
186
|
+
spanData: TSpanData;
|
|
187
|
+
}): void;
|
|
188
|
+
/**
|
|
189
|
+
* Check if a span exists (regardless of active state).
|
|
190
|
+
* @param args.spanId - The span ID to check
|
|
191
|
+
* @returns True if the span exists
|
|
192
|
+
*/
|
|
193
|
+
hasSpan(args: {
|
|
194
|
+
spanId: string;
|
|
195
|
+
}): boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Get a span by ID.
|
|
198
|
+
* @param args.spanId - The span ID to look up
|
|
199
|
+
* @returns The vendor-specific span object, or undefined if not found
|
|
200
|
+
*/
|
|
201
|
+
getSpan(args: {
|
|
202
|
+
spanId: string;
|
|
203
|
+
}): TSpanData | undefined;
|
|
204
|
+
/**
|
|
205
|
+
* Mark a span as ended (no longer active).
|
|
206
|
+
* @param args.spanId - The span ID to mark as ended
|
|
207
|
+
*/
|
|
208
|
+
endSpan(args: {
|
|
209
|
+
spanId: string;
|
|
210
|
+
}): void;
|
|
211
|
+
/**
|
|
212
|
+
* Check if a span is currently active (started but not ended).
|
|
213
|
+
* @param args.spanId - The span ID to check
|
|
214
|
+
* @returns True if the span is active
|
|
215
|
+
*/
|
|
216
|
+
isActiveSpan(args: {
|
|
217
|
+
spanId: string;
|
|
218
|
+
}): boolean;
|
|
219
|
+
/**
|
|
220
|
+
* Get the count of currently active spans.
|
|
221
|
+
* @returns Number of active spans
|
|
222
|
+
*/
|
|
223
|
+
activeSpanCount(): number;
|
|
224
|
+
/**
|
|
225
|
+
* Get all active span IDs.
|
|
226
|
+
* @returns Array of active span IDs
|
|
227
|
+
*/
|
|
228
|
+
get activeSpanIds(): string[];
|
|
229
|
+
/**
|
|
230
|
+
* Register an event.
|
|
231
|
+
* @param args.eventId - The event ID
|
|
232
|
+
* @param args.eventData - The vendor-specific event object
|
|
233
|
+
*/
|
|
234
|
+
addEvent(args: {
|
|
235
|
+
eventId: string;
|
|
236
|
+
eventData: TEventData;
|
|
237
|
+
}): void;
|
|
238
|
+
/**
|
|
239
|
+
* Store vendor-specific metadata for a span.
|
|
240
|
+
* Note: This overwrites any existing metadata for the span.
|
|
241
|
+
* @param args.spanId - The span ID
|
|
242
|
+
* @param args.metadata - The vendor-specific metadata
|
|
243
|
+
*/
|
|
244
|
+
addMetadata(args: {
|
|
245
|
+
spanId: string;
|
|
246
|
+
metadata: TMetadata;
|
|
247
|
+
}): void;
|
|
248
|
+
/**
|
|
249
|
+
* Get vendor-specific metadata for a span.
|
|
250
|
+
* @param args.spanId - The span ID
|
|
251
|
+
* @returns The metadata, or undefined if not found
|
|
252
|
+
*/
|
|
253
|
+
getMetadata(args: {
|
|
254
|
+
spanId: string;
|
|
255
|
+
}): TMetadata | undefined;
|
|
256
|
+
/**
|
|
257
|
+
* Get the parent span or event for a given span.
|
|
258
|
+
* Looks up in both spans and events maps.
|
|
259
|
+
* @param args.span - The span to find the parent for
|
|
260
|
+
* @returns The parent span/event object, or undefined if root or not found
|
|
261
|
+
*/
|
|
262
|
+
getParent(args: {
|
|
263
|
+
span: AnyExportedSpan;
|
|
264
|
+
}): TSpanData | TEventData | undefined;
|
|
265
|
+
/**
|
|
266
|
+
* Get the parent span/event or fall back to the root object.
|
|
267
|
+
* Useful for vendors that attach child spans to either parent spans or the trace root.
|
|
268
|
+
* @param args.span - The span to find the parent for
|
|
269
|
+
* @returns The parent span/event, the root object, or undefined
|
|
270
|
+
*/
|
|
271
|
+
getParentOrRoot(args: {
|
|
272
|
+
span: AnyExportedSpan;
|
|
273
|
+
}): TRootData | TSpanData | TEventData | undefined;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Abstract base class for vendor-specific observability exporters that need to
|
|
277
|
+
* track trace and span state in memory.
|
|
278
|
+
*
|
|
279
|
+
* This class provides:
|
|
280
|
+
* - Per-trace data caching via TraceData instances
|
|
281
|
+
* - Out-of-order span handling via waiting queues (for when children arrive before parents)
|
|
282
|
+
* - Delayed cleanup to handle late-arriving data
|
|
283
|
+
* - Memory management via configurable soft/hard caps on trace count
|
|
284
|
+
* - Graceful shutdown with span abortion
|
|
285
|
+
*
|
|
286
|
+
* Subclasses must implement the abstract methods to handle vendor-specific
|
|
287
|
+
* span/event creation and lifecycle.
|
|
288
|
+
*
|
|
289
|
+
* @typeParam TRootData - Vendor-specific root/trace object type
|
|
290
|
+
* @typeParam TSpanData - Vendor-specific span object type
|
|
291
|
+
* @typeParam TEventData - Vendor-specific event object type
|
|
292
|
+
* @typeParam TMetadata - Vendor-specific metadata type
|
|
293
|
+
* @typeParam TConfig - Configuration type (must extend TrackingExporterConfig)
|
|
294
|
+
*
|
|
295
|
+
* @example
|
|
296
|
+
* ```typescript
|
|
297
|
+
* class MyExporter extends TrackingExporter<MyRoot, MySpan, MyEvent, MyMeta, MyConfig> {
|
|
298
|
+
* name = 'my-exporter';
|
|
299
|
+
*
|
|
300
|
+
* protected async _buildRoot(args) { ... }
|
|
301
|
+
* protected async _buildSpan(args) { ... }
|
|
302
|
+
* protected async _buildEvent(args) { ... }
|
|
303
|
+
* protected async _updateSpan(args) { ... }
|
|
304
|
+
* protected async _finishSpan(args) { ... }
|
|
305
|
+
* protected async _abortSpan(args) { ... }
|
|
306
|
+
* }
|
|
307
|
+
* ```
|
|
308
|
+
*/
|
|
309
|
+
export declare abstract class TrackingExporter<TRootData, TSpanData, TEventData, TMetadata, TConfig extends TrackingExporterConfig> extends BaseExporter {
|
|
310
|
+
#private;
|
|
311
|
+
/** Subclass configuration with resolved values */
|
|
312
|
+
protected readonly config: TConfig;
|
|
313
|
+
constructor(config: TConfig);
|
|
314
|
+
/**
|
|
315
|
+
* Hook called before processing each tracing event.
|
|
316
|
+
* Override to transform or enrich the event before processing.
|
|
317
|
+
* @param event - The incoming tracing event
|
|
318
|
+
* @returns The (possibly modified) event to process
|
|
319
|
+
*/
|
|
320
|
+
protected _preExportTracingEvent(event: TracingEvent): Promise<TracingEvent>;
|
|
321
|
+
/**
|
|
322
|
+
* Hook called after processing each tracing event.
|
|
323
|
+
* Override to perform post-processing actions like flushing.
|
|
324
|
+
*/
|
|
325
|
+
protected _postExportTracingEvent(): Promise<void>;
|
|
326
|
+
/**
|
|
327
|
+
* Build the vendor-specific root/trace object for a new trace.
|
|
328
|
+
* Called when the first span of a trace arrives (if skipBuildRootTask is false).
|
|
329
|
+
*
|
|
330
|
+
* @param args.span - The root span data
|
|
331
|
+
* @param args.traceData - The trace data container
|
|
332
|
+
* @returns The vendor-specific root object, or undefined if unable to create
|
|
333
|
+
*/
|
|
334
|
+
protected abstract _buildRoot(args: {
|
|
335
|
+
span: AnyExportedSpan;
|
|
336
|
+
traceData: TraceData<TRootData, TSpanData, TEventData, TMetadata>;
|
|
337
|
+
}): Promise<TRootData | undefined>;
|
|
338
|
+
/**
|
|
339
|
+
* Build a vendor-specific event object.
|
|
340
|
+
* Events are zero-duration spans used for logging discrete occurrences.
|
|
341
|
+
*
|
|
342
|
+
* @param args.span - The event span data
|
|
343
|
+
* @param args.traceData - The trace data container
|
|
344
|
+
* @returns The vendor-specific event object, or undefined if parent not ready
|
|
345
|
+
*/
|
|
346
|
+
protected abstract _buildEvent(args: {
|
|
347
|
+
span: AnyExportedSpan;
|
|
348
|
+
traceData: TraceData<TRootData, TSpanData, TEventData, TMetadata>;
|
|
349
|
+
}): Promise<TEventData | undefined>;
|
|
350
|
+
/**
|
|
351
|
+
* Build a vendor-specific span object when a span starts.
|
|
352
|
+
* Should create the span in the vendor system and return the SDK object.
|
|
353
|
+
*
|
|
354
|
+
* @param args.span - The span data
|
|
355
|
+
* @param args.traceData - The trace data container
|
|
356
|
+
* @returns The vendor-specific span object, or undefined if parent not ready
|
|
357
|
+
*/
|
|
358
|
+
protected abstract _buildSpan(args: {
|
|
359
|
+
span: AnyExportedSpan;
|
|
360
|
+
traceData: TraceData<TRootData, TSpanData, TEventData, TMetadata>;
|
|
361
|
+
}): Promise<TSpanData | undefined>;
|
|
362
|
+
/**
|
|
363
|
+
* Update a span with new data (called on span_updated events).
|
|
364
|
+
* Should update the vendor span with any new attributes, metrics, etc.
|
|
365
|
+
*
|
|
366
|
+
* @param args.span - The updated span data
|
|
367
|
+
* @param args.traceData - The trace data container
|
|
368
|
+
*/
|
|
369
|
+
protected abstract _updateSpan(args: {
|
|
370
|
+
span: AnyExportedSpan;
|
|
371
|
+
traceData: TraceData<TRootData, TSpanData, TEventData, TMetadata>;
|
|
372
|
+
}): Promise<void>;
|
|
373
|
+
/**
|
|
374
|
+
* Finish a span (called on span_ended events).
|
|
375
|
+
* Should close/end the span in the vendor system with final data.
|
|
376
|
+
*
|
|
377
|
+
* @param args.span - The ended span data
|
|
378
|
+
* @param args.traceData - The trace data container
|
|
379
|
+
*/
|
|
380
|
+
protected abstract _finishSpan(args: {
|
|
381
|
+
span: AnyExportedSpan;
|
|
382
|
+
traceData: TraceData<TRootData, TSpanData, TEventData, TMetadata>;
|
|
383
|
+
}): Promise<void>;
|
|
384
|
+
/**
|
|
385
|
+
* Abort a span due to shutdown or memory cap enforcement.
|
|
386
|
+
* Should mark the span as failed/aborted in the vendor system.
|
|
387
|
+
*
|
|
388
|
+
* @param args.span - The vendor-specific span object to abort
|
|
389
|
+
* @param args.traceData - The trace data container
|
|
390
|
+
* @param args.reason - Error info describing why the span was aborted
|
|
391
|
+
*/
|
|
392
|
+
protected abstract _abortSpan(args: {
|
|
393
|
+
span: TSpanData;
|
|
394
|
+
traceData: TraceData<TRootData, TSpanData, TEventData, TMetadata>;
|
|
395
|
+
reason: SpanErrorInfo;
|
|
396
|
+
}): Promise<void>;
|
|
397
|
+
/**
|
|
398
|
+
* If true, skip calling _buildRoot and let root spans go through _buildSpan.
|
|
399
|
+
* Use when the vendor doesn't have a separate trace/root concept.
|
|
400
|
+
* @default false
|
|
401
|
+
*/
|
|
402
|
+
protected skipBuildRootTask: boolean;
|
|
403
|
+
/**
|
|
404
|
+
* If true, skip processing span_updated events entirely.
|
|
405
|
+
* Use when the vendor doesn't support incremental span updates.
|
|
406
|
+
* @default false
|
|
407
|
+
*/
|
|
408
|
+
protected skipSpanUpdateEvents: boolean;
|
|
409
|
+
/**
|
|
410
|
+
* If true, don't cache event spans in TraceData.
|
|
411
|
+
* Use when events can't be parents of other spans.
|
|
412
|
+
* @default false
|
|
413
|
+
*/
|
|
414
|
+
protected skipCachingEventSpans: boolean;
|
|
415
|
+
private getMethod;
|
|
416
|
+
protected _exportTracingEvent(event: TracingEvent): Promise<void>;
|
|
417
|
+
/**
|
|
418
|
+
* Get or create the TraceData container for a trace.
|
|
419
|
+
* Also cancels any pending cleanup since new data has arrived.
|
|
420
|
+
*
|
|
421
|
+
* @param args.traceId - The trace ID
|
|
422
|
+
* @param args.method - The calling method name (for logging)
|
|
423
|
+
* @returns The TraceData container for this trace
|
|
424
|
+
*/
|
|
425
|
+
protected getTraceData(args: {
|
|
426
|
+
traceId: string;
|
|
427
|
+
method: string;
|
|
428
|
+
}): TraceData<TRootData, TSpanData, TEventData, TMetadata>;
|
|
429
|
+
/**
|
|
430
|
+
* Get the current number of traces being tracked.
|
|
431
|
+
* @returns The trace count
|
|
432
|
+
*/
|
|
433
|
+
protected traceMapSize(): number;
|
|
434
|
+
/**
|
|
435
|
+
* Hook called at the start of shutdown, before cancelling timers and aborting spans.
|
|
436
|
+
* Override to perform vendor-specific pre-shutdown tasks.
|
|
437
|
+
*/
|
|
438
|
+
protected _preShutdown(): Promise<void>;
|
|
439
|
+
/**
|
|
440
|
+
* Hook called at the end of shutdown, after all spans are aborted.
|
|
441
|
+
* Override to perform vendor-specific cleanup (e.g., flushing).
|
|
442
|
+
*/
|
|
443
|
+
protected _postShutdown(): Promise<void>;
|
|
444
|
+
/**
|
|
445
|
+
* Gracefully shut down the exporter.
|
|
446
|
+
* Cancels all pending cleanup timers, aborts all active spans, and clears state.
|
|
447
|
+
*/
|
|
448
|
+
shutdown(): Promise<void>;
|
|
449
|
+
}
|
|
450
|
+
//# sourceMappingURL=tracking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../src/exporters/tracking.ts"],"names":[],"mappings":"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"}
|