Observability Instances
DefaultObservabilityInstance
Default implementation of the ObservabilityInstance interface.
Constructor
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
getConfig(): Readonly<Required<ObservabilityInstanceConfig>>
Returns the current observability configuration.
getExporters
getExporters(): readonly ObservabilityExporter[]
Returns all configured exporters.
getSpanOutputProcessors
getSpanOutputProcessors(): readonly SpanOutputProcessor[]
Returns all configured span output processors.
getLogger
getLogger(): IMastraLogger
Returns the logger instance for exporters and other components.
startSpan
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
async shutdown(): Promise<void>
Shuts down all exporters and processors, cleaning up resources.
Custom Implementation
To create a custom ObservabilityInstance implementation, extend BaseObservabilityInstance:
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 - Concepts and usage guide
- Configuration Reference - Configuration options
- Interfaces Reference - Type definitions
- Spans Reference - Span lifecycle and methods
Examples
- Basic Tracing - Getting started example
Exporters
- DefaultExporter - Storage persistence
- CloudExporter - Mastra Cloud integration
- ConsoleExporter - Debug output