OpenTelemetry Tracing SDK
The tracing
module contains the foundation for all tracing SDKs of opentelemetry-js.
Used standalone, this module provides methods for manual instrumentation of code, offering full control over span creation for client-side JavaScript (browser) and Node.js.
It does not provide automated instrumentation of known libraries, context propagation for asynchronous invocations or distributed-context out-of-the-box.
For automated instrumentation for Node.js, please see
@opentelemetry/node.
Installation
npm install --save @opentelemetry/api
npm install --save @opentelemetry/tracing
Usage
const opentelemetry = require('@opentelemetry/api');
const { BasicTracerProvider } = require('@opentelemetry/tracing');
new BasicTracerProvider().register();
const span = opentelemetry.trace.getTracer('default').startSpan('foo');
span.setAttribute('key', 'value');
span.end();
Config
Tracing configuration is a merge of user supplied configuration with both the default
configuration as specified in config.ts and an
environmentally configurable sampling (via OTEL_TRACES_SAMPLER
and OTEL_TRACES_SAMPLER_ARG
).
Example
See examples/basic-tracer-node for an end-to-end example, including exporting created spans.
Useful links
License
Apache 2.0 - See LICENSE for more information.