Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
@opentelemetry/exporter-trace-otlp-http
Advanced tools
OpenTelemetry Collector Trace Exporter allows user to send collected traces to the OpenTelemetry Collector
The @opentelemetry/exporter-trace-otlp-http npm package is designed to export telemetry data (specifically traces) from applications to a backend that supports the OpenTelemetry Protocol (OTLP) over HTTP. This is part of the broader OpenTelemetry project, which aims to provide observability through tools for collecting and exporting telemetry data such as traces, metrics, and logs.
Exporting Traces
This feature allows the user to export trace data to an OTLP-compatible backend. The code sample demonstrates how to initialize the OTLPTraceExporter with a specific endpoint URL.
const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-http');
const exporter = new OTLPTraceExporter({
url: 'http://your-otlp-endpoint:4318/v1/traces'
});
This package is similar to @opentelemetry/exporter-trace-otlp-http but uses gRPC as the transport protocol instead of HTTP. It is suitable for environments where gRPC is preferred over HTTP for performance reasons or due to existing infrastructure.
The Jaeger exporter sends trace data to Jaeger, a different backend that is popular for tracing. It differs from @opentelemetry/exporter-trace-otlp-http in that it targets Jaeger's own protocol rather than OTLP.
Similar to the Jaeger exporter, the Zipkin exporter sends trace data to a Zipkin backend. This package is for those who use Zipkin as their trace data visualization and storage tool, offering an alternative to OTLP.
This module provides exporter for web and node to be used with opentelemetry-collector - last tested with version 0.25.0.
npm install --save @opentelemetry/exporter-trace-otlp-http
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-http package
The OTLPTraceExporter in Web expects the endpoint to end in /v1/traces
.
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
const collectorOptions = {
url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:55681/v1/traces
headers: {}, // an optional object containing custom headers to be sent with each request
concurrencyLimit: 10, // an optional limit on pending requests
};
const provider = new WebTracerProvider();
const exporter = new OTLPTraceExporter(collectorOptions);
provider.addSpanProcessor(new BatchSpanProcessor(exporter, {
// The maximum queue size. After the size is reached spans are dropped.
maxQueueSize: 100,
// The maximum batch size of every export. It must be smaller or equal to maxQueueSize.
maxExportBatchSize: 10,
// The interval between two consecutive exports
scheduledDelayMillis: 500,
// How long the export can run before it is cancelled
exportTimeoutMillis: 30000,
}));
provider.register();
const { BasicTracerProvider, BatchSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-http');
const collectorOptions = {
url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:55681/v1/traces
headers: {
foo: 'bar'
}, // an optional object containing custom headers to be sent with each request will only work with http
concurrencyLimit: 10, // an optional limit on pending requests
};
const provider = new BasicTracerProvider();
const exporter = new OTLPTraceExporter(collectorOptions);
provider.addSpanProcessor(new BatchSpanProcessor(exporter, {
// The maximum queue size. After the size is reached spans are dropped.
maxQueueSize: 1000,
// The interval between two consecutive exports
scheduledDelayMillis: 30000,
}));
provider.register();
For GRPC please check npm-url-grpc
For PROTOBUF please check npm-url-proto
Instead of providing options to OTLPMetricExporter
and OTLPTraceExporter
explicitly, environment variables may be provided instead.
OTEL_EXPORTER_OTLP_ENDPOINT=https://localhost:4317
# this will automatically append the version and signal path
# e.g. https://localhost:4317/v1/traces for `OTLPTraceExporter` and https://localhost:4317/v1/metrics for `OTLPMetricExporter`
If the trace and metric exporter endpoints have different providers, the env var for per-signal endpoints are available to use
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://trace-service:4317/v1/traces
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://metric-service:4317/v1/metrics
# version and signal needs to be explicit
The per-signal endpoints take precedence and overrides
OTEL_EXPORTER_OTLP_ENDPOINT
For more details, see OpenTelemetry Specification on Protocol Exporter.
npm run docker:start
http://localhost:9411/zipkin/
to observe the tracesApache 2.0 - See LICENSE for more information.
1.0.1 / Experimental 0.27.0
opentelemetry-core
opentelemetry-core
opentelemetry-semantic-conventions
opentelemetry-core
, opentelemetry-sdk-trace-base
opentelemetry-core
opentelemetry-exporter-zipkin
opentelemetry-core
opentelemetry-sdk-trace-base
, opentelemetry-sdk-trace-node
, opentelemetry-sdk-trace-web
opentelemetry-context-async-hooks
, opentelemetry-context-zone-peer-dep
, opentelemetry-core
, opentelemetry-exporter-jaeger
, opentelemetry-exporter-zipkin
, opentelemetry-propagator-b3
, opentelemetry-propagator-jaeger
, opentelemetry-resources
, opentelemetry-sdk-trace-base
, opentelemetry-sdk-trace-node
, opentelemetry-sdk-trace-web
, opentelemetry-shim-opentracing
opentelemetry-core
FAQs
OpenTelemetry Collector Trace Exporter allows user to send collected traces to the OpenTelemetry Collector
The npm package @opentelemetry/exporter-trace-otlp-http receives a total of 2,344,009 weekly downloads. As such, @opentelemetry/exporter-trace-otlp-http popularity was classified as popular.
We found that @opentelemetry/exporter-trace-otlp-http demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.