Configuration
ObservabilityRegistryConfigDirect link to ObservabilityRegistryConfig
interface ObservabilityRegistryConfig {
default?: { enabled?: boolean };
configs?: Record<string, Omit<ObservabilityInstanceConfig, "name"> | ObservabilityInstance>;
configSelector?: ConfigSelector;
}
ObservabilityInstanceConfigDirect link to ObservabilityInstanceConfig
interface ObservabilityInstanceConfig {
name: string;
serviceName: string;
sampling?: SamplingStrategy;
exporters?: ObservabilityExporter[];
spanOutputProcessors?: SpanOutputProcessor[];
includeInternalSpans?: boolean;
requestContextKeys?: string[];
}
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 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