Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. exometer

exometer

MPL-2.0Erlang

An Erlang instrumentation package for easy and efficient monitoring of system performance metrics.

GitHubGitHub
528 stars102 forks0 contributors

What is exometer?

Exometer is an Erlang instrumentation package that provides a framework for monitoring system performance by creating, updating, and exporting metrics. It solves the problem of efficiently instrumenting Erlang code to gather crucial data on system behavior and export it to external monitoring systems like Graphite or OpenTSDB.

Target Audience

Erlang developers and system administrators who need to monitor the performance and health of distributed Erlang applications, especially those requiring integration with existing monitoring infrastructure.

Value Proposition

Developers choose Exometer for its flexibility in defining custom metrics, its built-in support for various reporters, and its efficient design that minimizes overhead while providing comprehensive instrumentation capabilities for Erlang systems.

Overview

Basic measurement objects and probe behavior

Use Cases

Best For

  • Monitoring transaction rates and system throughput in Erlang applications
  • Exporting performance metrics to Graphite or OpenTSDB for visualization
  • Implementing custom probes for specialized hardware or network monitoring
  • Setting up SNMP-based monitoring for legacy infrastructure integration
  • Creating histograms and statistical analysis of runtime data
  • Building real-time dashboards with AMQP-based metric streaming

Not Ideal For

  • Simple, standalone Erlang applications that only need basic logging without external monitoring integration
  • Projects requiring rapid deployment with minimal configuration and zero dependency management
  • Teams without deep Erlang/OTP expertise who need out-of-the-box, pre-configured monitoring solutions
  • Real-time systems demanding sub-millisecond latency where caching or probe sampling introduces unacceptable delays

Pros & Cons

Pros

Flexible Metric Framework

Supports a wide range of built-in types like counters, gauges, histograms, and spirals, with the ability to create custom entries and probes for specialized monitoring needs, as detailed in the built-in entries section.

Extensive Reporter Integration

Includes native reporters for Graphite, OpenTSDB, AMQP, and SNMP, enabling seamless data export to external monitoring systems without additional coding, as shown in the built-in reporters documentation.

Dynamic Runtime Control

Allows metrics to be created, updated, and subscribed to at runtime via API calls like exometer:new() and exometer_report:subscribe(), facilitating adaptive monitoring without system restarts.

Performance Optimization via Caching

Reduces load on probes with configurable cache lifetimes, improving efficiency for frequent metric reads, as explained in the caching mechanism section.

Cons

Complex Dependency Management

Requires manual handling of optional packages via EXOMETER_PACKAGES environment variables and conditional compilation, adding setup overhead and potential compatibility headaches.

Legacy and Fragmented Codebase

The project was split into exometer_core and separate reporter applications, with the last monolithic version from 2015, indicating potential maintenance issues and learning curve for new users.

Steep Configuration Learning Curve

Demands deep understanding of Erlang/OTP and detailed app.config setups for static subscriptions and reporters, making initial adoption time-consuming.

Frequently Asked Questions

Quick Stats

Stars528
Forks102
Contributors0
Open Issues12
Last commit7 years ago
CreatedSince 2013

Tags

#exometer#reporting#observability#telemetry#monitoring#instrumentation#erlang#system-monitoring#metrics#performance

Built With

l
lager
E
Erlang
O
OTP

Included in

Elixir13.1kErlang1.7k
Auto-fetched 23 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.

Stars915
Forks74
Last commit3 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

Stars705
Forks133
Last commit2 months 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