> Discover all available pages from the documentation index: https://mastra.ai/llms.txt # 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> ``` 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( options: StartSpanOptions ): Span ``` 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 ``` 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(options: StartSpanOptions): Span { // 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