Skip to main content

Configuration

ObservabilityRegistryConfig
Direct 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

ObservabilityInstanceConfig
Direct 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)

SamplingStrategy
Direct link to samplingstrategy

type SamplingStrategy =
| { type: 'always' }
| { type: 'never' }
| { type: 'ratio'; probability: number }
| { type: 'custom'; sampler: (options?: TracingOptions) => boolean }

ConfigSelector
Direct link to configselector

type ConfigSelector = (
options: ConfigSelectorOptions,
availableConfigs: ReadonlyMap<string, ObservabilityInstance>,
) => string | undefined

ConfigSelectorOptions
Direct link to configselectoroptions

interface ConfigSelectorOptions {
requestContext?: RequestContext
}

Registry methods
Direct link to Registry methods

The Observability class provides methods for managing observability instances:

registerInstance
Direct link to registerinstance

registerInstance(
name: string,
instance: ObservabilityInstance,
isDefault?: boolean
): void;

Registers an observability instance in the registry.

getInstance
Direct link to getinstance

getInstance(name: string): ObservabilityInstance | undefined;

Retrieves an observability instance by name.

getDefaultInstance
Direct link to getdefaultinstance

getDefaultInstance(): ObservabilityInstance | undefined;

Returns the default observability instance.

getSelectedInstance
Direct link to getselectedinstance

getSelectedInstance(
options: ConfigSelectorOptions
): ObservabilityInstance | undefined;

Returns the observability instance selected by the config selector or default.

listInstances
Direct link to listinstances

listInstances(): ReadonlyMap<string, ObservabilityInstance>;

Returns all registered observability instances.

hasInstance
Direct link to hasinstance

hasInstance(name: string): boolean;

Checks if an observability instance exists.

setConfigSelector
Direct link to setconfigselector

setConfigSelector(selector: ConfigSelector): void;

Sets the config selector function.

unregisterInstance
Direct link to unregisterinstance

unregisterInstance(name: string): boolean;

Removes an observability instance from the registry.

clear
Direct link to clear

clear(): void;

Clears all instances without shutdown.

shutdown
Direct link to shutdown

async shutdown(): Promise<void>;

Shuts down all observability instances and clears the registry.

See also
Direct link to See also

Documentation
Direct link to Documentation

Reference
Direct link to Reference

Exporters
Direct link to Exporters