@labshare/exporter-prometheus-push
v0.1.13
Published
OpenTelemetry Exporter Prometheus provides a metrics endpoint for Prometheus with push
Downloads
9
Maintainers
Readme
OpenTelemetry Prometheus Metric Exporter
Note: This is an experimental package under active development. New releases may include breaking changes.
The OpenTelemetry Prometheus Metrics Exporter allows the user to send collected OpenTelemetry Metrics to Prometheus.
Prometheus is a monitoring system that collects metrics, by scraping exposed endpoints at regular intervals, evaluating rule expressions. It can also trigger alerts if certain conditions are met. For assistance setting up Prometheus, Click here for a guided codelab.
Installation
npm install --save @opentelemetry/sdk-metrics
npm install --save @opentelemetry/exporter-prometheus
Usage
Create & register the exporter on your application.
const { PrometheusExporter } = require('@opentelemetry/exporter-prometheus');
const { MeterProvider } = require('@opentelemetry/sdk-metrics');
// Add your port and startServer to the Prometheus options
const options = {port: 9464, startServer: true};
const exporter = new PrometheusExporter(options);
// Creates MeterProvider and installs the exporter as a MetricReader
const meterProvider = new MeterProvider();
meterProvider.addMetricReader(exporter);
const meter = meterProvider.getMeter('example-prometheus');
// Now, start recording data
const counter = meter.createCounter('metric_name', {
description: 'Example of a counter'
});
counter.add(10, { pid: process.pid });
// .. some other work
Viewing your metrics
With the above you should now be able to navigate to the Prometheus UI at: http://localhost:9464/metrics
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- To learn more about Prometheus, visit: https://prometheus.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
- For help or feedback on this project, join us in GitHub Discussions
License
Apache 2.0 - See LICENSE for more information.