• Stars
    star
    395
  • Rank 104,909 (Top 3 %)
  • Language
    Elixir
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Prometheus.io Elixir client

Prometheus.ex

Build Status Hex.pm Coverage Status Hex.pm Documentation

Elixir Prometheus.io client based on Prometheus.erl.

Starting from v3.0.0 works with Elixir >=1.6 and Erlang >=20. For older versions, please use older tags.

@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

or

defmodule ExampleInstrumenter do
  use Prometheus.Metric

  @histogram [name: :http_request_duration_milliseconds,
              labels: [:method],
              buckets: [100, 300, 500, 750, 1000],
              help: "Http Request execution time"]

  def instrument(%{time: time, method: method}) do
    Histogram.observe([name: :http_request_duration_milliseconds, labels: [method]], time)
  end
end

Here histogram will be declared in auto-generated @on_load callback, i.e. you don't have to call setup manually.

Please read how to measure durations correctly with prometheus.ex.

Integrations / Collectors / Instrumenters

Dashboards

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, "~> 3.0"}]
    end
  2. Ensure prometheus_ex is started before your application:

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

More Repositories

1

prometheus.erl

Prometheus.io client in Erlang
Erlang
338
star
2

prometheus_rabbitmq_exporter

Prometheus.io exporter as a RabbitMQ Managment Plugin plugin
Erlang
282
star
3

beam-dashboards

BEAM ❀️ Prometheus ❀️ Grafana
279
star
4

ssl_verify_fun.erl

Collection of ssl verification functions for Erlang
Erlang
96
star
5

prometheus.cl

Prometheus.io Common Lisp client
Common Lisp
79
star
6

prometheus-ecto

Prometheus.io collector for Elixir.Ecto
Elixir
73
star
7

prometheus-phoenix

Prometheus.io Phoenix instrumenter
Elixir
68
star
8

prometheus-plugs

Prometheus.erl Elixir Plugs
Elixir
53
star
9

prometheus_process_collector

Prometheus.io process collector in Erlang
C++
47
star
10

prometheus-httpd

Expose Prometheus metrics using inets httpd.
Erlang
23
star
11

prometheus-cowboy

Expose Prometheus metrics using cowboy/cowboy2
Erlang
21
star
12

smerl

Simple Metaprogramming for Erlang
Erlang
19
star
13

slime-repl-ansi-color

I found this code here http://lists.common-lisp.net/pipermail/slime-devel/2012-March/018497.html . Original Author is Max Mikhanosha.
Emacs Lisp
17
star
14

cl-events

Events (Hooks) for Common Lisp
Common Lisp
12
star
15

safe-queue

Thread-safe queues and mailboxes
Common Lisp
11
star
16

cl-emb

GitHub mirror for http://common-lisp.net/project/cl-emb/
Common Lisp
11
star
17

rebar3_elvis_plugin

Run Elvis as rebar3 plugin
Erlang
9
star
18

prometheus-push

Prometheus.io pushgateway client
Erlang
9
star
19

accept

Accept* headers for Erlang/Elixir
Erlang
8
star
20

cl-statsd

Statsd client in Common Lisp
Common Lisp
8
star
21

http-routes

Http routes library for Common Lisp, see tests for usage
Common Lisp
8
star
22

cl-smtp

Github fork of cl-smtp, just for convenience.
Common Lisp
7
star
23

quantile-estimator.cl

Common Lisp implementation of Graham Cormode and S. Muthukrishnan's Effective Computation of Biased Quantiles over Data Streams in ICDE’05
Common Lisp
6
star
24

amqp_rpc

RPC Client/Server for amqp Elixir library
Elixir
6
star
25

slackin.ex

Slackin in Elixir. Demo:
Elixir
6
star
26

extjs-rails

ExtJS gem rails assets pipline integration gem
Ruby
6
star
27

rebar3_archive_plugin

Create Erlang Code archives (.ez)
Erlang
5
star
28

dot-emacs

My Emacs configs
Emacs Lisp
4
star
29

iomux-acceptor

Evented IO for Hunchentoot using IOLIB.
Common Lisp
4
star
30

mongodb-erlang-pool

Simple Pool for Mongodb-Erlang
Erlang
4
star
31

cowboy_routes_tree

Organize cowboy routes in trees
Erlang
4
star
32

erlang-template

My Erlang app/library template
Shell
3
star
33

counters.erl

Erlang
3
star
34

clws

websockets server in CL
Common Lisp
3
star
35

cl-dropbox

Dropbox Core SDK in Common Lisp
Common Lisp
3
star
36

thrift.erl

Conveniently packaged Apache Thrift
Erlang
2
star
37

prometheus-plugs-example

Prometheus Plugs example app
Elixir
1
star
38

semaphore

HTML
1
star
39

twtgit

Tweet repositories, issues, pull requests and releases. Supports GitHub, Bitbucket and Gitlab
JavaScript
1
star
40

cl-uri-template

RFC6570 URI templates expander
Common Lisp
1
star
41

stripe-cl

Stripe API in Common Lisp
Common Lisp
1
star
42

nixos-playground

My NixOS Expirement
1
star
43

countries.beam

Erlang
1
star
44

ia-hash-table

Indifferent access hash-tables for Common Lisp. Also with dot syntax
Common Lisp
1
star
45

hyper-drakma

Common Lisp
1
star
46

cl-link-field-parser

Naive parser for HTTP Link header field
Common Lisp
1
star
47

mongodb-csharp-xtras

Some Additional code like ASP.NET Membership & Role Providers, serializer and etc
1
star