Skip to content
Branch: master
Find file History
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
src
test
.npmignore
LICENSE
README.md
package.json
tsconfig.json
tslint.json

README.md

OpenTelemetry Jaeger Trace Exporter

Gitter chat NPM Published Version dependencies devDependencies Apache License

OpenTelemetry Jaeger Trace Exporter allows the user to send collected traces to Jaeger.

Jaeger, inspired by Dapper and OpenZipkin, is a distributed tracing system released as open source by Uber Technologies. It is used for monitoring and troubleshooting microservices-based distributed systems, including:

  • Distributed context propagation
  • Distributed transaction monitoring
  • Root cause analysis
  • Service dependency analysis
  • Performance / latency optimization

Prerequisites

Get up and running with Jaeger in your local environment.

Jaeger stores and queries traces exported by applications instrumented with OpenTelemetry. The easiest way to start a Jaeger server is to paste the below:

docker run -d --name jaeger \
  -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
  -p 5775:5775/udp \
  -p 6831:6831/udp \
  -p 6832:6832/udp \
  -p 5778:5778 \
  -p 16686:16686 \
  -p 14268:14268 \
  -p 9411:9411 \
  jaegertracing/all-in-one:latest

Or run the jaeger-all-in-one(.exe) executable from the binary distribution archives:

jaeger-all-in-one --collector.zipkin.http-port=9411

You can then navigate to http://localhost:16686 to access the Jaeger UI.

Installation

npm install --save @opentelemetry/exporter-jaeger

Usage

Install the exporter on your application and pass the options, it must contain a service name.

import { JaegerExporter } from '@opentelemetry/exporter-jaeger';

const options = {
  serviceName: 'my-service',
  tags: [], // optional
  host: 'localhost', // optional
  port: 6832, // optional
  maxPacketSize: 65000 // optional
}
const exporter = new JaegerExporter(options);

Now, register the exporter.

tracer.addSpanProcessor(new BatchSpanProcessor(exporter));

You can use built-in SimpleSpanProcessor or BatchSpanProcessor or write your own.

  • SimpleSpanProcessor: The implementation of SpanProcessor that passes ended span directly to the configured SpanExporter.
  • BatchSpanProcessor: The implementation of the SpanProcessor that batches ended spans and pushes them to the configured SpanExporter. It is recommended to use this SpanProcessor for better performance and optimization.

Useful links

License

Apache 2.0 - See LICENSE for more information.

You can’t perform that action at this time.