@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
107 lines (70 loc) • 2.78 kB
Markdown
# Observability Instances
## `DefaultObservabilityInstance`
Default implementation of the ObservabilityInstance interface.
### Constructor
```typescript
new DefaultObservabilityInstance(config: ObservabilityInstanceConfig)
```
Creates a new DefaultObservabilityInstance with the specified configuration.
### Properties
Inherits all properties and methods from BaseObservabilityInstance.
## `BaseObservabilityInstance`
Base class for custom ObservabilityInstance implementations.
### Methods
#### `getConfig`
```typescript
getConfig(): Readonly<Required<ObservabilityInstanceConfig>>
```
Returns the current observability configuration.
#### `getExporters`
```typescript
getExporters(): readonly ObservabilityExporter[]
```
Returns all configured exporters.
#### `getSpanOutputProcessors`
```typescript
getSpanOutputProcessors(): readonly SpanOutputProcessor[]
```
Returns all configured span output processors.
#### `getLogger`
```typescript
getLogger(): IMastraLogger
```
Returns the logger instance for exporters and other components.
#### `startSpan`
```typescript
startSpan<TType extends SpanType>(
options: StartSpanOptions<TType>
): Span<TType>
```
Start a new span of a specific SpanType. Creates the root span of a trace if no parent is provided.
#### shutdown
```typescript
async shutdown(): Promise<void>
```
Shuts down all exporters and processors, cleaning up resources.
## Custom implementation
To create a custom ObservabilityInstance implementation, extend BaseObservabilityInstance:
```typescript
class CustomObservabilityInstance extends BaseObservabilityInstance {
constructor(config: ObservabilityInstanceConfig) {
super(config)
// Custom initialization
}
// Override methods as needed
startSpan<TType extends SpanType>(options: StartSpanOptions<TType>): Span<TType> {
// Custom span creation logic
return super.startSpan(options)
}
}
```
## See also
### Documentation
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Concepts and usage guide
- [Configuration Reference](https://mastra.ai/reference/observability/tracing/configuration): Configuration options
- [Interfaces Reference](https://mastra.ai/reference/observability/tracing/interfaces): Type definitions
- [Spans Reference](https://mastra.ai/reference/observability/tracing/spans): Span lifecycle and methods
### Exporters
- [MastraStorageExporter](https://mastra.ai/reference/observability/tracing/exporters/mastra-storage-exporter): Storage persistence
- [MastraPlatformExporter](https://mastra.ai/reference/observability/tracing/exporters/mastra-platform-exporter): Mastra platform integration
- [ConsoleExporter](https://mastra.ai/reference/observability/tracing/exporters/console-exporter): Debug output