@mastra/observability 1.4.0 → 1.5.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 +28 -0
- package/README.md +9 -9
- package/dist/bus/observability-bus.d.ts +19 -10
- package/dist/bus/observability-bus.d.ts.map +1 -1
- package/dist/config.d.ts +8 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/context/metrics.d.ts +15 -24
- package/dist/context/metrics.d.ts.map +1 -1
- package/dist/default.d.ts +16 -3
- package/dist/default.d.ts.map +1 -1
- package/dist/exporters/default.d.ts +39 -49
- package/dist/exporters/default.d.ts.map +1 -1
- package/dist/exporters/event-buffer.d.ts +63 -0
- package/dist/exporters/event-buffer.d.ts.map +1 -0
- package/dist/exporters/test.d.ts +5 -7
- package/dist/exporters/test.d.ts.map +1 -1
- package/dist/index.cjs +529 -655
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +529 -655
- package/dist/index.js.map +1 -1
- package/dist/instances/base.d.ts +2 -1
- package/dist/instances/base.d.ts.map +1 -1
- package/dist/metrics/auto-extract.d.ts +15 -31
- package/dist/metrics/auto-extract.d.ts.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @mastra/observability
|
|
2
2
|
|
|
3
|
+
## 1.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Updated exporters and event bus to use renamed observability types from `@mastra/core`. Added `EventBuffer` for batching non-tracing signals with configurable flush intervals. ([#14214](https://github.com/mastra-ai/mastra/pull/14214))
|
|
8
|
+
|
|
9
|
+
**Breaking changes:**
|
|
10
|
+
- `ObservabilityBus` now takes a config object in its constructor (`cardinalityFilter`, `autoExtractMetrics`); `setCardinalityFilter()` and `enableAutoExtractedMetrics()` removed
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [[`ea86967`](https://github.com/mastra-ai/mastra/commit/ea86967449426e0a3673253bd1c2c052a99d970d), [`db21c21`](https://github.com/mastra-ai/mastra/commit/db21c21a6ae5f33539262cc535342fa8757eb359), [`11f5dbe`](https://github.com/mastra-ai/mastra/commit/11f5dbe9a1e7ad8ef3b1ea34fb4a9fa3631d1587), [`6751354`](https://github.com/mastra-ai/mastra/commit/67513544d1a64be891d9de7624d40aadc895d56e), [`c958cd3`](https://github.com/mastra-ai/mastra/commit/c958cd36627c1eea122ec241b2b15492977a263a), [`86f2426`](https://github.com/mastra-ai/mastra/commit/86f242631d252a172d2f9f9a2ea0feb8647a76b0), [`950eb07`](https://github.com/mastra-ai/mastra/commit/950eb07b7e7354629630e218d49550fdd299c452)]:
|
|
15
|
+
- @mastra/core@1.13.0
|
|
16
|
+
|
|
17
|
+
## 1.5.0-alpha.0
|
|
18
|
+
|
|
19
|
+
### Minor Changes
|
|
20
|
+
|
|
21
|
+
- Updated exporters and event bus to use renamed observability types from `@mastra/core`. Added `EventBuffer` for batching non-tracing signals with configurable flush intervals. ([#14214](https://github.com/mastra-ai/mastra/pull/14214))
|
|
22
|
+
|
|
23
|
+
**Breaking changes:**
|
|
24
|
+
- `ObservabilityBus` now takes a config object in its constructor (`cardinalityFilter`, `autoExtractMetrics`); `setCardinalityFilter()` and `enableAutoExtractedMetrics()` removed
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- Updated dependencies [[`ea86967`](https://github.com/mastra-ai/mastra/commit/ea86967449426e0a3673253bd1c2c052a99d970d), [`db21c21`](https://github.com/mastra-ai/mastra/commit/db21c21a6ae5f33539262cc535342fa8757eb359), [`11f5dbe`](https://github.com/mastra-ai/mastra/commit/11f5dbe9a1e7ad8ef3b1ea34fb4a9fa3631d1587), [`6751354`](https://github.com/mastra-ai/mastra/commit/67513544d1a64be891d9de7624d40aadc895d56e), [`c958cd3`](https://github.com/mastra-ai/mastra/commit/c958cd36627c1eea122ec241b2b15492977a263a), [`86f2426`](https://github.com/mastra-ai/mastra/commit/86f242631d252a172d2f9f9a2ea0feb8647a76b0), [`950eb07`](https://github.com/mastra-ai/mastra/commit/950eb07b7e7354629630e218d49550fdd299c452)]:
|
|
29
|
+
- @mastra/core@1.13.0-alpha.0
|
|
30
|
+
|
|
3
31
|
## 1.4.0
|
|
4
32
|
|
|
5
33
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -50,15 +50,15 @@ Exporters register via `registerExporter()` and can optionally implement `onLogE
|
|
|
50
50
|
|
|
51
51
|
Metrics are automatically extracted from span lifecycle events by `AutoExtractedMetrics`:
|
|
52
52
|
|
|
53
|
-
- `
|
|
54
|
-
- `
|
|
55
|
-
- `
|
|
56
|
-
- `
|
|
57
|
-
- `
|
|
58
|
-
- `
|
|
59
|
-
- `
|
|
60
|
-
|
|
61
|
-
Auto-extracted metrics carry labels: `entity_type`, `entity_name`, `status
|
|
53
|
+
- `mastra_agent_duration_ms`
|
|
54
|
+
- `mastra_tool_duration_ms`
|
|
55
|
+
- `mastra_workflow_duration_ms`
|
|
56
|
+
- `mastra_model_duration_ms`
|
|
57
|
+
- `mastra_model_total_input_tokens` / `mastra_model_total_output_tokens`
|
|
58
|
+
- `mastra_model_input_text_tokens` / `mastra_model_input_cache_read_tokens` / `mastra_model_input_cache_write_tokens` / `mastra_model_input_audio_tokens` / `mastra_model_input_image_tokens`
|
|
59
|
+
- `mastra_model_output_text_tokens` / `mastra_model_output_reasoning_tokens` / `mastra_model_output_audio_tokens` / `mastra_model_output_image_tokens`
|
|
60
|
+
|
|
61
|
+
Auto-extracted metrics carry labels: `entity_type`, `entity_name`, `status`, plus `model` and `provider` on model generation spans.
|
|
62
62
|
|
|
63
63
|
### Structured logging
|
|
64
64
|
|
|
@@ -10,25 +10,34 @@
|
|
|
10
10
|
* events of that type are silently skipped for that handler.
|
|
11
11
|
*/
|
|
12
12
|
import type { ObservabilityExporter, ObservabilityBridge, ObservabilityEvent } from '@mastra/core/observability';
|
|
13
|
-
import
|
|
13
|
+
import { CardinalityFilter } from '../metrics/cardinality.js';
|
|
14
14
|
import { BaseObservabilityEventBus } from './base.js';
|
|
15
|
+
/** Configuration for the ObservabilityBus. */
|
|
16
|
+
export interface ObservabilityBusConfig {
|
|
17
|
+
/** Cardinality filter applied to all metric labels. When omitted, a default filter is used. */
|
|
18
|
+
cardinalityFilter?: CardinalityFilter;
|
|
19
|
+
/** Whether to auto-extract metrics from tracing spans (duration, token usage). Defaults to true. */
|
|
20
|
+
autoExtractMetrics?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Unified event bus for all observability signals (tracing, logs, metrics, scores, feedback).
|
|
24
|
+
* Routes events to registered exporters and an optional bridge, with support for
|
|
25
|
+
* auto-extracted metrics from tracing spans.
|
|
26
|
+
*/
|
|
15
27
|
export declare class ObservabilityBus extends BaseObservabilityEventBus<ObservabilityEvent> {
|
|
16
28
|
private exporters;
|
|
17
29
|
private bridge?;
|
|
18
30
|
private autoExtractor?;
|
|
31
|
+
private cardinalityFilter;
|
|
19
32
|
/** In-flight handler promises from routeToHandler. Self-cleaning via .finally(). */
|
|
20
33
|
private pendingHandlers;
|
|
21
|
-
constructor();
|
|
34
|
+
constructor(config?: ObservabilityBusConfig);
|
|
22
35
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* No-ops if auto-extraction is already enabled.
|
|
28
|
-
*
|
|
29
|
-
* @param cardinalityFilter - Optional filter applied to auto-extracted metric labels.
|
|
36
|
+
* Emit a metric event with validation and cardinality filtering.
|
|
37
|
+
* Non-finite or negative values are silently dropped.
|
|
38
|
+
* This is the single entry point for all metric emission (auto-extracted and user-defined).
|
|
30
39
|
*/
|
|
31
|
-
|
|
40
|
+
emitMetric(name: string, value: number, labels: Record<string, string>): void;
|
|
32
41
|
/**
|
|
33
42
|
* Register an exporter to receive routed events.
|
|
34
43
|
* Duplicate registrations (same instance) are silently ignored.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability-bus.d.ts","sourceRoot":"","sources":["../../src/bus/observability-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"observability-bus.d.ts","sourceRoot":"","sources":["../../src/bus/observability-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EAEnB,kBAAkB,EAGnB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAenD,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,oGAAoG;IACpG,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,yBAAyB,CAAC,kBAAkB,CAAC;IACjF,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,MAAM,CAAC,CAAsB;IACrC,OAAO,CAAC,aAAa,CAAC,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,oFAAoF;IACpF,OAAO,CAAC,eAAe,CAAiC;gBAE5C,MAAM,CAAC,EAAE,sBAAsB;IAQ3C;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAe7E;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAOvD;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO;IAS5D;;OAEG;IACH,YAAY,IAAI,SAAS,qBAAqB,EAAE;IAIhD;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAOjD;;;;OAIG;IACH,gBAAgB,IAAI,OAAO;IAQ3B;;OAEG;IACH,SAAS,IAAI,mBAAmB,GAAG,SAAS;IAI5C;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAyBrC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;;;;;;;OAWG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B,6EAA6E;IACvE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* including tracing configs, sampling strategies, and registry setup.
|
|
6
6
|
*/
|
|
7
7
|
import type { RequestContext } from '@mastra/core/di';
|
|
8
|
-
import type { ObservabilityInstance, ObservabilityExporter, ObservabilityBridge, SpanOutputProcessor, ConfigSelector, SerializationOptions } from '@mastra/core/observability';
|
|
8
|
+
import type { ObservabilityInstance, ObservabilityExporter, ObservabilityBridge, SpanOutputProcessor, ConfigSelector, SerializationOptions, CardinalityConfig } from '@mastra/core/observability';
|
|
9
9
|
import { z } from 'zod/v4';
|
|
10
10
|
/**
|
|
11
11
|
* Sampling strategy types
|
|
@@ -66,6 +66,12 @@ export interface ObservabilityInstanceConfig {
|
|
|
66
66
|
* Use these to customize truncation limits for large payloads.
|
|
67
67
|
*/
|
|
68
68
|
serializationOptions?: SerializationOptions;
|
|
69
|
+
/**
|
|
70
|
+
* Cardinality protection settings for metrics.
|
|
71
|
+
* Controls which labels are blocked and whether UUID-like values are filtered.
|
|
72
|
+
* Applied to all metrics (auto-extracted and user-defined).
|
|
73
|
+
*/
|
|
74
|
+
cardinality?: CardinalityConfig;
|
|
69
75
|
}
|
|
70
76
|
/**
|
|
71
77
|
* Complete Observability registry configuration
|
|
@@ -137,6 +143,7 @@ export declare const observabilityInstanceConfigSchema: z.ZodObject<{
|
|
|
137
143
|
maxArrayLength: z.ZodOptional<z.ZodNumber>;
|
|
138
144
|
maxObjectKeys: z.ZodOptional<z.ZodNumber>;
|
|
139
145
|
}, z.core.$strip>>;
|
|
146
|
+
cardinality: z.ZodOptional<z.ZodAny>;
|
|
140
147
|
}, z.core.$strip>;
|
|
141
148
|
/**
|
|
142
149
|
* Zod schema for config values in the configs map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAA;CAAE,CAAC;AAMhG;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,uBAAuB;IACvB,SAAS,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACpC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,oCAAoC;IACpC,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAC5F,yEAAyE;IACzE,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAMD;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;2BAejC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;kBAO1B,CAAC;AAEd;;;;GAIG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuB3C,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;iBAqBxC,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC;;;;;;iBAqE3C,CAAC"}
|
|
@@ -1,47 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MetricsContextImpl -
|
|
2
|
+
* MetricsContextImpl - User-facing metric emission API.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* All metrics are routed through ObservabilityBus.emitMetric() which handles
|
|
5
|
+
* validation, cardinality filtering, and event construction.
|
|
6
6
|
* Context labels are snapshotted at construction time.
|
|
7
7
|
*/
|
|
8
8
|
import type { MetricsContext, Counter, Gauge, Histogram } from '@mastra/core/observability';
|
|
9
9
|
import type { ObservabilityBus } from '../bus/index.js';
|
|
10
|
-
|
|
10
|
+
/** Configuration for creating a MetricsContextImpl. */
|
|
11
11
|
export interface MetricsContextConfig {
|
|
12
12
|
/** Base labels merged into every emitted metric (entity context, model, provider, serviceName, etc.) */
|
|
13
13
|
labels?: Record<string, string>;
|
|
14
14
|
/** Bus for event emission */
|
|
15
15
|
observabilityBus: ObservabilityBus;
|
|
16
|
-
/** Cardinality filter applied to all labels */
|
|
17
|
-
cardinalityFilter: CardinalityFilter;
|
|
18
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* User-facing metric emission API. All metrics are routed through
|
|
19
|
+
* ObservabilityBus.emitMetric() for validation and cardinality filtering.
|
|
20
|
+
*/
|
|
19
21
|
export declare class MetricsContextImpl implements MetricsContext {
|
|
20
|
-
private
|
|
22
|
+
private baseLabels;
|
|
23
|
+
private observabilityBus;
|
|
21
24
|
/**
|
|
22
25
|
* Create a metrics context. Base labels are defensively copied so
|
|
23
26
|
* mutations after construction do not affect emitted metrics.
|
|
24
27
|
*/
|
|
25
28
|
constructor(config: MetricsContextConfig);
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
* @param name - Metric name (e.g. `mastra_custom_requests_total`).
|
|
30
|
-
*/
|
|
29
|
+
/** Emit a metric observation. */
|
|
30
|
+
emit(name: string, value: number, labels?: Record<string, string>): void;
|
|
31
|
+
/** @deprecated Use `emit()` instead. */
|
|
31
32
|
counter(name: string): Counter;
|
|
32
|
-
/**
|
|
33
|
-
* Create a gauge instrument. Call `.set(value)` to record a point-in-time value.
|
|
34
|
-
*
|
|
35
|
-
* @param name - Metric name (e.g. `mastra_queue_depth`).
|
|
36
|
-
*/
|
|
33
|
+
/** @deprecated Use `emit()` instead. */
|
|
37
34
|
gauge(name: string): Gauge;
|
|
38
|
-
/**
|
|
39
|
-
* Create a histogram instrument. Call `.record(value)` to observe a measurement.
|
|
40
|
-
*
|
|
41
|
-
* @param name - Metric name (e.g. `mastra_request_duration_ms`).
|
|
42
|
-
*/
|
|
35
|
+
/** @deprecated Use `emit()` instead. */
|
|
43
36
|
histogram(name: string): Histogram;
|
|
44
|
-
/** Merge base + additional labels, apply cardinality filtering, and emit a MetricEvent. Non-finite values are silently dropped. */
|
|
45
|
-
private emit;
|
|
46
37
|
}
|
|
47
38
|
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/context/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/context/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAE3C;;;OAGG;gBACS,MAAM,EAAE,oBAAoB;IAKxC,iCAAiC;IACjC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAKxE,wCAAwC;IACxC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ9B,wCAAwC;IACxC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAQ1B,wCAAwC;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;CAOnC"}
|
package/dist/default.d.ts
CHANGED
|
@@ -3,27 +3,40 @@ import { MastraBase } from '@mastra/core/base';
|
|
|
3
3
|
import type { IMastraLogger } from '@mastra/core/logger';
|
|
4
4
|
import type { ConfigSelector, ConfigSelectorOptions, ObservabilityEntrypoint, ObservabilityInstance } from '@mastra/core/observability';
|
|
5
5
|
import type { ObservabilityRegistryConfig } from './config.js';
|
|
6
|
+
/**
|
|
7
|
+
* Top-level observability entrypoint. Manages a registry of ObservabilityInstance
|
|
8
|
+
* configurations and provides instance selection via config selectors.
|
|
9
|
+
*/
|
|
6
10
|
export declare class Observability extends MastraBase implements ObservabilityEntrypoint {
|
|
7
11
|
#private;
|
|
8
12
|
constructor(config: ObservabilityRegistryConfig);
|
|
13
|
+
/** Initialize all exporter instances with the Mastra context (storage, config, etc.). */
|
|
9
14
|
setMastraContext(options: {
|
|
10
15
|
mastra: Mastra;
|
|
11
16
|
}): void;
|
|
17
|
+
/** Propagate a logger to this instance and all registered observability instances. */
|
|
12
18
|
setLogger(options: {
|
|
13
19
|
logger: IMastraLogger;
|
|
14
20
|
}): void;
|
|
21
|
+
/** Get the observability instance chosen by the config selector for the given options. */
|
|
15
22
|
getSelectedInstance(options: ConfigSelectorOptions): ObservabilityInstance | undefined;
|
|
16
|
-
/**
|
|
17
|
-
* Registry management methods
|
|
18
|
-
*/
|
|
23
|
+
/** Register a named observability instance, optionally marking it as default. */
|
|
19
24
|
registerInstance(name: string, instance: ObservabilityInstance, isDefault?: boolean): void;
|
|
25
|
+
/** Get a registered instance by name. */
|
|
20
26
|
getInstance(name: string): ObservabilityInstance | undefined;
|
|
27
|
+
/** Get the default observability instance. */
|
|
21
28
|
getDefaultInstance(): ObservabilityInstance | undefined;
|
|
29
|
+
/** List all registered observability instances. */
|
|
22
30
|
listInstances(): ReadonlyMap<string, ObservabilityInstance>;
|
|
31
|
+
/** Unregister an instance by name. Returns true if it was found and removed. */
|
|
23
32
|
unregisterInstance(name: string): boolean;
|
|
33
|
+
/** Check whether an instance with the given name is registered. */
|
|
24
34
|
hasInstance(name: string): boolean;
|
|
35
|
+
/** Set the config selector used to choose an instance at runtime. */
|
|
25
36
|
setConfigSelector(selector: ConfigSelector): void;
|
|
37
|
+
/** Remove all registered instances and reset the registry. */
|
|
26
38
|
clear(): void;
|
|
39
|
+
/** Shut down all registered instances, flushing any pending data. */
|
|
27
40
|
shutdown(): Promise<void>;
|
|
28
41
|
}
|
|
29
42
|
//# sourceMappingURL=default.d.ts.map
|
package/dist/default.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../src/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAA+B,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAezF,qBAAa,aAAc,SAAQ,UAAW,YAAW,uBAAuB;;gBAGlE,MAAM,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../src/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAA+B,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAezF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,UAAW,YAAW,uBAAuB;;gBAGlE,MAAM,EAAE,2BAA2B;IAkG/C,yFAAyF;IACzF,gBAAgB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuBnD,sFAAsF;IACtF,SAAS,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,aAAa,CAAA;KAAE,GAAG,IAAI;IAOnD,0FAA0F;IAC1F,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,SAAS;IAItF,iFAAiF;IACjF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,UAAQ,GAAG,IAAI;IAIxF,yCAAyC;IACzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI5D,8CAA8C;IAC9C,kBAAkB,IAAI,qBAAqB,GAAG,SAAS;IAIvD,mDAAmD;IACnD,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAI3D,gFAAgF;IAChF,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzC,mEAAmE;IACnE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,qEAAqE;IACrE,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIjD,8DAA8D;IAC9D,KAAK,IAAI,IAAI;IAIb,qEAAqE;IAC/D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { TracingEvent, InitExporterOptions } from '@mastra/core/observability';
|
|
1
|
+
import type { TracingEvent, InitExporterOptions, MetricEvent, LogEvent, ScoreEvent, FeedbackEvent } from '@mastra/core/observability';
|
|
2
2
|
import type { TracingStorageStrategy } from '@mastra/core/storage';
|
|
3
3
|
import type { BaseExporterConfig } from './base.js';
|
|
4
4
|
import { BaseExporter } from './base.js';
|
|
5
|
+
/** Configuration for the DefaultExporter's batching, retry, and strategy behavior. */
|
|
5
6
|
interface DefaultExporterConfig extends BaseExporterConfig {
|
|
6
7
|
maxBatchSize?: number;
|
|
7
8
|
maxBufferSize?: number;
|
|
@@ -10,79 +11,52 @@ interface DefaultExporterConfig extends BaseExporterConfig {
|
|
|
10
11
|
retryDelayMs?: number;
|
|
11
12
|
strategy?: TracingStorageStrategy | 'auto';
|
|
12
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Default storage-backed exporter. Buffers observability events and flushes them
|
|
16
|
+
* in batches to the configured ObservabilityStorage backend with retry support.
|
|
17
|
+
*/
|
|
13
18
|
export declare class DefaultExporter extends BaseExporter {
|
|
14
19
|
#private;
|
|
15
20
|
name: string;
|
|
16
|
-
private buffer;
|
|
17
|
-
private allCreatedSpans;
|
|
18
21
|
constructor(config?: DefaultExporterConfig);
|
|
19
22
|
/**
|
|
20
23
|
* Initialize the exporter (called after all dependencies are ready)
|
|
21
24
|
*/
|
|
22
25
|
init(options: InitExporterOptions): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* Initialize the resolved strategy once observability store is available
|
|
25
|
-
*/
|
|
26
|
-
private initializeStrategy;
|
|
27
|
-
/**
|
|
28
|
-
* Builds a unique span key for tracking
|
|
29
|
-
*/
|
|
30
|
-
private buildSpanKey;
|
|
31
|
-
/**
|
|
32
|
-
* Gets the next sequence number for a span
|
|
33
|
-
*/
|
|
34
|
-
private getNextSequence;
|
|
35
|
-
/**
|
|
36
|
-
* Handles out-of-order span updates by logging and skipping
|
|
37
|
-
*/
|
|
38
|
-
private handleOutOfOrderUpdate;
|
|
39
|
-
/**
|
|
40
|
-
* Adds an event to the appropriate buffer based on strategy
|
|
41
|
-
*/
|
|
42
|
-
private addToBuffer;
|
|
43
26
|
/**
|
|
44
27
|
* Checks if buffer should be flushed based on size or time triggers
|
|
45
28
|
*/
|
|
46
29
|
private shouldFlush;
|
|
47
|
-
/**
|
|
48
|
-
* Resets the buffer after successful flush
|
|
49
|
-
*/
|
|
50
|
-
private resetBuffer;
|
|
51
30
|
/**
|
|
52
31
|
* Schedules a flush using setTimeout
|
|
53
32
|
*/
|
|
54
33
|
private scheduleFlush;
|
|
55
34
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
|
|
59
|
-
private serializeAttributes;
|
|
60
|
-
private buildCreateRecord;
|
|
61
|
-
private buildUpdateRecord;
|
|
62
|
-
/**
|
|
63
|
-
* Handles realtime strategy - processes each event immediately
|
|
64
|
-
*/
|
|
65
|
-
private handleRealtimeEvent;
|
|
66
|
-
/**
|
|
67
|
-
* Handles batch-with-updates strategy - buffers events and processes in batches
|
|
35
|
+
* Checks flush triggers and schedules/triggers flush as needed.
|
|
36
|
+
* Called after adding any event to the buffer.
|
|
37
|
+
* Returns the flush promise when flushing so callers can await it.
|
|
68
38
|
*/
|
|
69
|
-
private
|
|
39
|
+
private handleBatchedFlush;
|
|
70
40
|
/**
|
|
71
|
-
*
|
|
41
|
+
* Flush a batch of create events for a single signal type.
|
|
42
|
+
* On "not implemented" errors, disables the signal for future flushes.
|
|
43
|
+
* On other errors, re-adds events to the buffer for retry.
|
|
72
44
|
*/
|
|
73
|
-
private
|
|
45
|
+
private flushCreates;
|
|
74
46
|
/**
|
|
75
|
-
*
|
|
47
|
+
* Flush span update/end events, deferring any whose span hasn't been created yet.
|
|
48
|
+
* When `isEnd` is true, successfully flushed spans are removed from tracking.
|
|
76
49
|
*/
|
|
77
|
-
private
|
|
50
|
+
private flushSpanUpdates;
|
|
78
51
|
/**
|
|
79
|
-
* Flushes the current buffer to storage
|
|
52
|
+
* Flushes the current buffer to storage.
|
|
53
|
+
*
|
|
54
|
+
* Creates are flushed first, then their span keys are added to allCreatedSpans.
|
|
55
|
+
* Updates are checked against allCreatedSpans — those whose span hasn't been
|
|
56
|
+
* created yet are re-inserted into the live buffer for the next flush.
|
|
57
|
+
* Completed spans (SPAN_ENDED) are cleaned up from allCreatedSpans after success.
|
|
80
58
|
*/
|
|
81
59
|
private flushBuffer;
|
|
82
|
-
/**
|
|
83
|
-
* Attempts to flush with exponential backoff retry logic
|
|
84
|
-
*/
|
|
85
|
-
private flushWithRetries;
|
|
86
60
|
_exportTracingEvent(event: TracingEvent): Promise<void>;
|
|
87
61
|
/**
|
|
88
62
|
* Resolves when an ongoing init call is finished
|
|
@@ -90,6 +64,22 @@ export declare class DefaultExporter extends BaseExporter {
|
|
|
90
64
|
* @returns
|
|
91
65
|
*/
|
|
92
66
|
private waitForInit;
|
|
67
|
+
/**
|
|
68
|
+
* Handle metric events — buffer for batch flush.
|
|
69
|
+
*/
|
|
70
|
+
onMetricEvent(event: MetricEvent): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Handle log events — buffer for batch flush.
|
|
73
|
+
*/
|
|
74
|
+
onLogEvent(event: LogEvent): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Handle score events — buffer for batch flush.
|
|
77
|
+
*/
|
|
78
|
+
onScoreEvent(event: ScoreEvent): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Handle feedback events — buffer for batch flush.
|
|
81
|
+
*/
|
|
82
|
+
onFeedbackEvent(event: FeedbackEvent): Promise<void>;
|
|
93
83
|
/**
|
|
94
84
|
* Force flush any buffered spans without shutting down the exporter.
|
|
95
85
|
* This is useful in serverless environments where you need to ensure spans
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/exporters/default.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/exporters/default.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,aAAa,EACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAwB,sBAAsB,EAAwB,MAAM,sBAAsB,CAAC;AAS/G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,sFAAsF;AACtF,UAAU,qBAAsB,SAAQ,kBAAkB;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,QAAQ,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC;CAC5C;AA6BD;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,YAAY;;IAC/C,IAAI,SAA2C;gBAenC,MAAM,GAAE,qBAA0B;IAiB9C;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDvD;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;;;OAIG;YACW,kBAAkB;IAQhC;;;;OAIG;YACW,YAAY;IAsB1B;;;OAGG;YACW,gBAAgB;IA4C9B;;;;;;;OAOG;YACW,WAAW;IA6GnB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7D;;;;OAIG;YACW,WAAW;IAOzB;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAYhC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { AnyExportedSpan, ObservabilityEvent } from '@mastra/core/observability';
|
|
2
|
+
import type { CreateSpanRecord, ObservabilityStorageStrategy, UpdateSpanRecord } from '@mastra/core/storage';
|
|
3
|
+
/** Mixin interface that tracks how many times a buffered event has been retried. */
|
|
4
|
+
export interface RetryCount {
|
|
5
|
+
retryCount: number;
|
|
6
|
+
}
|
|
7
|
+
/** A partial span update record keyed by trace and span ID. */
|
|
8
|
+
export interface UpdateSpanPartial {
|
|
9
|
+
traceId: string;
|
|
10
|
+
spanId: string;
|
|
11
|
+
updates: Partial<UpdateSpanRecord>;
|
|
12
|
+
}
|
|
13
|
+
/** An observability event augmented with retry tracking for the buffer. */
|
|
14
|
+
export type BufferedEvent = ObservabilityEvent & RetryCount;
|
|
15
|
+
/**
|
|
16
|
+
* Buffers observability events (creates and updates) for batch flushing.
|
|
17
|
+
* Handles strategy-aware routing of tracing events and tracks created spans
|
|
18
|
+
* so updates can be deferred until their parent create has been flushed.
|
|
19
|
+
*/
|
|
20
|
+
export declare class EventBuffer {
|
|
21
|
+
#private;
|
|
22
|
+
constructor(args: {
|
|
23
|
+
maxRetries: number;
|
|
24
|
+
});
|
|
25
|
+
/** Initialize with a storage strategy and replay any pre-init events. */
|
|
26
|
+
init(args: {
|
|
27
|
+
strategy: ObservabilityStorageStrategy;
|
|
28
|
+
}): void;
|
|
29
|
+
/** Clear the create and update buffers and reset the event timer. */
|
|
30
|
+
reset(): void;
|
|
31
|
+
private setFirstEventTime;
|
|
32
|
+
private pushCreate;
|
|
33
|
+
private pushUpdate;
|
|
34
|
+
/** Route an event to the create or update buffer based on its type and the storage strategy. */
|
|
35
|
+
addEvent(event: ObservabilityEvent): void;
|
|
36
|
+
/** Re-add failed create events to the buffer, dropping those that exceed max retries. */
|
|
37
|
+
reAddCreates(events: BufferedEvent[]): void;
|
|
38
|
+
/** Re-add failed update events to the buffer, dropping those that exceed max retries. */
|
|
39
|
+
reAddUpdates(events: BufferedEvent[]): void;
|
|
40
|
+
/** Snapshot of buffered create events. */
|
|
41
|
+
get creates(): BufferedEvent[];
|
|
42
|
+
/** Snapshot of buffered update events. */
|
|
43
|
+
get updates(): BufferedEvent[];
|
|
44
|
+
/** Total number of buffered events (creates + updates). */
|
|
45
|
+
get totalSize(): number;
|
|
46
|
+
/** Milliseconds since the first event was buffered in the current batch. */
|
|
47
|
+
get elapsed(): number;
|
|
48
|
+
/**
|
|
49
|
+
* Builds a unique span key for tracking
|
|
50
|
+
*/
|
|
51
|
+
private buildSpanKey;
|
|
52
|
+
/** Track successfully created spans so updates can verify span existence before flushing. */
|
|
53
|
+
addCreatedSpans(args: {
|
|
54
|
+
records: CreateSpanRecord[];
|
|
55
|
+
}): void;
|
|
56
|
+
/** Check whether a span's create record has already been flushed to storage. */
|
|
57
|
+
spanExists(span: AnyExportedSpan): boolean;
|
|
58
|
+
/** Remove completed spans from tracking after their SPAN_ENDED updates are flushed. */
|
|
59
|
+
endFinishedSpans(args: {
|
|
60
|
+
records: UpdateSpanPartial[];
|
|
61
|
+
}): void;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=event-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-buffer.d.ts","sourceRoot":"","sources":["../../src/exporters/event-buffer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7G,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACpC;AAED,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,UAAU,CAAC;AAE5D;;;;GAIG;AACH,qBAAa,WAAW;;gBASV,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAIxC,yEAAyE;IACzE,IAAI,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,4BAA4B,CAAA;KAAE,GAAG,IAAI;IAU5D,qEAAqE;IACrE,KAAK;IAML,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,UAAU;IAKlB,gGAAgG;IAChG,QAAQ,CAAC,KAAK,EAAE,kBAAkB;IAmDlC,yFAAyF;IACzF,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE;IAepC,yFAAyF;IACzF,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE;IAepC,0CAA0C;IAC1C,IAAI,OAAO,IAAI,aAAa,EAAE,CAE7B;IAED,0CAA0C;IAC1C,IAAI,OAAO,IAAI,aAAa,EAAE,CAE7B;IAED,2DAA2D;IAC3D,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,4EAA4E;IAC5E,IAAI,OAAO,IAAI,MAAM,CAKpB;IAED;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB,6FAA6F;IAC7F,eAAe,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,gBAAgB,EAAE,CAAA;KAAE,GAAG,IAAI;IAc5D,gFAAgF;IAChF,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO;IAI1C,uFAAuF;IACvF,gBAAgB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,iBAAiB,EAAE,CAAA;KAAE,GAAG,IAAI;CAS/D"}
|
package/dist/exporters/test.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - Statistics and analytics on all collected signals
|
|
11
11
|
* - Internal metrics collection with summary on flush()
|
|
12
12
|
*/
|
|
13
|
-
import type { TracingEvent, TracingEventType, AnyExportedSpan, ExportedSpan, SpanType, LogEvent, MetricEvent, ScoreEvent, FeedbackEvent, ExportedLog, ExportedMetric, ExportedScore, ExportedFeedback, LogLevel
|
|
13
|
+
import type { TracingEvent, TracingEventType, AnyExportedSpan, ExportedSpan, SpanType, LogEvent, MetricEvent, ScoreEvent, FeedbackEvent, ExportedLog, ExportedMetric, ExportedScore, ExportedFeedback, LogLevel } from '@mastra/core/observability';
|
|
14
14
|
import { BaseExporter } from './base.js';
|
|
15
15
|
import type { BaseExporterConfig } from './base.js';
|
|
16
16
|
/**
|
|
@@ -56,8 +56,6 @@ export interface TestExporterStats {
|
|
|
56
56
|
logsByLevel: Record<string, number>;
|
|
57
57
|
/** Total number of metric events collected */
|
|
58
58
|
totalMetrics: number;
|
|
59
|
-
/** Breakdown of metrics by type */
|
|
60
|
-
metricsByType: Record<string, number>;
|
|
61
59
|
/** Breakdown of metrics by name */
|
|
62
60
|
metricsByName: Record<string, number>;
|
|
63
61
|
/** Total number of score events collected */
|
|
@@ -340,9 +338,9 @@ export declare class TestExporter extends BaseExporter {
|
|
|
340
338
|
*/
|
|
341
339
|
getMetricsByName(name: string): ExportedMetric[];
|
|
342
340
|
/**
|
|
343
|
-
*
|
|
341
|
+
* @deprecated MetricType is no longer stored. Use getMetricsByName() instead.
|
|
344
342
|
*/
|
|
345
|
-
getMetricsByType(
|
|
343
|
+
getMetricsByType(_metricType: string): ExportedMetric[];
|
|
346
344
|
/**
|
|
347
345
|
* Get all collected score events
|
|
348
346
|
*/
|
|
@@ -352,9 +350,9 @@ export declare class TestExporter extends BaseExporter {
|
|
|
352
350
|
*/
|
|
353
351
|
getAllScores(): ExportedScore[];
|
|
354
352
|
/**
|
|
355
|
-
* Get scores filtered by scorer
|
|
353
|
+
* Get scores filtered by scorer id
|
|
356
354
|
*/
|
|
357
|
-
getScoresByScorer(
|
|
355
|
+
getScoresByScorer(scorerId: string): ExportedScore[];
|
|
358
356
|
/**
|
|
359
357
|
* Get scores for a specific trace
|
|
360
358
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/exporters/test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwBH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,QAAQ,
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/exporters/test.ts"],"names":[],"mappings":"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"}
|