Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. telemetry

telemetry

Apache-2.0Erlang

A lightweight library for dynamic dispatching of events in Erlang/Elixir, focused on metrics and instrumentation.

Visit WebsiteGitHubGitHub
922 stars75 forks0 contributors

What is telemetry?

Telemetry is a lightweight library for dynamic dispatching of events in Erlang and Elixir applications, with a focus on metrics and instrumentation. It allows libraries to emit events and enables other code to attach custom handlers to those events, providing a unified way to collect and process telemetry data across the ecosystem.

Target Audience

Erlang and Elixir developers building libraries or applications that require instrumentation, metrics collection, or event-based monitoring.

Value Proposition

Developers choose Telemetry because it offers a standardized, lightweight way to handle instrumentation across the Erlang/Elixir ecosystem, reducing the need for custom solutions and enabling better interoperability between libraries.

Overview

Dynamic dispatching library for metrics and instrumentations.

Use Cases

Best For

  • Instrumenting web applications to log request latency and response status
  • Collecting custom metrics from Erlang or Elixir libraries
  • Building event-driven monitoring systems in BEAM-based applications
  • Creating spans to track the start and end of discrete operations
  • Adding introspection capabilities to existing libraries without heavy dependencies
  • Unifying telemetry collection across multiple Erlang/Elixir dependencies

Not Ideal For

  • Projects requiring out-of-the-box monitoring dashboards and alerts without additional integration
  • High-throughput systems needing asynchronous, non-blocking event processing by default
  • Applications where built-in metric aggregation and storage are critical without extra setup

Pros & Cons

Pros

Lightweight and Ecosystem Agnostic

Designed as a minimal library not tied to specific tooling, allowing integration with any monitoring solution, as emphasized in the README's focus on replacing custom instrumentation layers.

Dynamic Event Dispatching

Events are emitted as lists of atoms, and handlers can be attached dynamically, providing flexibility for libraries and applications to hook into events without tight coupling.

Span Support for Operations

Includes telemetry:span/3 to uniformly capture start, stop, and exception events for discrete operations, simplifying instrumentation with built-in timing measurements.

Standardized Interface

Aims to unify telemetry across the Erlang/Elixir ecosystem, reducing fragmentation and enabling interoperability between libraries, as stated in the philosophy section.

Cons

Synchronous Handler Execution

Handlers are invoked synchronously on each event, which can block the emitter if handlers perform slow operations, requiring manual offloading to separate processes as warned in the README.

No Built-in Analysis Tools

Telemetry only dispatches events; users must implement or integrate separate systems for metrics storage, visualization, and alerting, adding complexity for end-to-end monitoring.

Manual Setup Overhead

Requires explicit attachment of handlers to events, which can be verbose and error-prone compared to more automated or declarative instrumentation solutions.

Frequently Asked Questions

Quick Stats

Stars922
Forks75
Contributors0
Open Issues4
Last commit7 days ago
CreatedSince 2018

Tags

#elixir#library#observability#telemetry#event-dispatching#monitoring#instrumentation#events#erlang#metrics

Built With

E
Erlang
E
Elixir

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 23 hours ago

Related Projects

wobserverwobserver

Web based metrics, monitoring, and observer

Stars926
Forks81
Last commit6 years 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

Stars710
Forks136
Last commit3 months ago
exometerexometer

Basic measurement objects and probe behavior

Stars528
Forks102
Last commit7 years 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