OpenTelemetry API v0.4.0 API Reference
Modules
An OpenTelemetry Trace consists of 1 or more Spans that either have a
parent/child relationship or are linked together through a Link. Each Span has a TraceId (trace_id/0
),
SpanId (span_id/0
), and a start and end time in nanoseconds.
require OpenTelemetry.Counter
OpenTelemetry.Counter.new("some.counter")
OpenTelemetry.Counter.add("some.counter", 3)
require OpenTelemetry.ValueRecorder
require OpenTelemetry.Counter
require OpenTelemetry.Meter
OpenTelemetry.register_application_meter(Your.Application)
OpenTelemetry.Meter.new_instruments([OpenTelemetry.ValueRecorder.instrument("some.latency"),
OpenTelemetry.Counter.instrument("some.counter")])
# use the new instrument by name
OpenTelemetry.Counter.add("some.counter", 1)
# or use a bound instrument
bound = OpenTelemetry.Meter.bind("some.latency", [])
# measure time spent on some function and then record it
OpenTelemetry.ValueRecorder.record(bound, time)
This module contains macros for Span operations that update the active current Span in the current process. An example of creating an Event and adding it to the current Span
require OpenTelemetry.SumObserver
OpenTelemetry.SumObserver.set_callback("some.counter", &OpenTelemetry.SumObserver.observe(&1, 33, []))
This module contains macros for Tracer operations around the lifecycle of the Spans within a Trace.
require OpenTelemetry.UpdownCounter
OpenTelemetry.UpdownCounter.new("some.counter")
OpenTelemetry.UpdownCounter.add("some.counter", -3)
require OpenTelemetry.UpdownSumObserver
OpenTelemetry.UpdownSumObserver.set_callback("some.counter", OpenTelemetry.UpdownSumObserver.observe(&1, -33, []))
require OpenTelemetry.ValueObserver
OpenTelemetry.ValueObserver.set_callback("some.counter", fn o -> OpenTelemetry.ValueObserver.observe(o, 33, []))
require OpenTelemetry.ValueRecorder
OpenTelemetry.ValueRecorder.record("some.recorder", 3)