This package has been deprecated

Author message:

Package renamed to @opentelemetry/context-zone, see https://github.com/open-telemetry/opentelemetry-js

@opentelemetry/scope-zone
TypeScript icon, indicating that this package has built-in type declarations

0.4.0 • Public • Published

OpenTelemetry Scope Zone

Gitter chat NPM Published Version dependencies devDependencies Apache License

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

Installation

npm install --save @opentelemetry/scope-zone

Usage

import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracer } from '@opentelemetry/web';
import { ZoneScopeManager } from '@opentelemetry/scope-zone';

const webTracerWithZone = new WebTracer({
  scopeManager: new ZoneScopeManager()
});
webTracerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));

// Example how the ZoneScopeManager keeps the reference to the correct scope during async operations
const span1 = webTracerWithZone.startSpan('foo1');
webTracerWithZone.withSpan(span1, () => {
  console.log('Current span is span1', webTracerWithZone.getCurrentSpan() === span1);
  setTimeout(() => {
    const span2 = webTracerWithZone.startSpan('foo2');
    console.log('Current span is span1', webTracerWithZone.getCurrentSpan() === span1);
    webTracerWithZone.withSpan(span2, () => {
      console.log('Current span is span2', webTracerWithZone.getCurrentSpan() === span2);
      setTimeout(() => {
        console.log('Current span is span2', webTracerWithZone.getCurrentSpan() === span2);
      }, 500);
    });
    // there is a timeout which still keeps span2 active
    console.log('Current span is span2', webTracerWithZone.getCurrentSpan() === span2);
  }, 500);
  console.log('Current span is span1', webTracerWithZone.getCurrentSpan() === span1);
});

Useful links

License

Apache 2.0 - See LICENSE for more information.

/@opentelemetry/scope-zone/

    Package Sidebar

    Install

    npm i @opentelemetry/scope-zone

    Weekly Downloads

    0

    Version

    0.4.0

    License

    Apache-2.0

    Unpacked Size

    19.7 kB

    Total Files

    7

    Last publish

    Collaborators

    • pichlermarc
    • bogdandrutu
    • dyladan