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.
Share feedback Package Sidebar Installnpm i @opentelemetry/context-zone
3 months ago
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4