https://github.com/beam-telemetry/telemetry_metrics_prometheus
Complete Telemetry.Metrics Reporter solution for Prometheus
https://github.com/beam-telemetry/telemetry_metrics_prometheus
elixir metrics monitoring observability prometheus reporter telemetry
Last synced: 16 days ago
JSON representation
Complete Telemetry.Metrics Reporter solution for Prometheus
- Host: GitHub
- URL: https://github.com/beam-telemetry/telemetry_metrics_prometheus
- Owner: beam-telemetry
- License: apache-2.0
- Created: 2019-02-19T05:59:32.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2021-07-20T21:13:38.000Z (almost 4 years ago)
- Last Synced: 2024-09-22T15:17:48.877Z (8 months ago)
- Topics: elixir, metrics, monitoring, observability, prometheus, reporter, telemetry
- Language: Elixir
- Homepage:
- Size: 93.8 KB
- Stars: 70
- Watchers: 3
- Forks: 16
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# TelemetryMetricsPrometheus
[](https://circleci.com/gh/beam-telemetry/telemetry_metrics_prometheus/tree/master) [](https://codecov.io/gh/beam-telemetry/telemetry_metrics_prometheus) [](https://hex.pm/packages/telemetry_metrics_prometheus) [](https://hexdocs.pm/telemetry_metrics_prometheus/overview.html)
TelemetryMetricsPrometheus is a [Telemetry.Metrics Reporter](https://hexdocs.pm/telemetry_metrics/Telemetry.Metrics.html#module-reporters) for aggregating and exposing [Prometheus](https://prometheus.io) 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](https://prometheus.io/docs/prometheus/latest/getting_started/) servers, [Datadog](https://docs.datadoghq.com/integrations/prometheus/),
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](https://github.com/opencensus-beam) project and
see if it better meets your needs.### What if I don't want the bundled server?
[TelemetryMetricsPrometheus.Core](https://github.com/beam-telemetry/telemetry_metrics_prometheus_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`:```elixir
def deps do
[
{:telemetry_metrics_prometheus, "~> 1.1.0"}
]
end
```See the documentation on [Hexdocs](https://hexdocs.pm/telemetry_metrics_prometheus) 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.