OpenTelemetry Collector Exporter for web and node
Note: This package is intended for internal use only.
Note: This is an experimental package under active development. New releases may include breaking changes.
This module provides base components for OTLP Exporters, both Web and Node.js.
Installation
npm install --save @opentelemetry/otlp-exporter-base
HTTP exporter configuration
HTTP JSON and HTTP/protobuf exporters for traces, metrics, and logs share these configuration options.
Node.js exporters accept OTLPExporterNodeConfigBase, which also includes the options from OTLPExporterConfigBase.
Configuration precedence is: programmatic options, then per-signal environment variables, then general environment variables, then built-in defaults.
| Option | Type | Default | Description |
|---|---|---|---|
url |
string |
undefined (default resolved per precedence above) |
Collector endpoint URL. |
headers |
Record<string, string> | HeadersFactory |
undefined |
Custom HTTP headers. A factory function may be async and must not throw. Exporters still apply required transport headers. |
concurrencyLimit |
number |
30 |
Maximum number of in-flight export requests. |
timeoutMillis |
number |
10000 |
Maximum time, in milliseconds, to wait for each batch export. |
compression |
CompressionAlgorithm.NONE | CompressionAlgorithm.GZIP |
CompressionAlgorithm.NONE |
Compression for outgoing OTLP HTTP requests in Node.js. |
keepAlive |
boolean |
true |
Sets keepAlive on the Node.js HTTP or HTTPS agent created by the exporter. A keepAlive value in httpAgentOptions takes precedence. |
httpAgentOptions |
http.AgentOptions | https.AgentOptions | HttpAgentFactory |
Agent options with keepAlive: true |
Custom Node.js HTTP or HTTPS agent options, or a factory function that receives the request protocol and returns an agent. |
userAgent |
string |
The exporter's default user agent | Prefix to add to the exporter's default User-Agent header in Node.js. |
| Option | General environment variable | Signal-specific environment variables |
|---|---|---|
url |
OTEL_EXPORTER_OTLP_ENDPOINT |
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, OTEL_EXPORTER_OTLP_METRICS_ENDPOINT, OTEL_EXPORTER_OTLP_LOGS_ENDPOINT |
headers |
OTEL_EXPORTER_OTLP_HEADERS |
OTEL_EXPORTER_OTLP_TRACES_HEADERS, OTEL_EXPORTER_OTLP_METRICS_HEADERS, OTEL_EXPORTER_OTLP_LOGS_HEADERS |
timeoutMillis |
OTEL_EXPORTER_OTLP_TIMEOUT |
OTEL_EXPORTER_OTLP_TRACES_TIMEOUT, OTEL_EXPORTER_OTLP_METRICS_TIMEOUT, OTEL_EXPORTER_OTLP_LOGS_TIMEOUT |
compression |
OTEL_EXPORTER_OTLP_COMPRESSION |
OTEL_EXPORTER_OTLP_TRACES_COMPRESSION, OTEL_EXPORTER_OTLP_METRICS_COMPRESSION, OTEL_EXPORTER_OTLP_LOGS_COMPRESSION |
concurrencyLimit |
Not supported | Not supported |
keepAlive |
Not supported | Not supported |
httpAgentOptions.ca |
OTEL_EXPORTER_OTLP_CERTIFICATE |
OTEL_EXPORTER_OTLP_{TRACES,METRICS,LOGS}_CERTIFICATE |
httpAgentOptions.cert |
OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE |
OTEL_EXPORTER_OTLP_{TRACES,METRICS,LOGS}_CLIENT_CERTIFICATE |
httpAgentOptions.key |
OTEL_EXPORTER_OTLP_CLIENT_KEY |
OTEL_EXPORTER_OTLP_{TRACES,METRICS,LOGS}_CLIENT_KEY |
userAgent |
Not supported | Not supported |
GRPC
For GRPC please check npm-url-grpc
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.