@opentelemetry/exporter-metrics-otlp-proto

OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector using protobuf over HTTP

Usage no npm install needed!

<script type="module">
  import opentelemetryExporterMetricsOtlpProto from 'https://cdn.skypack.dev/@opentelemetry/exporter-metrics-otlp-proto';
</script>

README

OpenTelemetry Collector Metrics Exporter for node with protobuf

NPM Published Version dependencies devDependencies Apache License

This module provides exporter for node to be used with opentelemetry-collector - last tested with version 0.25.0.

Installation

npm install --save @opentelemetry/exporter-metrics-otlp-proto

Service Name

The OpenTelemetry Collector Exporter does not have a service name configuration. In order to set the service name, use the service.name resource attribute as prescribed in the OpenTelemetry Resource Semantic Conventions. To see sample code and documentation for the traces exporter, visit the Collector Trace Exporter for web and node.

Metrics in Node - PROTO over http

const { MeterProvider } = require('@opentelemetry/sdk-metrics-base');
const { OTLPMetricExporter } =  require('@opentelemetry/exporter-metrics-otlp-proto');
const collectorOptions = {
  url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:55681/v1/metrics
};
const exporter = new OTLPMetricExporter(collectorOptions);

// Register the exporter
const meter = new MeterProvider({
  exporter,
  interval: 60000,
}).getMeter('example-meter');

// Now, start recording data
const counter = meter.createCounter('metric_name');
counter.add(10, { 'key': 'value' });

Running opentelemetry-collector locally to see the metrics

  1. Go to examples/otlp-exporter-node
  2. run npm run docker:start
  3. Open page at http://localhost:9411/zipkin/ to observe the metrics

Useful links

License

Apache 2.0 - See LICENSE for more information.