Prometheus monitoring system client Phoenix instrumenter.


Keywords
collector, elixir, instrumentation, monitoring, phoenix, prometheus
License
MIT

Documentation

Prometheus.io Phoenix Instrumenter

Hex.pm Hex.pm Build Status Documentation

Phoenix integeration for Prometheus.ex.

  • IRC: #elixir-lang on Freenode;
  • Slack: #prometheus channel - Browser or App(slack://elixir-lang.slack.com/messages/prometheus).

Metrics

Metrics implemented for the following built-in events:

  • phoenix_controller_call
    • phoenix_controller_call_duration_<duration_unit>;
  • phoenix_controller_render
    • phoenix_controller_render_duration_<duration_unit>;
  • phoenix_channel_join
    • phoenix_channel_join_duration_<duration_unit>;
  • phoenix_channel_receive
    • phoenix_channel_receive_duration_<duration_unit>.

Live endpoint

https://slackinex.herokuapp.com/metrics

Configuration

This integration is configured via :prometheus app env key. Please see Prometheus.PhoenixInstrumenter module documentation for more information.

Integrations / Collectors / Instrumenters

Installation

Available in Hex, the package can be installed as:

  1. Add prometheus_phoenix to your list of dependencies in mix.exs:

    def deps do
      [{:prometheus_phoenix, "~> 1.2.0"}]
    end
  2. Ensure prometheus_phoenix is started before your application:

    def application do
      [applications: [:prometheus_phoenix]]
    end