vmarchaud-exporter-prometheus
v0.8.7
Published
OpenTelemetry Exporter Prometheus provides a metrics endpoint for Prometheus
Downloads
17
Maintainers
Readme
OpenTelemetry Prometheus Metric Exporter
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/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/metrics');
// Add your port and startServer to the Prometheus options
const options = {port: 9464, startServer: true};
const exporter = new PrometheusExporter(options);
// Register the exporter
const meter = new MeterProvider({
exporter,
interval: 1000,
}).getMeter('example-prometheus');
// Now, start recording data
const counter = meter.createCounter('metric_name', {
labelKeys: ['pid'],
description: 'Example of a counter'
});
counter.add(10, { pid: process.pid });
// Record data using Instrument: It is recommended to keep a reference to the Bound Instrument instead of
// always calling `bind()` method for every operations.
const boundCounter = counter.bind({ pid: process.pid });
boundCounter.add(10);
// .. 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 on gitter
License
Apache 2.0 - See LICENSE for more information.