# Configuration ## ObservabilityRegistryConfig ```typescript interface ObservabilityRegistryConfig { default?: { enabled?: boolean }; configs?: Record | ObservabilityInstance>; configSelector?: ConfigSelector; } ``` ## ObservabilityInstanceConfig ```typescript interface ObservabilityInstanceConfig { name: string; serviceName: string; sampling?: SamplingStrategy; exporters?: ObservabilityExporter[]; spanOutputProcessors?: SpanOutputProcessor[]; includeInternalSpans?: boolean; requestContextKeys?: string[]; serializationOptions?: SerializationOptions; } ``` ## SerializationOptions Options for controlling how span data is serialized before export. Use these to customize truncation limits for large payloads. ```typescript interface SerializationOptions { maxStringLength?: number; maxDepth?: number; maxArrayLength?: number; maxObjectKeys?: number; } ``` ## SamplingStrategy ```typescript type SamplingStrategy = | { type: "always" } | { type: "never" } | { type: "ratio"; probability: number } | { type: "custom"; sampler: (options?: TracingOptions) => boolean }; ``` ## ConfigSelector ```typescript type ConfigSelector = ( options: ConfigSelectorOptions, availableConfigs: ReadonlyMap, ) => string | undefined; ``` ## ConfigSelectorOptions ```typescript interface ConfigSelectorOptions { requestContext?: RequestContext; } ``` # Registry Methods The Observability class provides methods for managing observability instances: ## registerInstance ```typescript registerInstance( name: string, instance: ObservabilityInstance, isDefault?: boolean ): void; ``` Registers an observability instance in the registry. ## getInstance ```typescript getInstance(name: string): ObservabilityInstance | undefined; ``` Retrieves an observability instance by name. ## getDefaultInstance ```typescript getDefaultInstance(): ObservabilityInstance | undefined; ``` Returns the default observability instance. ## getSelectedInstance ```typescript getSelectedInstance( options: ConfigSelectorOptions ): ObservabilityInstance | undefined; ``` Returns the observability instance selected by the config selector or default. ## listInstances ```typescript listInstances(): ReadonlyMap; ``` Returns all registered observability instances. ## hasInstance ```typescript hasInstance(name: string): boolean; ``` Checks if an observability instance exists. ## setConfigSelector ```typescript setConfigSelector(selector: ConfigSelector): void; ``` Sets the config selector function. ## unregisterInstance ```typescript unregisterInstance(name: string): boolean; ``` Removes an observability instance from the registry. ## clear ```typescript clear(): void; ``` Clears all instances without shutdown. ## shutdown ```typescript async shutdown(): Promise; ``` Shuts down all observability instances and clears the registry. ## See Also ### Documentation - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview/llms.txt) - Concepts and usage guide - [Sampling Strategies](https://mastra.ai/docs/observability/tracing/overview/llms.txt) - Sampling configuration details - [Multi-Config Setup](https://mastra.ai/docs/observability/tracing/overview/llms.txt) - Using multiple configurations ### Reference - [Tracing Classes](https://mastra.ai/reference/observability/tracing/instances/llms.txt) - Core tracing classes - [Interfaces](https://mastra.ai/reference/observability/tracing/interfaces/llms.txt) - Type definitions - [Spans Reference](https://mastra.ai/reference/observability/tracing/spans/llms.txt) - Span lifecycle ### Exporters - [DefaultExporter](https://mastra.ai/reference/observability/tracing/exporters/default-exporter/llms.txt) - Storage configuration - [CloudExporter](https://mastra.ai/reference/observability/tracing/exporters/cloud-exporter/llms.txt) - Cloud setup - [Braintrust](https://mastra.ai/reference/observability/tracing/exporters/braintrust/llms.txt) - Braintrust integration - [Langfuse](https://mastra.ai/reference/observability/tracing/exporters/langfuse/llms.txt) - Langfuse integration - [LangSmith](https://mastra.ai/reference/observability/tracing/exporters/langsmith/llms.txt) - LangSmith integration