Skip to main content

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

Examples

Exporters