kelvin-tracing
TypeScript icon, indicating that this package has built-in type declarations

0.12.2 • Public • Published

OpenTelemetry Tracing SDK

Gitter chat NPM Published Version dependencies devDependencies Apache License

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');

// To start a trace, you first need to initialize the Tracer provider.
// NOTE: The default OpenTelemetry tracer provider does not record any tracing information.
//       Registering a working tracer provider allows the API methods to record traces.
new BasicTracerProvider().register();

// To create a span in a trace, we used the global singleton tracer to start a new span.
const span = opentelemetry.trace.getTracer('default').startSpan('foo');

// Set a span attribute
span.setAttribute('key', 'value');

// We must end the spans so they become available for exporting.
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 (via OTEL_SAMPLING_PROBABILITY) probability sampler delegate of a ParentBased sampler.

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.

Package Sidebar

Install

npm i kelvin-tracing

Weekly Downloads

0

Version

0.12.2

License

Apache-2.0

Unpacked Size

92 kB

Total Files

54

Last publish

Collaborators

  • kelvin.lo