Skip to content

Commit

Permalink
chore: update samples and readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Flarna committed Dec 21, 2020
1 parent 7286e6d commit bceec5e
Show file tree
Hide file tree
Showing 15 changed files with 58 additions and 60 deletions.
5 changes: 2 additions & 3 deletions examples/basic-tracer-node/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,8 @@ exporter.shutdown();
function doWork(parent) {
// Start another span. In this example, the main method already started a
// span, so that'll be the parent span, and this will be a child span.
const span = tracer.startSpan('doWork', {
parent,
});
const ctx = opentelemetry.setActiveSpan(opentelemetry.context.active(), parent);
const span = tracer.startSpan('doWork', undefined, ctx);

// simulate some random work.
for (let i = 0; i <= Math.floor(Math.random() * 40000000); i += 1) {
Expand Down
5 changes: 2 additions & 3 deletions examples/collector-exporter-node/tracing.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,8 @@ setTimeout(() => {
function doWork(parent) {
// Start another span. In this example, the main method already started a
// span, so that'll be the parent span, and this will be a child span.
const span = tracer.startSpan('doWork', {
parent,
});
const ctx = opentelemetry.setActiveSpan(opentelemetry.context.active(), parent);
const span = tracer.startSpan('doWork', undefined, ctx);

// simulate some random work.
for (let i = 0; i <= Math.floor(Math.random() * 40000000); i += 1) {
Expand Down
3 changes: 2 additions & 1 deletion examples/grpc-js/client.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const api = require('@opentelemetry/api');
const tracer = require('./tracer')('example-grpc-client');
// eslint-disable-next-line import/order
const grpc = require('@grpc/grpc-js');
Expand All @@ -14,7 +15,7 @@ function main() {
// the span, which is created to track work that happens outside of the
// request lifecycle entirely.
const span = tracer.startSpan('client.js:main()');
tracer.withSpan(span, () => {
api.context.with(api.setActiveSpan(api.context.active(), span), () => {
console.log('Client traceId ', span.context().traceId);
const client = new services.GreeterClient(
`localhost:${PORT}`,
Expand Down
4 changes: 2 additions & 2 deletions examples/grpc-js/server.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const api = require('@opentelemetry/api');
const tracer = require('./tracer')(('example-grpc-server'));
// eslint-disable-next-line import/order
const grpc = require('@grpc/grpc-js');
Expand All @@ -21,11 +22,10 @@ function startServer() {
}

function sayHello(call, callback) {
const currentSpan = tracer.getCurrentSpan();
const currentSpan = api.getActiveSpan(api.context.active());
// display traceid in the terminal
console.log(`traceid: ${currentSpan.context().traceId}`);
const span = tracer.startSpan('server.js:sayHello()', {
parent: currentSpan,
kind: 1, // server
attributes: { key: 'value' },
});
Expand Down
3 changes: 2 additions & 1 deletion examples/grpc/client.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const api = require('@opentelemetry/api');
const tracer = require('./tracer')('example-grpc-client');
// eslint-disable-next-line import/order
const grpc = require('grpc');
Expand All @@ -14,7 +15,7 @@ function main() {
// the span, which is created to track work that happens outside of the
// request lifecycle entirely.
const span = tracer.startSpan('client.js:main()');
tracer.withSpan(span, () => {
api.context.with(api.setActiveSpan(api.context.active(), span), () => {
console.log('Client traceId ', span.context().traceId);
const client = new services.GreeterClient(
`localhost:${PORT}`,
Expand Down
3 changes: 2 additions & 1 deletion examples/grpc/server.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const api = require('@opentelemetry/api');
const tracer = require('./tracer')(('example-grpc-server'));
// eslint-disable-next-line import/order
const grpc = require('grpc');
Expand All @@ -20,7 +21,7 @@ function startServer() {
}

function sayHello(call, callback) {
const currentSpan = tracer.getCurrentSpan();
const currentSpan = api.getActiveSpan(api.context.active());
// display traceid in the terminal
console.log(`traceid: ${currentSpan.context().traceId}`);
const span = tracer.startSpan('server.js:sayHello()', {
Expand Down
3 changes: 2 additions & 1 deletion examples/http/client.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const api = require('@opentelemetry/api');
const tracer = require('./tracer')('example-http-client');
// eslint-disable-next-line import/order
const http = require('http');
Expand All @@ -10,7 +11,7 @@ function makeRequest() {
// the span, which is created to track work that happens outside of the
// request lifecycle entirely.
const span = tracer.startSpan('makeRequest');
tracer.withSpan(span, () => {
api.context.with(api.setActiveSpan(api.context.active(), span), () => {
http.get({
host: 'localhost',
port: 8080,
Expand Down
4 changes: 2 additions & 2 deletions examples/http/server.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const api = require('@opentelemetry/api');
const tracer = require('./tracer')('example-http-server');
// eslint-disable-next-line import/order
const http = require('http');
Expand All @@ -19,11 +20,10 @@ function startServer(port) {

/** A function which handles requests and send response. */
function handleRequest(request, response) {
const currentSpan = tracer.getCurrentSpan();
const currentSpan = api.getActiveSpan(api.context.active());
// display traceid in the terminal
console.log(`traceid: ${currentSpan.context().traceId}`);
const span = tracer.startSpan('handleRequest', {
parent: currentSpan,
kind: 1, // server
attributes: { key: 'value' },
});
Expand Down
3 changes: 2 additions & 1 deletion examples/https/client.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const api = require('@opentelemetry/api');
const tracer = require('./tracer')('example-https-client');
// eslint-disable-next-line import/order
const https = require('https');
Expand All @@ -10,7 +11,7 @@ function makeRequest() {
// the span, which is created to track work that happens outside of the
// request lifecycle entirely.
const span = tracer.startSpan('makeRequest');
tracer.withSpan(span, () => {
api.context.with(api.setActiveSpan(api.context.active(), span), () => {
https.get({
host: 'localhost',
port: 443,
Expand Down
4 changes: 2 additions & 2 deletions examples/https/server.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const api = require('@opentelemetry/api');
// eslint-disable-next-line import/order
const tracer = require('./tracer')('example-https-server');
const fs = require('fs');
Expand All @@ -24,11 +25,10 @@ function startServer(port) {

/** A function which handles requests and send response. */
function handleRequest(request, response) {
const currentSpan = tracer.getCurrentSpan();
const currentSpan = api.getActiveSpan(api.context.active());
// display traceid in the terminal
console.log(`traceid: ${currentSpan.context().traceId}`);
const span = tracer.startSpan('handleRequest', {
parent: currentSpan,
kind: 1, // server
attributes: { key: 'value' },
});
Expand Down
25 changes: 12 additions & 13 deletions examples/tracer-web/examples/document-load/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { context, getActiveSpan, setActiveSpan } from '@opentelemetry/api';
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracerProvider } from '@opentelemetry/web';
import { DocumentLoad } from '@opentelemetry/plugin-document-load';
Expand Down Expand Up @@ -52,31 +53,29 @@ const prepareClickEvent = () => {
}

const mainSpan = tracer.startSpan('click button');
tracer.withSpan(mainSpan, () => {
const span1 = tracer.startSpan('files-series-info-1', {
parent: tracer.getCurrentSpan(),
});
context.with(setActiveSpan(context.active(), mainSpan), () => {
const span1 = tracer.startSpan('files-series-info-1');

const span2 = tracer.startSpan('files-series-info-2', {
parent: tracer.getCurrentSpan(),
});
const span2 = tracer.startSpan('files-series-info-2');

tracer.withSpan(span1, () => {
context.with(setActiveSpan(context.active(), span1), () => {
getData(url1).then((data) => {
console.log('current span is span1', tracer.getCurrentSpan() === span1);
const curSpan = getActiveSpan(context.active());
console.log('current span is span1', curSpan === span1);
console.log('info from package.json', data.description, data.version);
tracer.getCurrentSpan().addEvent('fetching-span1-completed');
curSpan.addEvent('fetching-span1-completed');
span1.end();
finish();
});
});

tracer.withSpan(span2, () => {
context.with(setActiveSpan(context.active(), span2), () => {
getData(url2).then((data) => {
setTimeout(() => {
console.log('current span is span2', tracer.getCurrentSpan() === span2);
const curSpan = getActiveSpan(context.active());
console.log('current span is span2', curSpan === span2);
console.log('info from package.json', data.description, data.version);
tracer.getCurrentSpan().addEvent('fetching-span2-completed');
curSpan.addEvent('fetching-span2-completed');
span2.end();
finish();
}, 100);
Expand Down
17 changes: 7 additions & 10 deletions examples/tracer-web/examples/fetch/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

import { context, getActiveSpan, setActiveSpan } from '@opentelemetry/api';
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';
import { WebTracerProvider } from '@opentelemetry/web';
Expand Down Expand Up @@ -44,22 +45,18 @@ const prepareClickEvent = () => {
const element = document.getElementById('button1');

const onClick = () => {
const singleSpan = webTracerWithZone.startSpan(`files-series-info`, {
parent: webTracerWithZone.getCurrentSpan(),
});
webTracerWithZone.withSpan(singleSpan, () => {
const singleSpan = webTracerWithZone.startSpan(`files-series-info`);
context.with(setActiveSpan(context.active(), singleSpan), () => {
getData(url).then((_data) => {
webTracerWithZone.getCurrentSpan().addEvent('fetching-single-span-completed');
getActiveSpan(context.active()).addEvent('fetching-single-span-completed');
singleSpan.end();
});
});
for (let i = 0, j = 5; i < j; i += 1) {
const span = webTracerWithZone.startSpan(`files-series-info-${i}`, {
parent: webTracerWithZone.getCurrentSpan(),
});
webTracerWithZone.withSpan(span, () => {
const span = webTracerWithZone.startSpan(`files-series-info-${i}`);
context.with(setActiveSpan(context.active(), span), () => {
getData(url).then((_data) => {
webTracerWithZone.getCurrentSpan().addEvent(`fetching-span-${i}-completed`);
getActiveSpan(context.active()).addEvent(`fetching-span-${i}-completed`);
span.end();
});
});
Expand Down
11 changes: 5 additions & 6 deletions examples/tracer-web/examples/xml-http-request/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { context, getActiveSpan, setActiveSpan } from '@opentelemetry/api';
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracerProvider } from '@opentelemetry/web';
import { XMLHttpRequestInstrumentation } from '@opentelemetry/instrumentation-xml-http-request';
Expand Down Expand Up @@ -49,15 +50,13 @@ const prepareClickEvent = () => {

const onClick = () => {
for (let i = 0, j = 5; i < j; i += 1) {
const span1 = webTracerWithZone.startSpan(`files-series-info-${i}`, {
parent: webTracerWithZone.getCurrentSpan(),
});
webTracerWithZone.withSpan(span1, () => {
const span1 = webTracerWithZone.startSpan(`files-series-info-${i}`);
context.with(setActiveSpan(context.active(), span1), () => {
getData(url1).then((_data) => {
webTracerWithZone.getCurrentSpan().addEvent('fetching-span1-completed');
getActiveSpan(context.active()).addEvent('fetching-span1-completed');
span1.end();
}, ()=> {
webTracerWithZone.getCurrentSpan().addEvent('fetching-error');
getActiveSpan(context.active()).addEvent('fetching-error');
span1.end();
});
});
Expand Down
14 changes: 7 additions & 7 deletions packages/opentelemetry-context-zone-peer-dep/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ npm install --save @opentelemetry/context-zone-peer-dep
## Usage

```js
import { context } from '@opentelemetry/api';
import { context, getActiveSpan, setActiveSpan } from '@opentelemetry/api';
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracerProvider } from '@opentelemetry/web';
import { ZoneContextManager } from '@opentelemetry/context-zone-peer-dep';
Expand All @@ -37,20 +37,20 @@ providerWithZone.register({
const webTracerWithZone = providerWithZone.getTracer('default');
const span1 = webTracerWithZone.startSpan('foo1');
context.with(setActiveSpan(context.active(), span1, () => {
console.log('Current span is span1', webTracerWithZone.getCurrentSpan() === span1);
console.log('Current span is span1', getActiveSpan(context.active()) === span1);
setTimeout(() => {
const span2 = webTracerWithZone.startSpan('foo2');
console.log('Current span is span1', webTracerWithZone.getCurrentSpan() === span1);
console.log('Current span is span1', getActiveSpan(context.active()) === span1);
context.with(setActiveSpan(context.active(), span2, () => {
console.log('Current span is span2', webTracerWithZone.getCurrentSpan() === span2);
console.log('Current span is span2', getActiveSpan(context.active()) === span2);
setTimeout(() => {
console.log('Current span is span2', webTracerWithZone.getCurrentSpan() === span2);
console.log('Current span is span2', getActiveSpan(context.active()) === span2);
}, 500);
});
// there is a timeout which still keeps span2 active
console.log('Current span is span2', webTracerWithZone.getCurrentSpan() === span2);
console.log('Current span is span2', getActiveSpan(context.active()) === span2);
}, 500);
console.log('Current span is span1', webTracerWithZone.getCurrentSpan() === span1);
console.log('Current span is span1', getActiveSpan(context.active()) === span1);
});

```
Expand Down
14 changes: 7 additions & 7 deletions packages/opentelemetry-context-zone/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ npm install --save @opentelemetry/context-zone
## Usage

```js
import { context } from '@opentelemetry/api';
import { context, getActiveSpan, setActiveSpan } from '@opentelemetry/api';
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracerProvider } from '@opentelemetry/web';
import { ZoneContextManager } from '@opentelemetry/context-zone';
Expand All @@ -35,20 +35,20 @@ const webTracerWithZone = providerWithZone.getTracer('default');
const span1 = webTracerWithZone.startSpan('foo1');

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

```
Expand Down

0 comments on commit bceec5e

Please sign in to comment.