Skip to content

erlef/observability-wg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

Observability Working Group

Project for tracking the work of the Observability Working Group

Current WG projects

Awesome BEAM Observability

The curated list of tools for monitoring, instrumenting, and tracing applications that run on BEAM. Inspired by many of such lists over the GitHub.

Blog posts

Logging

  • lager - popular logging framework with broad features set
  • logger - OTP 21+ built-in pluggable logger module
  • Logger - Elixir's built-in pluggable logger module that in recent Elixir versions also synchronises with Erlang's logger module
  • systemd - library for integrating with systemd, it provides utilities for integrating with systemd's journal

Metrics

Recommended

Other

  • beam_stats - Collect detailed VM metrics and send to arbitrary, plugable backends (StatsD and Graphite backends included).
  • Fluxter - InfluxDB writer for Elixir
  • Statix - fast and reliable Elixir client for StatsD-compatible servers with some DogStatsD extensions (namely tags)
  • vmstats - tiny Erlang app to generate information on the Erlang VM

Historical

Over the many years of Erlang and Elixir's existence many libraries for metric collection have been created. However, expectations for modern metric gathering and reporting has changed during this time. The follow libraries are still used and do their job well, but they lack features like tags that are important for adding additional dimensions to metrics, which gives the user more control over aggregation. See the Datadog article, The Power of Tagged Metrics, for more on the importance of tagging metrics.

  • Elixometer - thin Elixir wrapper over Exometer
  • Exometer - Erlang instrumentation package
  • Folsom - expose Erlang events as metrics
  • metrics - generic interface to to a different metrics systems in Erlang

Tracing

Recommended

  • OpenTelemetry - The combined effort of OpenTracing and OpenCensus communities. OpenTelemetry is a CNCF project that will replace both OpenTracing and OpenCensus.

Or for vendor specific solutions see:

  • AppSignal - AppSignal Elixir integration package for gathering metrics, errors, and traces
  • New Relic - New Relic's Elixir agent supports metrics, errors and distributed tracing

Other Implementations

Error logging

  • Aibrakex - Elixir client for Airbrake
  • Bugsnag - Elixir interface to Bugsnag API
  • Rollbar - exception tracking and logging from Elixir to Rollbar
  • Sentry - official Elixir SDK for Sentry.io

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

About

Project for tracking the work of the Observability Working Group

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published