OpentelemetryPhoenix

EEF Observability WG projectHex.pmBuild Status

Telemetry handler that creates Opentelemetry spans from Phoenix events.

After installing, setup the handler in your application behaviour before your top-level supervisor starts.

OpentelemetryPhoenix.setup()

See the documentation for OpentelemetryPhoenix.setup/1 for additional options that may be supplied.

Installation

def deps do
[
{:opentelemetry_phoenix, "~> 1.1"}
]
end

Compatibility Matrix

OpentelemetryPhoenix VersionOtel VersionNotes
v0.1.0<= v.0.5.0
v1.0.0-rc.3v1.0.0-rc.1
v1.0.0-rc.2
v1.0.0-rc.4v1.0.0-rc.2Otel rc.3 will be a breaking change
v1.0.0-rc.5v1.0.0-rc.3
v1.0.0-rc.6v1.0.0-rc.4
v1.0v1.0

Note on phoenix integration

OpentelemetryPhoenix requires phoenix to use Plug.Telemetry in order to correctly trace endpoint calls.

The endpoint.ex file should look like:

defmodule MyApp.Endpoint do
use Phoenix.Endpoint, otp_app: :my_app
...
plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint]
...
end

The Phoenix endpoint.ex template can be used as a reference