@opentelemetry/exporter-zipkin
v1.30.0
Published
OpenTelemetry Zipkin Exporter allows the user to send collected traces to Zipkin.
Downloads
11,748,411
Readme
OpenTelemetry Zipkin Trace Exporter
OpenTelemetry Zipkin Trace Exporter allows the user to send collected traces to Zipkin.
Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both the collection and lookup of this data.
Installation
npm install --save @opentelemetry/exporter-zipkin
Usage in Node and Browser
Install the exporter on your application and pass the options. serviceName
is an optional string. If omitted, the exporter will first try to get the service name from the Resource. If no service name can be detected on the Resource, a fallback name of "OpenTelemetry Service" will be used.
const { ZipkinExporter } = require('@opentelemetry/exporter-zipkin');
// Add your zipkin url (`http://localhost:9411/api/v2/spans` is used as
// default) and application name to the Zipkin options.
// You can also define your custom headers which will be added automatically.
const options = {
headers: {
'my-header': 'header-value',
},
url: 'your-zipkin-url',
// optional interceptor
getExportRequestHeaders: () => {
return {
'my-header': 'header-value',
}
}
}
const exporter = new ZipkinExporter(options);
Now, register the exporter and start tracing.
const tracerProvider = new NodeTracerProvider({
spanProcessors: [new BatchSpanProcessor(exporter)]
})
const tracer = traceProvider.getTracer('my-tracer')
You can use built-in SimpleSpanProcessor
or BatchSpanProcessor
or write your own.
- SimpleSpanProcessor: The implementation of
SpanProcessor
that passes ended span directly to the configuredSpanExporter
. - BatchSpanProcessor: The implementation of the
SpanProcessor
that batches ended spans and pushes them to the configuredSpanExporter
. It is recommended to use thisSpanProcessor
for better performance and optimization.
Options
- getExportRequestHeaders - optional interceptor that allows adding new headers every time time the exporter is going to send spans. This is optional and can be used if headers are changing over time. This is a sync callback.
Viewing your traces
Please visit the Zipkin UI endpoint http://localhost:9411
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
- For Zipkin project at https://zipkin.io/
- For help or feedback on this project, join us in GitHub Discussions
License
Apache 2.0 - See LICENSE for more information.