0.12.2 • Published 3 years ago

kelvin-exporter-prometheus v0.12.2

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
3 years ago

OpenTelemetry Prometheus Metric Exporter

Gitter chat NPM Published Version dependencies devDependencies Apache License

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', {
  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

License

Apache 2.0 - See LICENSE for more information.