Configuration
ObservabilityRegistryConfigDirect link to observabilityregistryconfig
interface ObservabilityRegistryConfig {
default?: { enabled?: boolean }
configs?: Record<string, Omit<ObservabilityInstanceConfig, 'name'> | ObservabilityInstance>
configSelector?: ConfigSelector
}
default:
{ enabled?: boolean }
Enable default configuration with DefaultExporter and CloudExporter
configs:
Record<string, Omit<ObservabilityInstanceConfig, 'name'> | ObservabilityInstance>
Named observability instance configurations or pre-instantiated instances
configSelector:
ConfigSelector
Runtime configuration selector function
ObservabilityInstanceConfigDirect link to observabilityinstanceconfig
interface ObservabilityInstanceConfig {
name: string
serviceName: string
sampling?: SamplingStrategy
exporters?: ObservabilityExporter[]
spanOutputProcessors?: SpanOutputProcessor[]
includeInternalSpans?: boolean
requestContextKeys?: string[]
serializationOptions?: SerializationOptions
}
name:
string
Configuration identifier
serviceName:
string
Service name in traces
sampling:
SamplingStrategy
Sampling configuration (defaults to ALWAYS)
exporters:
ObservabilityExporter[]
Trace data exporters
spanOutputProcessors:
SpanOutputProcessor[]
Span output processors
includeInternalSpans:
boolean
Include spans internal to Mastra operations
requestContextKeys:
string[]
RequestContext keys to extract as metadata (supports dot notation)
serializationOptions:
SerializationOptions
Options for controlling serialization of span data (input/output/attributes)
SerializationOptions
maxStringLength?:
number
Maximum length for string values (default: 1024)
maxDepth?:
number
Maximum depth for nested objects (default: 6)
maxArrayLength?:
number
Maximum number of items in arrays (default: 50)
maxObjectKeys?:
number
Maximum number of keys in objects (default: 50)
SamplingStrategyDirect link to samplingstrategy
type SamplingStrategy =
| { type: 'always' }
| { type: 'never' }
| { type: 'ratio'; probability: number }
| { type: 'custom'; sampler: (options?: TracingOptions) => boolean }
ConfigSelectorDirect link to configselector
type ConfigSelector = (
options: ConfigSelectorOptions,
availableConfigs: ReadonlyMap<string, ObservabilityInstance>,
) => string | undefined
ConfigSelectorOptionsDirect link to configselectoroptions
interface ConfigSelectorOptions {
requestContext?: RequestContext
}
Registry methodsDirect link to Registry methods
The Observability class provides methods for managing observability instances:
registerInstanceDirect link to registerinstance
registerInstance(
name: string,
instance: ObservabilityInstance,
isDefault?: boolean
): void;
Registers an observability instance in the registry.
getInstanceDirect link to getinstance
getInstance(name: string): ObservabilityInstance | undefined;
Retrieves an observability instance by name.
getDefaultInstanceDirect link to getdefaultinstance
getDefaultInstance(): ObservabilityInstance | undefined;
Returns the default observability instance.
getSelectedInstanceDirect link to getselectedinstance
getSelectedInstance(
options: ConfigSelectorOptions
): ObservabilityInstance | undefined;
Returns the observability instance selected by the config selector or default.
listInstancesDirect link to listinstances
listInstances(): ReadonlyMap<string, ObservabilityInstance>;
Returns all registered observability instances.
hasInstanceDirect link to hasinstance
hasInstance(name: string): boolean;
Checks if an observability instance exists.
setConfigSelectorDirect link to setconfigselector
setConfigSelector(selector: ConfigSelector): void;
Sets the config selector function.
unregisterInstanceDirect link to unregisterinstance
unregisterInstance(name: string): boolean;
Removes an observability instance from the registry.
clearDirect link to clear
clear(): void;
Clears all instances without shutdown.
shutdownDirect link to shutdown
async shutdown(): Promise<void>;
Shuts down all observability instances and clears the registry.
See alsoDirect link to See also
DocumentationDirect link to Documentation
- Tracing Overview - Concepts and usage guide
- Sampling Strategies - Sampling configuration details
- Multi-Config Setup - Using multiple configurations
ReferenceDirect link to Reference
- Tracing Classes - Core tracing classes
- Interfaces - Type definitions
- Spans Reference - Span lifecycle
ExportersDirect link to Exporters
- DefaultExporter - Storage configuration
- CloudExporter - Cloud setup
- Braintrust - Braintrust integration
- Langfuse - Langfuse integration
- LangSmith - LangSmith integration