Skip to main content

Configuration

ObservabilityRegistryConfig
Direct link to ObservabilityRegistryConfig

interface ObservabilityRegistryConfig {
default?: { enabled?: boolean };
configs?: Record<string, Omit<ObservabilityInstanceConfig, "name"> | ObservabilityInstance>;
configSelector?: ConfigSelector;
}

ObservabilityInstanceConfig
Direct link to ObservabilityInstanceConfig

interface ObservabilityInstanceConfig {
name: string;
serviceName: string;
sampling?: SamplingStrategy;
exporters?: ObservabilityExporter[];
spanOutputProcessors?: SpanOutputProcessor[];
includeInternalSpans?: boolean;
requestContextKeys?: string[];
}

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

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