Prometheus.io Elixir client
Elixir Other
Latest commit 743110b Oct 22, 2016 @deadtrickster committed on GitHub Merge pull request #4 from iamjarvo/use-https-link
Use https for Prometheus link
Permalink
Failed to load latest commit information.
bin precommit hook Oct 22, 2016
config first commit Aug 21, 2016
lib Use https for Prometheus link Oct 23, 2016
pages update to prometheus.erl 3.0.0 and sync tests/docs Sep 27, 2016
test use credo Oct 22, 2016
.credo.exs use credo Oct 22, 2016
.dir-locals.el use credo Oct 22, 2016
.gitignore use credo Oct 22, 2016
.travis.yml use credo Oct 22, 2016
README.md Update README.md Oct 22, 2016
coveralls.json enable coveralls Sep 3, 2016
mix.exs use credo Oct 22, 2016
mix.lock use credo Oct 22, 2016

README.md

Prometheus.ex

Build Status Hex.pm Coverage Status Hex.pm Documentation

Elixir Prometheus.io client based on Prometheus.erl.

@skosch dashboard

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).

Example

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

Integrations / Collectors / Instrumenters

Installation

Available in Hex, the package can be installed as:

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

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

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