OpenTelemetry Web
This module provides automated instrumentation and tracing for Web applications.
For manual instrumentation see the
@opentelemetry/tracing package.
How does automatic tracing work?
This package exposes a class WebTracer
that will be able to automatically trace things in Browser only.
See the example how to use it.
OpenTelemetry comes with a growing number of instrumentation plugins for well know modules (see supported modules) and an API to create custom plugins (see the plugin developer guide).
Web Tracer currently supports one plugin for document load.
Unlike Node Tracer, the plugins needs to be initialised and passed in configuration.
The reason is to give user full control over which plugin will be bundled into web page.
You can choose to use the ZoneScopeManager if you want to trace asynchronous operations.
Installation
npm install --save @opentelemetry/web
Usage
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracer } from '@opentelemetry/web';
import { DocumentLoad } from '@opentelemetry/plugin-document-load';
import { ZoneScopeManager } from '@opentelemetry/scope-zone';
const webTracer = new WebTracer({
plugins: [
new DocumentLoad()
]
});
webTracer.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
const webTracerWithZone = new WebTracer({
scopeManager: new ZoneScopeManager(),
plugins: [
new DocumentLoad()
]
});
webTracerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
Useful links
License
Apache 2.0 - See LICENSE for more information.