EctoProfiler
Project for Ecto DB profiling
Installation
-
Add
ecto_profilerto your list of dependencies inmix.exs:
def deps do
[{:ecto_profiler, github: "DmitryKK/ecto_profiler", only: [:dev]}]
endFetch and compile the dependency
mix do deps.get, deps.compile
-
Ensure
ecto_profileris started before your application:
def application(:dev) do
[applications: [:ecto_profiler]]
end-
Add some ecto_profiler configuration to the config file
config/dev.exs
config :ecto_profiler, EctoProfiler,
# name of yours app
app_name: :my_great_app,
# title of profiling page (optional)
page_title: "Profiling for my great APP"-
Add EctoProfiler logger for ecto to the config file
config/dev.exs, for example:
config :my_greap_app, MyGreatApp.Repo,
adapter: Ecto.Adapters.Postgres,
username: "postgres",
password: "postgres",
database: "my_great_app_dev",
hostname: "localhost",
pool_size: 10,
timeout: 15_000,
pool_timeout: 15_000,
ownership_timeout: 15_000,
loggers: [{EctoProfiler, :log, []}]-
Add the profiling route to the router file
web/router.ex:
defmodule MyGreatApp.Router do
get "/profiling", EctoProfiler.MainController, :showStart the application with iex -S mix phoenix.server
Visit http://localhost:4000/profiling
You should see page with current profiling.
Documentation
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/ecto_profiler.
Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request