17d31cc594
* Use test matrix from file * Only check formatting on specific Elixir version * Use latest patch version of each Elixir/OTP release in test matrix * Test on Elixir 1.15 and OTP 26 * Run formatter on opentelemetry_httpoison * Run formatter on opentelemetry_phoenix * Run formatter on opentelemetry_tesla * Fix building opentelemetry_ecto on Elixir 1.15 Upgraded deps to fix ssl_verify_fun not compiling * Fix building opentelemetry_dataloader on Elixir 1.15 Upgraded deps to fix ssl_verify_fun and ecto_sql not compiling * Upgrade opentelemetry_finch to build on Elixir 1.15 * Upgrade opentelemetry_httpoison deps to build on 1.15 * Upgrade opentelemetry_nebulex to build on Elixir 1.15 * Upgrade opentelemetry_oban to build on Elixir 1.15 * Upgrade opentelemetry_phoenix deps to build on 1.15 * Upgrade opentelemetry_redix deps to build on 1.15 * Fix warning about <> being ambiguous * Fix assertion on attributes keys These are always atoms, not strings. * Upgrade ssl_verify_fun in opentelemetry_telemetry * Deterministically sort keys before asserting in tests * Upgrade opentelemetry_process_propogator to build on Elixir 1.15 * Run mix format on opentelemetry_process_propogator * Assert keys are atoms, not strings * Use matrix.os to define runs-on parameter * Pin test matrix to specific OTP + Elixir versions * Run formatter on telemetry and process_propagator * Run formatter over opentelemetry_phoenix --------- Co-authored-by: Tristan Sloughter <t@crashfast.com> |
||
---|---|---|
.. | ||
config | ||
lib | ||
test | ||
.formatter.exs | ||
.gitignore | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
mix.exs | ||
mix.lock |
README.md
OpentelemetryPhoenix
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