Elixir Prometheus.io client based on Prometheus.erl.
Dashboard from Monitoring Elixir apps in 2016: Prometheus and Grafana by @skosch.
- IRC: #elixir-lang on Freenode;
- Slack: #prometheus channel - Browser or App(slack://elixir-lang.slack.com/messages/prometheus).
defmodule ExampleInstrumenter do
use Prometheus.Metric
def setup do
Histogram.new([name: :http_request_duration_milliseconds,
labels: [:method],
buckets: [100, 300, 500, 750, 1000],
help: "Http Request execution time"])
end
def instrument(%{time: time, method: method}) do
Histogram.observe([name: :http_request_duration_milliseconds, labels: [method]], time)
end
end
- 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_ex
to your list of dependencies inmix.exs
:
```elixir
def deps do
[{:prometheus_ex, "~> 1.0.0"}]
end
```
- Ensure
prometheus_ex
is started before your application:
```elixir
def application do
[applications: [:prometheus_ex]]
end
```