@mastra/observability 1.0.0-beta.9 → 1.1.0-alpha.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/CHANGELOG.md +697 -0
- package/README.md +34 -79
- package/dist/config.d.ts +110 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/default.d.ts.map +1 -1
- package/dist/exporters/base.d.ts +55 -5
- package/dist/exporters/base.d.ts.map +1 -1
- package/dist/exporters/cloud.d.ts +8 -2
- package/dist/exporters/cloud.d.ts.map +1 -1
- package/dist/exporters/default.d.ts +8 -2
- package/dist/exporters/default.d.ts.map +1 -1
- package/dist/exporters/index.d.ts +4 -2
- package/dist/exporters/index.d.ts.map +1 -1
- package/dist/exporters/json.d.ts +386 -0
- package/dist/exporters/json.d.ts.map +1 -0
- package/dist/exporters/span-formatters.d.ts +35 -0
- package/dist/exporters/span-formatters.d.ts.map +1 -0
- package/dist/exporters/tracking.d.ts +470 -0
- package/dist/exporters/tracking.d.ts.map +1 -0
- package/dist/index.cjs +2840 -812
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2833 -812
- package/dist/index.js.map +1 -1
- package/dist/instances/base.d.ts +33 -1
- package/dist/instances/base.d.ts.map +1 -1
- package/dist/model-tracing.d.ts +6 -0
- package/dist/model-tracing.d.ts.map +1 -1
- package/dist/spans/base.d.ts +5 -0
- package/dist/spans/base.d.ts.map +1 -1
- package/dist/spans/default.d.ts.map +1 -1
- package/dist/spans/serialization.d.ts +30 -0
- package/dist/spans/serialization.d.ts.map +1 -1
- package/package.json +11 -11
package/dist/instances/base.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { MastraBase } from '@mastra/core/base';
|
|
5
5
|
import type { RequestContext } from '@mastra/core/di';
|
|
6
6
|
import type { IMastraLogger } from '@mastra/core/logger';
|
|
7
|
-
import type { Span, SpanType, ObservabilityExporter, ObservabilityBridge, SpanOutputProcessor, TracingEvent, AnySpan, StartSpanOptions, CreateSpanOptions, ObservabilityInstance, CustomSamplerOptions, AnyExportedSpan, TraceState, TracingOptions } from '@mastra/core/observability';
|
|
7
|
+
import type { Span, SpanType, ObservabilityExporter, ObservabilityBridge, SpanOutputProcessor, TracingEvent, AnySpan, StartSpanOptions, CreateSpanOptions, ObservabilityInstance, CustomSamplerOptions, ExportedSpan, AnyExportedSpan, TraceState, TracingOptions } from '@mastra/core/observability';
|
|
8
8
|
import type { ObservabilityInstanceConfig } from '../config.js';
|
|
9
9
|
/**
|
|
10
10
|
* Abstract base class for all Observability implementations in Mastra.
|
|
@@ -21,8 +21,31 @@ export declare abstract class BaseObservabilityInstance extends MastraBase imple
|
|
|
21
21
|
protected get spanOutputProcessors(): SpanOutputProcessor[];
|
|
22
22
|
/**
|
|
23
23
|
* Start a new span of a specific SpanType
|
|
24
|
+
*
|
|
25
|
+
* Sampling Decision:
|
|
26
|
+
* - For root spans (no parent): Perform sampling check using the configured strategy
|
|
27
|
+
* - For child spans: Inherit the sampling decision from the parent
|
|
28
|
+
* - If parent is a NoOpSpan (not sampled), child is also a NoOpSpan
|
|
29
|
+
* - If parent is a valid span (sampled), child is also sampled
|
|
30
|
+
*
|
|
31
|
+
* This ensures trace-level sampling: either all spans in a trace are sampled or none are.
|
|
32
|
+
* See: https://github.com/mastra-ai/mastra/issues/11504
|
|
24
33
|
*/
|
|
25
34
|
startSpan<TType extends SpanType>(options: StartSpanOptions<TType>): Span<TType>;
|
|
35
|
+
/**
|
|
36
|
+
* Rebuild a span from exported data for lifecycle operations.
|
|
37
|
+
* Used by durable execution engines (e.g., Inngest) to end/update spans
|
|
38
|
+
* that were created in a previous durable operation.
|
|
39
|
+
*
|
|
40
|
+
* The rebuilt span:
|
|
41
|
+
* - Does NOT emit SPAN_STARTED (assumes original span already did)
|
|
42
|
+
* - Can have end(), update(), error() called on it
|
|
43
|
+
* - Will emit SPAN_ENDED or SPAN_UPDATED when those methods are called
|
|
44
|
+
*
|
|
45
|
+
* @param cached - The exported span data to rebuild from
|
|
46
|
+
* @returns A span that can have lifecycle methods called on it
|
|
47
|
+
*/
|
|
48
|
+
rebuildSpan<TType extends SpanType>(cached: ExportedSpan<TType>): Span<TType>;
|
|
26
49
|
/**
|
|
27
50
|
* Create a new span (called after sampling)
|
|
28
51
|
*
|
|
@@ -102,6 +125,15 @@ export declare abstract class BaseObservabilityInstance extends MastraBase imple
|
|
|
102
125
|
* Initialize Observability (called by Mastra during component registration)
|
|
103
126
|
*/
|
|
104
127
|
init(): void;
|
|
128
|
+
/**
|
|
129
|
+
* Force flush any buffered/queued spans from all exporters and the bridge
|
|
130
|
+
* without shutting down the observability instance.
|
|
131
|
+
*
|
|
132
|
+
* This is useful in serverless environments (like Vercel's fluid compute) where
|
|
133
|
+
* you need to ensure all spans are exported before the runtime instance is
|
|
134
|
+
* terminated, while keeping the observability system active for future requests.
|
|
135
|
+
*/
|
|
136
|
+
flush(): Promise<void>;
|
|
105
137
|
/**
|
|
106
138
|
* Shutdown Observability and clean up resources
|
|
107
139
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/instances/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,OAAO,EAGP,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,cAAc,EACf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAQ7D;;GAEG;AACH,8BAAsB,yBAA0B,SAAQ,UAAW,YAAW,qBAAqB;IACjG,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC;gBAElC,MAAM,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/instances/base.ts"],"names":[],"mappings":"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"}
|
package/dist/model-tracing.d.ts
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
import { SpanType } from '@mastra/core/observability';
|
|
11
11
|
import type { Span, EndGenerationOptions, ErrorSpanOptions, TracingContext, UpdateSpanOptions } from '@mastra/core/observability';
|
|
12
12
|
import type { StepStartPayload } from '@mastra/core/stream';
|
|
13
|
+
/**
|
|
14
|
+
* Manages MODEL_STEP and MODEL_CHUNK span tracking for streaming Model responses.
|
|
15
|
+
*
|
|
16
|
+
* Should be instantiated once per MODEL_GENERATION span and shared across
|
|
17
|
+
* all streaming steps (including after tool calls).
|
|
18
|
+
*/
|
|
13
19
|
export declare class ModelSpanTracker {
|
|
14
20
|
#private;
|
|
15
21
|
constructor(modelSpan?: Span<SpanType.MODEL_GENERATION>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-tracing.d.ts","sourceRoot":"","sources":["../src/model-tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,EACV,IAAI,EACJ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"model-tracing.d.ts","sourceRoot":"","sources":["../src/model-tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,EACV,IAAI,EACJ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAa,gBAAgB,EAAqB,MAAM,qBAAqB,CAAC;AAI1F;;;;;GAKG;AACH,qBAAa,gBAAgB;;gBAUf,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAcvD;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAMnC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAIjF;;;OAGG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAWnD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAI7E;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAoB3C;;;OAGG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAuS5C;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS;QAAE,WAAW,EAAE,QAAQ,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;CA2H9D"}
|
package/dist/spans/base.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Span, SpanTypeMap, AnySpan, ChildSpanOptions, ChildEventOptions, EndSpanOptions, ErrorSpanOptions, UpdateSpanOptions, CreateSpanOptions, ObservabilityInstance, ExportedSpan, TraceState, IModelSpanTracker, AIModelGenerationSpan, EntityType } from '@mastra/core/observability';
|
|
2
2
|
import { SpanType } from '@mastra/core/observability';
|
|
3
|
+
import type { DeepCleanOptions } from './serialization.js';
|
|
3
4
|
/**
|
|
4
5
|
* Get the external parent span ID from CreateSpanOptions.
|
|
5
6
|
*
|
|
@@ -60,6 +61,8 @@ export declare abstract class BaseSpan<TType extends SpanType = any> implements
|
|
|
60
61
|
entityName?: string;
|
|
61
62
|
/** Parent span ID (for root spans that are children of external spans) */
|
|
62
63
|
protected parentSpanId?: string;
|
|
64
|
+
/** Deep clean options for serialization */
|
|
65
|
+
protected deepCleanOptions: DeepCleanOptions;
|
|
63
66
|
constructor(options: CreateSpanOptions<TType>, observabilityInstance: ObservabilityInstance);
|
|
64
67
|
/** End the span */
|
|
65
68
|
abstract end(options?: EndSpanOptions<TType>): void;
|
|
@@ -78,6 +81,8 @@ export declare abstract class BaseSpan<TType extends SpanType = any> implements
|
|
|
78
81
|
get isRootSpan(): boolean;
|
|
79
82
|
/** Returns `TRUE` if the span is a valid span (not a NO-OP Span) */
|
|
80
83
|
abstract get isValid(): boolean;
|
|
84
|
+
/** Get the closest parent span, optionally skipping internal spans */
|
|
85
|
+
getParentSpan(includeInternalSpans?: boolean): AnySpan | undefined;
|
|
81
86
|
/** Get the closest parent spanId that isn't an internal span */
|
|
82
87
|
getParentSpanId(includeInternalSpans?: boolean): string | undefined;
|
|
83
88
|
/** Find the closest parent span of a specific type by walking up the parent chain */
|
package/dist/spans/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/spans/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAiB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/spans/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/spans/default.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,qBAAa,WAAW,CAAC,KAAK,SAAS,QAAQ,CAAE,SAAQ,QAAQ,CAAC,KAAK,CAAC;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,qBAAqB,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/spans/default.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,qBAAa,WAAW,CAAC,KAAK,SAAS,QAAQ,CAAE,SAAQ,QAAQ,CAAC,KAAK,CAAC;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,qBAAqB,EAAE,qBAAqB;IA+C3F,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI;IAiB1C,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI;IAoC7C,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAoB/C,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;CAUhC"}
|
|
@@ -4,6 +4,26 @@
|
|
|
4
4
|
* These utilities prevent memory issues by enforcing strict limits on
|
|
5
5
|
* string lengths, array sizes, object depths, and total output size.
|
|
6
6
|
* They are designed to be used across all tracing/telemetry systems.
|
|
7
|
+
*
|
|
8
|
+
* ## Custom Span Serialization
|
|
9
|
+
*
|
|
10
|
+
* Classes can implement a `serializeForSpan()` method to provide a custom
|
|
11
|
+
* representation when serialized for tracing spans. This is useful for:
|
|
12
|
+
* - Excluding internal state and implementation details
|
|
13
|
+
* - Removing functions and circular references
|
|
14
|
+
* - Providing a clean, readable representation for observability
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* class MyClass {
|
|
19
|
+
* private internalState = new Map();
|
|
20
|
+
* public data: string[];
|
|
21
|
+
*
|
|
22
|
+
* serializeForSpan() {
|
|
23
|
+
* return { data: this.data };
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
7
27
|
*/
|
|
8
28
|
/**
|
|
9
29
|
* Default keys to strip from objects during deep cleaning.
|
|
@@ -18,6 +38,16 @@ export interface DeepCleanOptions {
|
|
|
18
38
|
maxObjectKeys: number;
|
|
19
39
|
}
|
|
20
40
|
export declare const DEFAULT_DEEP_CLEAN_OPTIONS: DeepCleanOptions;
|
|
41
|
+
/**
|
|
42
|
+
* Merge user-provided serialization options with defaults.
|
|
43
|
+
* Returns a complete DeepCleanOptions object.
|
|
44
|
+
*/
|
|
45
|
+
export declare function mergeSerializationOptions(userOptions?: {
|
|
46
|
+
maxStringLength?: number;
|
|
47
|
+
maxDepth?: number;
|
|
48
|
+
maxArrayLength?: number;
|
|
49
|
+
maxObjectKeys?: number;
|
|
50
|
+
}): DeepCleanOptions;
|
|
21
51
|
/**
|
|
22
52
|
* Hard-cap any string to prevent unbounded growth.
|
|
23
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/spans/serialization.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/spans/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,aAQhC,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,0BAA0B,EAAE,gBAMvC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,gBAAgB,CAWnB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMlE;AAgGD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,gBAA6C,GAAG,GAAG,CA2HjG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/observability",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0-alpha.0",
|
|
4
4
|
"description": "Core observability package for Mastra - includes tracing and scoring features",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,22 +24,22 @@
|
|
|
24
24
|
},
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@types/node": "22.
|
|
27
|
+
"@types/node": "22.19.7",
|
|
28
28
|
"@vitest/coverage-v8": "4.0.12",
|
|
29
29
|
"@vitest/ui": "4.0.12",
|
|
30
30
|
"eslint": "^9.37.0",
|
|
31
|
-
"tsup": "^8.5.
|
|
32
|
-
"typescript": "^5.
|
|
33
|
-
"vitest": "4.0.
|
|
31
|
+
"tsup": "^8.5.1",
|
|
32
|
+
"typescript": "^5.9.3",
|
|
33
|
+
"vitest": "4.0.16",
|
|
34
34
|
"zod": "^3.25.76",
|
|
35
|
-
"@internal/types-builder": "0.0.
|
|
36
|
-
"@internal/ai-sdk-
|
|
37
|
-
"@mastra/core": "1.
|
|
38
|
-
"@internal/ai-sdk-
|
|
39
|
-
"@internal/lint": "0.0.
|
|
35
|
+
"@internal/types-builder": "0.0.30",
|
|
36
|
+
"@internal/ai-sdk-v4": "0.0.2",
|
|
37
|
+
"@mastra/core": "1.1.0-alpha.0",
|
|
38
|
+
"@internal/ai-sdk-v5": "0.0.2",
|
|
39
|
+
"@internal/lint": "0.0.55"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@mastra/core": ">=1.
|
|
42
|
+
"@mastra/core": ">=1.1.0-0 <2.0.0-0"
|
|
43
43
|
},
|
|
44
44
|
"homepage": "https://mastra.ai",
|
|
45
45
|
"repository": {
|