OtelMetrics
OpenTelemetry support for Effect metrics.
This module exposes Effect metrics as an OpenTelemetry MetricProducer. makeProducer creates the producer, registerProducer attaches it to one or more SDK MetricReaders, and layer manages that setup in a scoped layer. The TemporalityPreference type lets callers choose cumulative or delta metric values.
Constructors
makeProducer
Added in v4.0.0
Source
Signature
declare function makeProducer( temporality?: TemporalityPreference,): Effect<MetricProducer, never, Resource>;Layers
Models
TemporalityPreference type
Added in v4.0.0
Source
Determines how metric values relate to the time interval over which they are aggregated.
Details
cumulative reports total since a fixed start time. Each data point depends on all previous measurements. This is the default behavior. delta reports changes since the last export. Each interval is independent with no dependency on previous measurements.
Signature
type TemporalityPreference = "cumulative" | "delta";Resource Management
registerProducer
Added in v4.0.0
Source
Registers a metric producer with one or more metric readers.
Signature
declare function registerProducer( self: MetricProducer, metricReader: LazyArg<any>, options?: { readonly shutdownTimeout?: Input; },): Effect<Array<any>, never, Scope>;
Creates an OpenTelemetry metric producer from Effect metrics.
When to use
Use when you need a
MetricProducerfor manually wiring Effect metrics into OpenTelemetry instead of using the scopedlayerhelper.Details
Requires the current OpenTelemetry
Resource, captures the current Effect context, and uses cumulative temporality by default. Pass"delta"for interval-based values.See
registerProducerfor attaching a producer to metric readerslayerfor creating and registering a producer in a scoped layer