Package Exports
- @opentelemetry/exporter-trace-otlp-proto
- @opentelemetry/exporter-trace-otlp-proto/build/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@opentelemetry/exporter-trace-otlp-proto) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
OpenTelemetry Collector Exporter for node with protobuf
This module provides exporter for node to be used with opentelemetry-collector.
Compatible with opentelemetry-collector versions >=0.32 <=0.50
.
Installation
npm install --save @opentelemetry/exporter-trace-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 documentation and sample code for the metric exporter, see the exporter-metrics-otlp-proto package
Traces in Node - PROTO over http
const { BasicTracerProvider, SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-proto');
const collectorOptions = {
url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:4318/v1/traces
headers: {
foo: 'bar'
}, //an optional object containing custom headers to be sent with each request will only work with http
};
const provider = new BasicTracerProvider();
const exporter = new OTLPTraceExporter(collectorOptions);
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
provider.register();
Exporter Timeout Configuration
The OTLPTraceExporter has a timeout configuration option which is the maximum time, in milliseconds, the OTLP exporter will wait for each batch export. The default value is 10000ms.
To override the default timeout duration, use the following options:
Set with environment variables:
Environment variable Description OTEL_EXPORTER_OTLP_TRACES_TIMEOUT The maximum waiting time, in milliseconds, allowed to send each OTLP trace batch. Default is 10000. OTEL_EXPORTER_OTLP_TIMEOUT The maximum waiting time, in milliseconds, allowed to send each OTLP trace and metric batch. Default is 10000. OTEL_EXPORTER_OTLP_TRACES_TIMEOUT
takes precedence and overridesOTEL_EXPORTER_OTLP_TIMEOUT
.Provide
timeoutMillis
to OTLPTraceExporter withcollectorOptions
:const collectorOptions = { timeoutMillis: 15000, url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:4318/v1/traces headers: { foo: 'bar' }, //an optional object containing custom headers to be sent with each request will only work with http }; const exporter = new OTLPTraceExporter(collectorOptions);
Providing
timeoutMillis
withcollectorOptions
takes precedence and overrides timeout set with environment variables.
Running opentelemetry-collector locally to see the traces
- Go to examples/otlp-exporter-node
- run
npm run docker:start
- Open page at
http://localhost:9411/zipkin/
to observe the traces
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.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.