ex_debug_toolbar is a toolbar for Phoenix projects to display all sorts of information about current and previous requests: logs, timelines, database queries etc.

Screencapture

Installation

  1. Add ex_debug_toolbar to your list of dependencies in mix.exs:
```elixir
def deps do
  [{:ex_debug_toolbar, "~> 0.1.0"}]
end
```
  1. Ensure :ex_debug_toolbar is started before your application:
   def application do
     [applications: [:ex_debug_toolbar, :logger]]
   end
  1. Add ExDebugToolbar.Phoenix to your endpoint in lib/my_app/endpoint.ex
    defmodule MyApp.Endpoint do
      use Phoenix.Endpoint, otp_app: :my_app
      use ExDebugToolbar.Phoenix
      ...
    end
  1. Enable toolbar in config config/dev.exs and setup collectors. Replace :my_app and MyApp with your application name
    # ExDebugToolbar config
    config :ex_debug_toolbar,
      enable: true

    config :my_app, MyApp.Endpoint,
      instrumenters: [ExDebugToolbar.Collector.InstrumentationCollector]

    config :my_app, MyApp.Repo,
      loggers: [ExDebugToolbar.Collector.EctoCollector, Ecto.LogEntry]

    config :phoenix, :template_engines,
      eex: ExDebugToolbar.Template.EExEngine,
      exs: ExDebugToolbar.Template.ExsEngine
  1. To display parallel Ecto preloads you have to use master branch
    defp deps do
     [
      {:ecto, github: "elixir-ecto/ecto", branch: "master", override: true}
     ]
    end

Contributors

Special thanks goes to Juan Peri!

Contribution

Contributions in the form of bug reports, pull requests, or thoughtful discussions in the GitHub issue tracker are welcome!

TODO

Demo App

Use demo app to simplify development process.