Ecto integration for Prometheus.ex
- IRC: #elixir-lang on Freenode;
- Slack: #prometheus channel - Browser or App(slack://elixir-lang.slack.com/messages/prometheus).
- Define your instrumenter:
defmodule MyApp.Repo.Instrumenter do
use Prometheus.EctoInstrumenter
end
- Call
MyApp.Repo.Instrumenter.setup/0
when application starts (e.g. supervisor setup):
MyApp.Repo.Instrumenter.setup()
- Add
MyApp.Repo.Instrumenter
to Repo loggers list:
config :myapp, MyApp.Repo,
...
loggers: [MyApp.Repo.Instrumenter, Ecto.LogEntry]
...
- Ecto collector
- Plugs Instrumenter/Exporter
- Elli middleware
- Fuse plugin
- Phoenix instrumenter
- Process Info Collector
- RabbitMQ Exporter
Available in Hex, the package can be installed as:
- Add
prometheus_ecto
to your list of dependencies inmix.exs
:
```elixir
def deps do
[{:prometheus_ecto, "~> 1.0.1"}]
end
```
- Ensure
prometheus_ecto
is started before your application:
```elixir
def application do
[applications: [:prometheus_ecto]]
end
```