Prometheus
- https://github.com/prometheus/prometheus
- Querying: https://prometheus.io/docs/prometheus/latest/querying/basics/
- Query API: https://prometheus.io/docs/prometheus/latest/querying/api/
- Histogram: https://prometheus.io/docs/practices/histograms/
Average Request duration (sum/count), within 5 minute interval
rate(http_request_duration_milliseconds_sum[5m]) / rate(http_request_duration_milliseconds_count[5m])
Apdex score - Count observations falling into particular buckets of observation values. E.g. SLA to serve 95% of requests within 300ms - configure histogram to have bucket with an upper limit of 0.3 seconds
sum(rate(http_request_duration_seconds_bucket{le="0.3"}[5m])) by (job)
/
sum(rate(http_request_duration_seconds_count[5m])) by (job)
- https://github.com/deadtrickster/prometheus.ex
- https://github.com/deadtrickster/prometheus-phoenix
- https://hexdocs.pm/prometheus_ex/Prometheus.html
- Examples: https://hexdocs.pm/prometheus_ex/time.html#content
- Config: https://hexdocs.pm/prometheus_ex/Prometheus.Config.html
- Plugs (Instrumenter/Exporter): https://github.com/deadtrickster/prometheus-plugs
- Phoenix instrumenter: https://hexdocs.pm/prometheus_phoenix/Prometheus.PhoenixInstrumenter.html
- Testing Histogram: https://github.com/deadtrickster/prometheus.ex/blob/master/test/metric/histogram_test.exs
Ruby
Java
Other Elixir
https://elixirforum.com/t/prometheus-io-elixir-integrations/1796/11 https://elixirforum.com/t/prometheus-io-elixir-integrations/1796/6
- https://prometheus.io/docs/visualization/grafana/
- Example dashboard https://gist.github.com/skosch/415b86ef6a87e3dc102d7f72669bfb1b