Skip to content

Commit

Permalink
Merge branch 'master' into renovate/ts-mocha-8.x
Browse files Browse the repository at this point in the history
  • Loading branch information
dyladan authored Dec 2, 2020
2 parents c6b1618 + 42187f2 commit 235bd28
Show file tree
Hide file tree
Showing 11 changed files with 91 additions and 83 deletions.
4 changes: 2 additions & 2 deletions packages/opentelemetry-api/src/trace/NoopTracer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Span, SpanOptions, Tracer, SpanContext } from '..';
import { Context } from '@opentelemetry/context-base';
import { NoopSpan, NOOP_SPAN } from './NoopSpan';
import { isSpanContextValid } from './spancontext-utils';
import { getActiveSpan } from '../context/context';
import { getParentSpanContext } from '../context/context';

/**
* No-op implementations of {@link Tracer}.
Expand All @@ -35,7 +35,7 @@ export class NoopTracer implements Tracer {
return NOOP_SPAN;
}

const parentFromContext = context && getActiveSpan(context)?.context();
const parentFromContext = context && getParentSpanContext(context);

if (
isSpanContext(parentFromContext) &&
Expand Down
8 changes: 5 additions & 3 deletions packages/opentelemetry-context-zone-peer-dep/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,17 @@ npm install --save @opentelemetry/context-zone-peer-dep

```js
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracer } from '@opentelemetry/web';
import { WebTracerProvider } from '@opentelemetry/web';
import { ZoneContextManager } from '@opentelemetry/context-zone-peer-dep';

const webTracerWithZone = new WebTracer({
const providerWithZone = new WebTracerProvider();
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
providerWithZone.register({
contextManager: new ZoneContextManager()
});
webTracerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));

// Example how the ZoneContextManager keeps the reference to the correct context during async operations
const webTracerWithZone = providerWithZone.getTracer('default');
const span1 = webTracerWithZone.startSpan('foo1');
webTracerWithZone.withSpan(span1, () => {
console.log('Current span is span1', webTracerWithZone.getCurrentSpan() === span1);
Expand Down
8 changes: 5 additions & 3 deletions packages/opentelemetry-context-zone/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,17 @@ npm install --save @opentelemetry/context-zone

```js
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracer } from '@opentelemetry/web';
import { WebTracerProvider } from '@opentelemetry/web';
import { ZoneContextManager } from '@opentelemetry/context-zone';

const webTracerWithZone = new WebTracer({
const providerWithZone = new WebTracerProvider();
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.register({
contextManager: new ZoneContextManager()
});
webTracerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));

// Example how the ZoneContextManager keeps the reference to the correct context during async operations
const webTracerWithZone = providerWithZone.getTracer('default');
const span1 = webTracerWithZone.startSpan('foo1');
webTracerWithZone.withSpan(span1, () => {
console.log('Current span is span1', webTracerWithZone.getCurrentSpan() === span1);
Expand Down
46 changes: 23 additions & 23 deletions packages/opentelemetry-core/test/context/HttpTraceContext.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import {
defaultTextMapSetter,
SpanContext,
TraceFlags,
getActiveSpan,
getParentSpanContext,
setExtractedSpanContext,
} from '@opentelemetry/api';
import { ROOT_CONTEXT } from '@opentelemetry/context-base';
Expand Down Expand Up @@ -84,9 +84,9 @@ describe('HttpTraceContext', () => {
it('should extract context of a sampled span from carrier', () => {
carrier[TRACE_PARENT_HEADER] =
'00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01';
const extractedSpanContext = getActiveSpan(
const extractedSpanContext = getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);

assert.deepStrictEqual(extractedSpanContext, {
spanId: 'b7ad6b7169203331',
Expand All @@ -99,9 +99,9 @@ describe('HttpTraceContext', () => {
it('should extract context of a sampled span from carrier using a future version', () => {
carrier[TRACE_PARENT_HEADER] =
'cc-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01';
const extractedSpanContext = getActiveSpan(
const extractedSpanContext = getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);

assert.deepStrictEqual(extractedSpanContext, {
spanId: 'b7ad6b7169203331',
Expand All @@ -114,9 +114,9 @@ describe('HttpTraceContext', () => {
it('should extract context of a sampled span from carrier using a future version and future fields', () => {
carrier[TRACE_PARENT_HEADER] =
'cc-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01-what-the-future-will-be-like';
const extractedSpanContext = getActiveSpan(
const extractedSpanContext = getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);

assert.deepStrictEqual(extractedSpanContext, {
spanId: 'b7ad6b7169203331',
Expand All @@ -128,19 +128,19 @@ describe('HttpTraceContext', () => {

it('returns null if traceparent header is missing', () => {
assert.deepStrictEqual(
getActiveSpan(
getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context(),
),
undefined
);
});

it('returns null if traceparent header is invalid', () => {
carrier[TRACE_PARENT_HEADER] = 'invalid!';
assert.deepStrictEqual(
getActiveSpan(
getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context(),
),
undefined
);
});
Expand All @@ -151,9 +151,9 @@ describe('HttpTraceContext', () => {
'00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01-extra';

assert.deepStrictEqual(
getActiveSpan(
getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context(),
),
undefined
);
});
Expand All @@ -162,9 +162,9 @@ describe('HttpTraceContext', () => {
carrier[TRACE_PARENT_HEADER] = [
'00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01',
];
const extractedSpanContext = getActiveSpan(
const extractedSpanContext = getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);
assert.deepStrictEqual(extractedSpanContext, {
spanId: 'b7ad6b7169203331',
traceId: '0af7651916cd43dd8448eb211c80319c',
Expand All @@ -177,9 +177,9 @@ describe('HttpTraceContext', () => {
carrier[TRACE_PARENT_HEADER] =
'00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01';
carrier[TRACE_STATE_HEADER] = 'foo=bar,baz=qux';
const extractedSpanContext = getActiveSpan(
const extractedSpanContext = getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);

assert.deepStrictEqual(
extractedSpanContext!.traceState!.get('foo'),
Expand All @@ -195,9 +195,9 @@ describe('HttpTraceContext', () => {
carrier[TRACE_PARENT_HEADER] =
'00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01';
carrier[TRACE_STATE_HEADER] = ['foo=bar,baz=qux', 'quux=quuz'];
const extractedSpanContext = getActiveSpan(
const extractedSpanContext = getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);
assert.deepStrictEqual(extractedSpanContext, {
spanId: 'b7ad6b7169203331',
traceId: '0af7651916cd43dd8448eb211c80319c',
Expand Down Expand Up @@ -249,9 +249,9 @@ describe('HttpTraceContext', () => {
Object.getOwnPropertyNames(testCases).forEach(testCase => {
carrier[TRACE_PARENT_HEADER] = testCases[testCase];

const extractedSpanContext = getActiveSpan(
const extractedSpanContext = getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);
assert.deepStrictEqual(extractedSpanContext, undefined, testCase);
});
});
Expand All @@ -260,9 +260,9 @@ describe('HttpTraceContext', () => {
carrier[TRACE_PARENT_HEADER] =
'00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01';
carrier[TRACE_STATE_HEADER] = 'foo=1 \t , \t bar=2, \t baz=3 ';
const extractedSpanContext = getActiveSpan(
const extractedSpanContext = getParentSpanContext(
httpTraceContext.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);

assert.deepStrictEqual(extractedSpanContext!.traceState!.get('foo'), '1');
assert.deepStrictEqual(extractedSpanContext!.traceState!.get('bar'), '2');
Expand Down
10 changes: 5 additions & 5 deletions packages/opentelemetry-core/test/context/composite.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import {
defaultTextMapSetter,
TextMapPropagator,
SpanContext,
getActiveSpan,
getParentSpanContext,
setExtractedSpanContext,
} from '@opentelemetry/api';
import { Context, ROOT_CONTEXT } from '@opentelemetry/context-base';
Expand Down Expand Up @@ -113,9 +113,9 @@ describe('Composite Propagator', () => {
const composite = new CompositePropagator({
propagators: [new B3MultiPropagator(), new HttpTraceContext()],
});
const spanContext = getActiveSpan(
const spanContext = getParentSpanContext(
composite.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);

if (!spanContext) {
throw new Error('no extracted context');
Expand All @@ -132,9 +132,9 @@ describe('Composite Propagator', () => {
const composite = new CompositePropagator({
propagators: [new ThrowingPropagator(), new HttpTraceContext()],
});
const spanContext = getActiveSpan(
const spanContext = getParentSpanContext(
composite.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter)
)?.context();
);

if (!spanContext) {
throw new Error('no extracted context');
Expand Down
2 changes: 1 addition & 1 deletion packages/opentelemetry-exporter-collector-proto/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[![devDependencies][devDependencies-image]][devDependencies-url]
[![Apache License][license-image]][license-image]

This module provides exporter for web and node to be used with [opentelemetry-collector][opentelemetry-collector-url] - last tested with version **0.6.0**.
This module provides exporter for node to be used with [opentelemetry-collector][opentelemetry-collector-url] - last tested with version **0.6.0**.

## Installation

Expand Down
16 changes: 10 additions & 6 deletions packages/opentelemetry-instrumentation-xml-http-request/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,36 @@ npm install --save @opentelemetry/instrumentation-xml-http-request

```js
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracer } from '@opentelemetry/web';
import { WebTracerProvider } from '@opentelemetry/web';
import { XMLHttpRequestInstrumentation } from '@opentelemetry/instrumentation-xml-http-request';
import { ZoneContextManager } from '@opentelemetry/context-zone';

// this is still possible
const webTracerWithZone = new WebTracer({
contextManager: new ZoneContextManager(),
const providerWithZone = new WebTracerProvider({
plugins: [
new XMLHttpRequestInstrumentation({
propagateTraceHeaderCorsUrls: ['http://localhost:8090']
})
]
});
providerWithZone.register({
contextManager: new ZoneContextManager(),
});
const webTracerWithZone = providerWithZone.getTracer('default');
/////////////////////////////////////////

// or plugin can be also initialised separately and then set the tracer provider or meter provider
const xmlHttpRequestInstrumentation = new XMLHttpRequestInstrumentation({
propagateTraceHeaderCorsUrls: ['http://localhost:8090']
});
const webTracerWithZone = new WebTracer({
const providerWithZone = new WebTracerProvider();
providerWithZone.register({
contextManager: new ZoneContextManager(),
});
xmlHttpRequestInstrumentation.setTracerProvider(webTracerWithZone);
xmlHttpRequestInstrumentation.setTracerProvider(providerWithZone);
/////////////////////////////////////////

webTracerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
providerWithZone.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));

// and some test
const req = new XMLHttpRequest();
Expand Down
Loading

0 comments on commit 235bd28

Please sign in to comment.