Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. prometheus.ex

prometheus.ex

MITElixirv5.1.0

An Elixir client for Prometheus.io, enabling metrics collection and monitoring in Elixir applications.

GitHubGitHub
423 stars67 forks0 contributors

What is prometheus.ex?

Prometheus.ex is an Elixir client library for Prometheus.io, designed to instrument Elixir applications for metrics collection and monitoring. It provides APIs to define and observe metrics like histograms and counters, enabling integration with Prometheus for scraping and visualization. The library solves the problem of monitoring Elixir app performance, health, and behavior in production environments.

Target Audience

Elixir developers and teams building production applications who need robust monitoring and observability using Prometheus. It's also suitable for DevOps engineers managing Elixir-based microservices or distributed systems.

Value Proposition

Developers choose Prometheus.ex for its idiomatic Elixir API, seamless integration with the Prometheus ecosystem, and extensive support for Elixir libraries like Phoenix and Ecto. Its open-source nature and active community ensure reliability and continuous improvements.

Overview

Prometheus.io Elixir client

Use Cases

Best For

  • Instrumenting Elixir web applications with Phoenix for request duration metrics
  • Monitoring database performance in Ecto-based applications
  • Collecting custom business metrics in Elixir microservices
  • Integrating Prometheus monitoring into Elixir/Erlang production systems
  • Building dashboards in Grafana with metrics from Elixir apps
  • Adding observability to Elixir GenServers and processes

Not Ideal For

  • Applications already integrated with alternative monitoring systems like StatsD or Datadog that require native support
  • Teams seeking fully managed, zero-configuration observability without manual Prometheus server setup
  • Projects prioritizing real-time, push-based metrics delivery over Prometheus's pull-based scraping model
  • Environments where minimizing Elixir-specific dependencies is critical, favoring language-agnostic monitoring tools

Pros & Cons

Pros

Idiomatic Elixir APIs

Provides native Elixir interfaces for defining metrics like histograms and counters, making instrumentation intuitive for developers, as shown in the example modules with clean syntax.

Automatic Metric Setup

Reduces boilerplate with auto-generated @on_load callbacks for metric declaration, simplifying initialization and reducing manual setup errors.

Extensive Ecosystem Integrations

Supports official and community collectors for key libraries like Ecto, Phoenix, and RabbitMQ, enabling seamless monitoring across common Elixir stacks.

Erlang/OTP Compatibility

Built on Prometheus.erl, ensuring deep integration with the Erlang ecosystem and performance benefits for distributed, production-grade systems.

Cons

Prometheus Dependency Lock-in

Tightly coupled to the Prometheus monitoring stack, requiring dedicated server setup and scraping, which adds operational complexity and limits flexibility with other tools.

Manual Instrumentation Overhead

Requires developers to manually define and observe metrics, as seen in the example code, which can be error-prone and time-consuming for complex applications.

Pull-based Model Limitations

Relies on Prometheus's scraping mechanism, making it unsuitable for ephemeral or serverless environments where push-based metrics or real-time streaming are preferred.

Frequently Asked Questions

Quick Stats

Stars423
Forks67
Contributors0
Open Issues14
Last commit5 months ago
CreatedSince 2016

Tags

#elixir#observability#metrics-collection#monitoring#erlang-otp#instrumentation#prometheus-client#prometheus#metrics#grafana-integration#production-monitoring

Built With

E
Erlang
E
Elixir

Included in

Elixir13.1k
Auto-fetched 15 hours ago

Related Projects

wobserverwobserver

Web based metrics, monitoring, and observer

Stars926
Forks82
Last commit6 years ago
telemetrytelemetry

Dynamic dispatching library for metrics and instrumentations.

Stars913
Forks74
Last commit2 months ago
elixometerelixometer

A light Elixir wrapper around exometer.

Stars825
Forks57
Last commit3 years ago
prom_exprom_ex

An Elixir Prometheus metrics collection library built on top of Telemetry with accompanying Grafana dashboards

Stars702
Forks132
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub