OpenTelemetry SDK
    Preparing search index...

    Module @opentelemetry/context-zone

    OpenTelemetry Context Zone

    NPM Published Version Apache License

    This module provides Zone Context Manager with bundled zone-js for Web applications. If you have your own zone-js please use @opentelemetry/context-zone-peer-dep If you use Angular it means you already have the zone-js and you should use @opentelemetry/context-zone-peer-dep

    npm install --save @opentelemetry/context-zone
    
    import { context, trace } from '@opentelemetry/api';
    import {
    ConsoleSpanExporter,
    SimpleSpanProcessor,
    WebTracerProvider,
    } from '@opentelemetry/sdk-trace-web';
    import { ZoneContextManager } from '@opentelemetry/context-zone';

    const providerWithZone = new WebTracerProvider({
    spanProcessors: [new SimpleSpanProcessor(new ConsoleSpanExporter())]
    });
    providerWithZone.register({
    contextManager: new ZoneContextManager()
    });

    // Example how the ZoneContextManager keeps the reference to the correct context during async operations
    const webTracerWithZone = providerWithZone.getTracer('default');
    const span1 = webTracerWithZone.startSpan('foo1');

    context.with(trace.setSpan(context.active(), span1), () => {
    console.log('Current span is span1', trace.getSpan(context.active()) === span1);
    setTimeout(() => {
    const span2 = webTracerWithZone.startSpan('foo2');
    console.log('Current span is span1', trace.getSpan(context.active()) === span1);
    context.with(trace.setSpan(context.active(), span2), () => {
    console.log('Current span is span2', trace.getSpan(context.active()) === span2);
    setTimeout(() => {
    console.log('Current span is span2', trace.getSpan(context.active()) === span2);
    }, 500);
    });
    // there is a timeout which still keeps span2 active
    console.log('Current span is span2', trace.getSpan(context.active()) === span2);
    }, 500);
    console.log('Current span is span1', trace.getSpan(context.active()) === span1);
    });

    Apache 2.0 - See LICENSE for more information.

    ZoneContextManager
    TargetWithEvents
    Func