opentelemetry-erlang-contrib/instrumentation/opentelemetry_phoenix
renovate[bot] 45b66d5f50
chore(deps): update dependency ex_doc to v0.31.1 (#233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 11:27:19 -07:00
..
config Remove exporter race-condition on tests (#44) 2022-03-24 11:48:59 -06:00
lib Improve test matrix and add support for Elixir 1.15 and OTP 26 (#188) 2023-08-25 14:11:23 -06:00
test Add tests to cover new liveview integration (#221) 2023-11-09 18:20:07 -07:00
.formatter.exs Otel phoenix migration (#4) 2021-09-12 13:49:24 -06:00
.gitignore Otel phoenix migration (#4) 2021-09-12 13:49:24 -06:00
CHANGELOG.md bump opentelemetry_phoenix to 1.1.1 (#181) 2023-06-20 08:39:50 -06:00
LICENSE Otel phoenix migration (#4) 2021-09-12 13:49:24 -06:00
README.md Phoenix 1.1.0 (#145) 2023-01-13 14:38:05 -07:00
mix.exs chore(deps): update dependency ex_doc to v0.31.1 (#233) 2024-01-17 11:27:19 -07:00
mix.lock chore(deps): update dependency ex_doc to v0.31.1 (#233) 2024-01-17 11:27:19 -07:00

README.md

OpentelemetryPhoenix

EEF Observability WG project Hex.pm Build 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 Version Otel Version Notes
v0.1.0 <= v.0.5.0
v1.0.0-rc.3 v1.0.0-rc.1
v1.0.0-rc.2
v1.0.0-rc.4 v1.0.0-rc.2 Otel rc.3 will be a breaking change
v1.0.0-rc.5 v1.0.0-rc.3
v1.0.0-rc.6 v1.0.0-rc.4
v1.0 v1.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