Phoenix Performance Monitoring
Errors, logs, and traces for your Phoenix applications. Scout's Elixir agent 2.0 instruments Phoenix controllers, LiveView callbacks, Ecto queries, and Oban jobs automatically via telemetry. Supports Elixir 1.14+, Phoenix 1.6+, and Ecto 3.x.
Errors, Logs, and Traces in One View for Phoenix Apps
Scout combines error monitoring, log management, and transaction tracing into a single view for your Phoenix application. When an exception fires in a controller, LiveView, or Oban job, you see the error, the request trace, and the surrounding log context together. No tab switching, no correlation by timestamp.
Error Monitoring
Telemetry-driven error capture via PhoenixErrorTelemetry that attaches to Phoenix and LiveView error events automatically. No changes to your controllers or LiveView modules required.
Log Management
Log output is enriched with trace context and forwarded alongside performance data. See what your Phoenix application was doing before, during, and after an issue without switching tools.
App Traces
Transaction tracing with code-level visibility into Phoenix controller actions, LiveView mount, handle_event, and handle_params callbacks, Ecto queries, and Oban job execution. Detailed backtraces show the exact code location for slow operations.
N+1 Detection in Ecto
Scout automatically detects N+1 query patterns in Ecto without configuration. The agent monitors database queries within Phoenix request handling, LiveView callbacks, and Oban background processes, identifies repeated query patterns, and shows the code location and performance impact of each N+1.
LiveView, Ecto, Oban, and HTTP Clients Out of the Box
Scout's Elixir agent 2.0 auto-instruments Phoenix via telemetry. LiveView instrumentation covers mount, handle_event, and handle_params with timing for each phase. Ecto queries are captured with N+1 detection. Oban background jobs appear with per-job timing and queue metrics. Finch, Req, and Tesla HTTP clients are instrumented automatically. No manual instrumentation code required.
Works with the Phoenix frameworks you already use
Scout auto-instruments the frameworks and libraries in your stack. No manual configuration required.
Web Framework
- Phoenix
- Phoenix LiveView
- Plug
Background Jobs
- Oban
Databases
- Ecto
HTTP Clients
- Finch
- Req
- Tesla
Templating
- EEx
- HEEx
Memory Bloat Detection for the BEAM
BEAM processes can accumulate memory over time, especially in long-running GenServers, LiveView processes, and Oban workers. Scout detects memory bloat at the application level, showing which code paths and processes are responsible for memory growth. This goes beyond host-level metrics by telling you what is causing the increase, not just that it is happening.
Query Your Phoenix App Data from AI Assistants and the Terminal
Scout offers hosted and local MCP servers with 17 tools, a Go CLI via Homebrew with TOON format, and a public API. Query your Phoenix application's errors, traces, Ecto N+1 insights, and Oban job performance from your AI coding assistant or the terminal.
MCP Server
Hosted or local MCP server with 17 tools covering apps, endpoints, traces, errors, insights, background jobs, and usage data. Works with Claude Code, Cursor, VS Code Copilot, and any MCP-enabled assistant.
Scout CLI
Go binary available via Homebrew. Query app metrics, endpoint performance, traces, error groups, and insights from the terminal. Outputs human-friendly tables or TOON format for LLM consumption.
Public API
Full programmatic access to your monitoring data for building custom integrations, dashboards, or automation workflows.
Add Scout to Your Phoenix App
Get started in under 3 minutes with the Scout Elixir agent.
Add to your mix.exs:
{:scout_apm, "~> 2.0"}Download your customized config to config/scout_apm.exs.
Add instrumentation to lib/your_app_web.ex and deploy.
Phoenix Monitoring FAQ
What is the best monitoring tool for Phoenix?
Scout provides integrated errors, logs, and traces for Phoenix applications. The Elixir agent 2.0 includes telemetry-driven error capture via PhoenixErrorTelemetry, log management with trace context enrichment, automatic LiveView instrumentation, Ecto N+1 detection, and auto-instrumentation for Finch, Req, Tesla, and Oban. Scout is built for Phoenix teams that want all their monitoring signals in one place without enterprise complexity.
What is the best APM for Phoenix?
Scout is a purpose-built APM for Phoenix that goes beyond basic metrics. The Elixir agent 2.0 auto-instruments Phoenix controllers and views, Ecto 3.x queries with N+1 detection, LiveView mount and handle_event callbacks, Oban background jobs, and HTTP clients including Finch, Req, and Tesla. Error monitoring, log management, and tracing are unified in a single view. Supports Elixir 1.14+ and Phoenix 1.6+.
Does Scout support Phoenix LiveView monitoring?
Yes. Scout's Elixir agent automatically instruments LiveView mount, handle_event, and handle_params callbacks with timing for each phase. This gives you visibility into where time is spent in your real-time UI without adding any instrumentation code to your LiveView modules. LiveView errors are captured via PhoenixErrorTelemetry and linked to the associated trace.
Does Scout detect N+1 queries in Ecto?
Yes. Scout automatically detects N+1 query patterns in Ecto 3.x without configuration. The agent monitors database queries within Phoenix request handling, LiveView callbacks, and Oban background processes, identifies repeated query patterns, and shows the code location and performance impact of each N+1.
Does Scout monitor Oban background jobs in Phoenix?
Yes. Scout auto-instruments Oban background jobs with execution timing, queue metrics, and error tracking. Each Oban job appears as its own transaction in Scout with full trace detail, including any Ecto queries, HTTP calls via Finch or Tesla, and errors that occur during execution. No wrapper modules or manual spans needed.
How does Scout instrument Phoenix without code changes?
Scout's Elixir agent 2.0 is fully telemetry-based. It attaches to Phoenix, Ecto, LiveView, and Oban telemetry events at startup. PhoenixErrorTelemetry handles error capture by hooking into Phoenix and LiveView error events. You add the dependency, configure your key, add a few lines to your supervision tree, and deploy. No changes to controllers, LiveViews, or Ecto schemas.
Does Scout support error monitoring for Phoenix?
Yes. Error monitoring in the Elixir agent 2.0 is telemetry-driven via PhoenixErrorTelemetry. It attaches to Phoenix and LiveView error events automatically, with no changes to your controllers or LiveView modules required. When an error fires, you see the error, the request trace, and surrounding logs together in one view.
Can I use Scout with Claude Code or Cursor for Phoenix debugging?
Yes. Scout offers hosted and local MCP servers with 17 tools that work with Claude Code, Cursor, VS Code Copilot, and any MCP-enabled assistant. You can query your Phoenix application's errors, traces, Ecto N+1 insights, and Oban job performance in natural language from your editor. The Scout CLI, available via Homebrew, gives terminal access to the same data in TOON format for LLM consumption.