All Projects → deadtrickster → Prometheus.ex

deadtrickster / Prometheus.ex

Prometheus.io Elixir client

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Prometheus.ex

Prometheus.erl
Prometheus.io client in Erlang
Stars: ✭ 276 (-19.53%)
Mutual labels:  monitoring, metrics, prometheus, instrumentation
Prometheus rabbitmq exporter
Prometheus.io exporter as a RabbitMQ Managment Plugin plugin
Stars: ✭ 248 (-27.7%)
Mutual labels:  monitoring, metrics, prometheus, instrumentation
Mtail
extract internal monitoring data from application logs for collection in a timeseries database
Stars: ✭ 3,028 (+782.8%)
Mutual labels:  monitoring, metrics, prometheus, instrumentation
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+479.01%)
Mutual labels:  monitoring, metrics, prometheus, instrumentation
Prometheus.cl
Prometheus.io Common Lisp client
Stars: ✭ 67 (-80.47%)
Mutual labels:  monitoring, metrics, prometheus, instrumentation
Telemetry metrics
Collect and aggregate Telemetry events over time
Stars: ✭ 144 (-58.02%)
Mutual labels:  monitoring, metrics, instrumentation
Github Monitoring
Monitor your GitHub Repos with Docker & Prometheus
Stars: ✭ 163 (-52.48%)
Mutual labels:  monitoring, metrics, prometheus
Kube State Metrics
Add-on agent to generate and expose cluster-level metrics.
Stars: ✭ 3,433 (+900.87%)
Mutual labels:  monitoring, metrics, prometheus
Docker Traefik Prometheus
A Docker Swarm Stack for monitoring Traefik with Promethues and Grafana
Stars: ✭ 215 (-37.32%)
Mutual labels:  monitoring, metrics, prometheus
Prometheus
The Prometheus monitoring system and time series database.
Stars: ✭ 40,114 (+11595.04%)
Mutual labels:  monitoring, metrics, prometheus
Opencensus Web
A stats collection and distributed tracing framework
Stars: ✭ 168 (-51.02%)
Mutual labels:  monitoring, metrics, instrumentation
Hastic Server
Hastic data management server for analyzing patterns and anomalies from Grafana
Stars: ✭ 292 (-14.87%)
Mutual labels:  monitoring, metrics, prometheus
Rabbitmq Prometheus
A minimalistic Prometheus exporter of core RabbitMQ metrics
Stars: ✭ 124 (-63.85%)
Mutual labels:  monitoring, metrics, prometheus
Heplify Server
HEP Capture Server
Stars: ✭ 110 (-67.93%)
Mutual labels:  monitoring, metrics, prometheus
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+13290.67%)
Mutual labels:  monitoring, metrics, prometheus
Github Exporter
Prometheus exporter for github metrics
Stars: ✭ 231 (-32.65%)
Mutual labels:  monitoring, metrics, prometheus
Kube Metrics Adapter
General purpose metrics adapter for Kubernetes HPA metrics
Stars: ✭ 309 (-9.91%)
Mutual labels:  monitoring, metrics, prometheus
Homer App
HOMER 7.x Front-End and API Server
Stars: ✭ 88 (-74.34%)
Mutual labels:  monitoring, metrics, prometheus
Pingprom
Prometheus uptime monitoring quickstart
Stars: ✭ 107 (-68.8%)
Mutual labels:  monitoring, metrics, prometheus
Graphite exporter
Server that accepts metrics via the Graphite protocol and exports them as Prometheus metrics
Stars: ✭ 217 (-36.73%)
Mutual labels:  monitoring, metrics, prometheus

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
    
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].