Elixir Framework

Phoenix Observability with TraceKit

TraceKit works with any OpenTelemetry-compatible application -- including Phoenix. Point your Elixir OTel SDK at TraceKit's OTLP endpoint and get distributed tracing, session replay, and alerts without a language-specific SDK.

Phoenix observability challenges

Common problems that Phoenix developers face in production -- and how TraceKit solves them.

LiveView Process Tracing

Each LiveView is a separate GenServer process with its own lifecycle. When a user interaction triggers a chain of handle_event callbacks across multiple LiveView processes, tracing the full request path requires visibility into the BEAM process tree. OpenTelemetry with TraceKit traces across process boundaries so you see the complete interaction flow.

PubSub Event Propagation

Phoenix.PubSub broadcasts are invisible to most monitoring tools. A single broadcast can trigger handlers in dozens of subscriber processes, and when one subscriber is slow, it is nearly impossible to trace back to the originating event. TraceKit captures PubSub event propagation so you can see which broadcast caused which subscriber to slow down.

Ecto N+1 Query Detection

Ecto's explicit preloading is better than lazy loading -- but developers still miss preloads, especially in LiveView assigns where data access patterns change as the UI evolves. TraceKit highlights every Ecto query in the trace so missing preloads and N+1 patterns are immediately visible.

Get started in minutes

Add OpenTelemetry instrumentation to your Phoenix app with a few lines of code.

# mix.exs - add dependencies
{:opentelemetry, "~> 1.3"},
{:opentelemetry_exporter, "~> 1.6"},
{:opentelemetry_phoenix, "~> 1.1"},
{:opentelemetry_ecto, "~> 1.1"},

# config/runtime.exs
config :opentelemetry,
  span_processor: :batch,
  traces_exporter: {:otlp,
    endpoint: "https://otel.tracekit.dev:4318"}

config :opentelemetry_phoenix, :enabled, true

See the full Elixir integration guide

What you get with TraceKit

Distributed Tracing

Trace requests across Phoenix endpoints, LiveView processes, Ecto queries, and PubSub broadcasts. Full visibility into your BEAM application's request lifecycle via OpenTelemetry.

Live Code Monitoring

Monitor your Phoenix application in real time. See request patterns, slow queries, and process bottlenecks as they happen -- with TraceKit's dashboard and alerting.

Simple Pricing

$29/month flat for your entire Elixir application. No per-node fees, no per-process charges -- one price whether you run one BEAM instance or twenty.

Ready to add observability to Phoenix?

Get started with TraceKit in under 5 minutes. $29/month flat -- no per-host fees, no surprises.