TelemetryMetricsPrometheus.Core is a Telemetry.Metrics Reporter for aggregating and exposing Prometheus metrics based on Telemetry.Metrics
definitions. This package does not provide a built-in web server. TelemetryMetricsPrometheus provides a server out of the box exposing a /metrics
endpoint, making setup a breeze.
This library is the core for the TelemetryMetricsPrometheus project. The TelemetryMetricsPrometheus
libary is a standalone implementation leveraging TelemetryMetricsPrometheus.Core
which ships with its own web server. Using TelemetryMetricsPrometheus
allows a quick way to get started with a Cowboy web server that runs along side your application. TelemetryMetricsPrometheus.Core
should be used if your use case is outside the scope of the TelemetryMetricsPrometheus
web server.
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.
The package can be installed by adding telemetry_metrics_prometheus_core
to your
list of dependencies in mix.exs
:
def deps do
[
{:telemetry_metrics_prometheus_core, "~> 0.2"}
]
end
See the documentation on Hexdocs for more information.
Contributors are highly welcome!
Additional documentation and tests, TLS support, and benchmarking are all needed.
Please open an issue for discussion before undertaking anything non-trivial before jumping in and submitting a PR.