OtlpTracer
Exports Effect tracing spans over OTLP/HTTP.
This module creates a Tracer.Tracer backed by the shared OTLP batch
exporter, so spans created by Effect tracing APIs can be sent to an
OpenTelemetry Collector, vendor endpoint, or local collector. Exported spans
include identifiers, parent links, attributes, events, timing, kind, and
status information. Use the constructor directly or install it through the
provided layer.
Constructors
Creates a Tracer that exports ended sampled spans to an OTLP traces endpoint.
Details
Spans are batched using the configured interval and batch size, serialized
with OtlpSerialization, and flushed when the surrounding Scope closes.
Signature
declare const make: (options: { readonly context?: <X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X; readonly exportInterval?: Duration.Input; readonly headers?: Headers.Input; readonly maxBatchSize?: number; readonly resource?: { readonly attributes?: Record<string, unknown>; readonly serviceName?: string; readonly serviceVersion?: string; }; readonly shutdownTimeout?: Duration.Input; readonly url: string;}) => Effect.Effect<Tracer.Tracer, never, Exporter.Flusher | OtlpSerialization | HttpClient.HttpClient | Scope.Scope>Layers
Provides Tracer.Tracer using the OTLP tracer created by make.
Signature
declare const layer: (options: { readonly context?: <X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X; readonly exportInterval?: Duration.Input; readonly headers?: Headers.Input; readonly maxBatchSize?: number; readonly resource?: { readonly attributes?: Record<string, unknown>; readonly serviceName?: string; readonly serviceVersion?: string; }; readonly shutdownTimeout?: Duration.Input; readonly url: string;}) => Layer.Layer<Exporter.Flusher, never, OtlpSerialization | HttpClient.HttpClient>layerFromConfig
Creates an OTLP traces layer from OpenTelemetry configuration.
Signature
declare function layerFromConfig(options?: { readonly context?: <X>(primitive: EffectPrimitive<X>, span: AnySpan) => X; readonly headers?: Input; readonly resource?: { readonly attributes?: Record<string, unknown>; readonly serviceName?: string; readonly serviceVersion?: string; };}): Layer<Flusher, never, HttpClient | OtlpSerialization>Models
ResourceSpan interface
Group of OTLP scope spans associated with a single resource.
Signature
interface ResourceSpan { readonly resource: Resource; readonly schemaUrl?: string; readonly scopeSpans: Array<ScopeSpan>;}Group of OTLP spans emitted by a single instrumentation scope.
Signature
interface ScopeSpan { readonly schemaUrl?: string; readonly scope: Scope; readonly spans: Array<OtlpSpan>;}Root OTLP traces payload containing spans grouped by resource.
Signature
interface TraceData { readonly resourceSpans: Array<ResourceSpan>;}