Hex.pm HexDocs CI E2E Coverage Status License

Otel

Pure Elixir implementation of OpenTelemetry

Features

  • Signals
    • Traces
    • Metrics
    • Logs
    • Baggage
  • Propagators
    • W3C TraceContext
    • W3C Baggage
  • Exporters
    • Console (stdout)
    • OTLP HTTP
  • Configuration
    • Declarative YAML (OTEL_CONFIG_FILE)
    • Environment variables (OTEL_*)
    • Programmatic (Application env)
  • Integrations
    • :logger bridge

Requirements

  • Elixir ~> 1.18
  • Erlang/OTP ~> 26.2

Compatibility

ComponentVersion
OpenTelemetry Specificationv1.55.0 (Stable signals only)
OpenTelemetry Protocol (OTLP)v1.10.0
OpenTelemetry Configurationv1.0.0
W3C Trace ContextLevel 2 (REC)
W3C Baggagewire format per OTel's Stable Baggage Propagator

Installation

Add :otel to deps in mix.exs:

def deps do
  [
    {:otel, "~> 0.2.0"}
  ]
end

Configuration

How-to

  • Trace — span lifecycle, attributes, events, status, exceptions.
  • Log:logger bridge and SDK API.
  • Metrics — synchronous and observable instruments.

E2E

License

Released under the MIT License.