telemetry_metrics_prometheus

Provides a Prometheus format reporter and server for Telemetry.Metrics definitions.


Keywords
elixir, metrics, monitoring, observability, prometheus, reporter, telemetry
License
Apache-2.0

Documentation

TelemetryMetricsPrometheus

CircleCI codecov Hex Hexdocs

TelemetryMetricsPrometheus is a Telemetry.Metrics Reporter for aggregating and exposing Prometheus metrics based on Telemetry.Metrics definitions. TelemetryMetricsPrometheus provides a server out of the box exposing a /metrics endpoint, making setup a breeze.

Is this the right Prometheus package for me?

If you want to take advantage of consuming :telemetry events with the ease of defining and managing metrics Telemetry.Metrics brings for Prometheus, then yes! This package provides a simple and straightforward way to aggregate and report Prometheus metrics. Whether you're using Prometheus servers, Datadog, or any other monitoring solution which supports scraping, you're in luck!

If you're not interested in taking advantage of Telemetry.Metrics but still want to implement Prometheus or use :telemetry in your project, have a look at something like the OpenCensus project and see if it better meets your needs.

What if I don't want the bundled server?

TelemetryMetricsPrometheus.Core is the core implementation. You can run Core directly, however you will need to do all of the plumbing to expose a /metrics route.

Installation

The package can be installed by adding telemetry_metrics_prometheus to your list of dependencies in mix.exs:

def deps do
  [
    {:telemetry_metrics_prometheus, "~> 0.4"}
  ]
end

See the documentation on Hexdocs for more information.

Contributing

Contributors are highly welcome!

Additional documentation and tests are welcome.

Please open an issue for discussion before undertaking anything non-trivial before jumping in and submitting a PR.