From d4df2f7ebaaaf433bd84b568c482e2788103ab71 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Sat, 5 Jun 2021 04:23:21 -0400 Subject: [PATCH] chore: update API to 0.21.0 (#2255) * chore: update API to 0.21.0 * chore: revert accidentally renamed argument * chore: fix test * chore: make tsdocs more clear --- examples/basic-tracer-node/package.json | 2 +- examples/collector-exporter-node/package.json | 2 +- examples/grpc-js/package.json | 2 +- examples/grpc/package.json | 2 +- examples/http/package.json | 2 +- examples/https/package.json | 2 +- examples/tracer-web/package.json | 2 +- .../package.json | 4 +- .../opentelemetry-api-metrics/package.json | 4 +- .../package.json | 4 +- .../src/AbstractAsyncHooksContextManager.ts | 10 ++++- .../test/AsyncHooksContextManager.test.ts | 41 +++++++++---------- .../package.json | 4 +- .../src/ZoneContextManager.ts | 7 ++-- .../test/ZoneContextManager.test.ts | 20 +++++---- packages/opentelemetry-core/package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../test/PrometheusSerializer.test.ts | 3 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../src/grpc-js/clientUtils.ts | 4 +- .../src/grpc-js/serverUtils.ts | 4 +- .../src/grpc/clientUtils.ts | 4 +- .../src/grpc/serverUtils.ts | 4 +- .../package.json | 4 +- .../src/http.ts | 14 +++---- .../package.json | 4 +- .../package.json | 4 +- packages/opentelemetry-metrics/package.json | 4 +- packages/opentelemetry-node/package.json | 4 +- .../test/NodeTracerProvider.test.ts | 2 +- .../opentelemetry-propagator-b3/package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- packages/opentelemetry-resources/package.json | 4 +- packages/opentelemetry-sdk-node/package.json | 4 +- .../package.json | 4 +- packages/opentelemetry-tracing/package.json | 4 +- .../test/BasicTracerProvider.test.ts | 2 +- .../test/export/TestStackContextManager.ts | 2 +- packages/opentelemetry-web/package.json | 4 +- .../src/StackContextManager.ts | 7 ++-- .../test/StackContextManager.test.ts | 14 +++---- 49 files changed, 135 insertions(+), 125 deletions(-) diff --git a/examples/basic-tracer-node/package.json b/examples/basic-tracer-node/package.json index a5f4da0317..312e7cc987 100644 --- a/examples/basic-tracer-node/package.json +++ b/examples/basic-tracer-node/package.json @@ -24,7 +24,7 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/exporter-jaeger": "0.20.0", "@opentelemetry/tracing": "0.20.0" }, diff --git a/examples/collector-exporter-node/package.json b/examples/collector-exporter-node/package.json index 9127d7004c..9ee76ab0a9 100644 --- a/examples/collector-exporter-node/package.json +++ b/examples/collector-exporter-node/package.json @@ -28,7 +28,7 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/core": "0.20.0", "@opentelemetry/exporter-collector": "0.20.0", "@opentelemetry/exporter-collector-grpc": "0.20.0", diff --git a/examples/grpc-js/package.json b/examples/grpc-js/package.json index 45b59ee588..94ff11c104 100644 --- a/examples/grpc-js/package.json +++ b/examples/grpc-js/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@grpc/grpc-js": "^1.2.12", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/exporter-jaeger": "0.20.0", "@opentelemetry/exporter-zipkin": "0.20.0", "@opentelemetry/instrumentation": "0.20.0", diff --git a/examples/grpc/package.json b/examples/grpc/package.json index 2c9ff53513..868d56d457 100644 --- a/examples/grpc/package.json +++ b/examples/grpc/package.json @@ -28,7 +28,7 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/exporter-jaeger": "0.20.0", "@opentelemetry/exporter-zipkin": "0.20.0", "@opentelemetry/instrumentation": "0.20.0", diff --git a/examples/http/package.json b/examples/http/package.json index 0db1c8f295..9851b52506 100644 --- a/examples/http/package.json +++ b/examples/http/package.json @@ -28,7 +28,7 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/exporter-jaeger": "0.20.0", "@opentelemetry/exporter-zipkin": "0.20.0", "@opentelemetry/instrumentation": "0.20.0", diff --git a/examples/https/package.json b/examples/https/package.json index edf216d095..3099fffcc7 100644 --- a/examples/https/package.json +++ b/examples/https/package.json @@ -29,7 +29,7 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/exporter-jaeger": "0.20.0", "@opentelemetry/exporter-zipkin": "0.20.0", "@opentelemetry/instrumentation": "0.20.0", diff --git a/examples/tracer-web/package.json b/examples/tracer-web/package.json index d361e02247..b4f505de40 100644 --- a/examples/tracer-web/package.json +++ b/examples/tracer-web/package.json @@ -34,7 +34,7 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/context-zone": "0.20.0", "@opentelemetry/core": "0.20.0", "@opentelemetry/exporter-collector": "0.20.0", diff --git a/integration-tests/propagation-validation-server/package.json b/integration-tests/propagation-validation-server/package.json index bb4737bbf3..132d9d79c2 100644 --- a/integration-tests/propagation-validation-server/package.json +++ b/integration-tests/propagation-validation-server/package.json @@ -19,10 +19,10 @@ "express": "4.17.1" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" } } diff --git a/packages/opentelemetry-api-metrics/package.json b/packages/opentelemetry-api-metrics/package.json index 19e1e6fa49..8c289df471 100644 --- a/packages/opentelemetry-api-metrics/package.json +++ b/packages/opentelemetry-api-metrics/package.json @@ -53,10 +53,10 @@ "access": "public" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/webpack-env": "1.16.0", diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index f6d52df6a3..3e3b7c8e69 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -40,7 +40,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/shimmer": "1.0.1", @@ -53,6 +53,6 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" } } diff --git a/packages/opentelemetry-context-async-hooks/src/AbstractAsyncHooksContextManager.ts b/packages/opentelemetry-context-async-hooks/src/AbstractAsyncHooksContextManager.ts index 0f540b62bb..0e9600b2c9 100644 --- a/packages/opentelemetry-context-async-hooks/src/AbstractAsyncHooksContextManager.ts +++ b/packages/opentelemetry-context-async-hooks/src/AbstractAsyncHooksContextManager.ts @@ -51,7 +51,13 @@ export abstract class AbstractAsyncHooksContextManager abstract disable(): this; - bind(target: T, context: Context = this.active()): T { + /** + * Binds a the certain context or the active one to the target function and then returns the target + * @param context A context (span) to be bind to target + * @param target a function or event emitter. When target or one of its callbacks is called, + * the provided context will be used as the active context for the duration of the call. + */ + bind(context: Context, target: T): T { if (target instanceof EventEmitter) { return this._bindEventEmitter(target, context); } @@ -180,7 +186,7 @@ export abstract class AbstractAsyncHooksContextManager listeners = new WeakMap(); map[event] = listeners; } - const patchedListener = contextManager.bind(listener, context); + const patchedListener = contextManager.bind(context, listener); // store a weak reference of the user listener to ours listeners.set(listener, patchedListener); return original.call(this, event, patchedListener); diff --git a/packages/opentelemetry-context-async-hooks/test/AsyncHooksContextManager.test.ts b/packages/opentelemetry-context-async-hooks/test/AsyncHooksContextManager.test.ts index ba0a169e91..762096c800 100644 --- a/packages/opentelemetry-context-async-hooks/test/AsyncHooksContextManager.test.ts +++ b/packages/opentelemetry-context-async-hooks/test/AsyncHooksContextManager.test.ts @@ -299,26 +299,26 @@ for (const contextManagerClass of [ describe('.bind(function)', () => { it('should return the same target (when enabled)', () => { const test = { a: 1 }; - assert.deepStrictEqual(contextManager.bind(test, ROOT_CONTEXT), test); + assert.deepStrictEqual(contextManager.bind(ROOT_CONTEXT, test), test); }); it('should return the same target (when disabled)', () => { contextManager.disable(); const test = { a: 1 }; - assert.deepStrictEqual(contextManager.bind(test, ROOT_CONTEXT), test); + assert.deepStrictEqual(contextManager.bind(ROOT_CONTEXT, test), test); contextManager.enable(); }); it('should return current context (when enabled)', done => { const context = ROOT_CONTEXT.setValue(key1, 1); - const fn = contextManager.bind(() => { + const fn = contextManager.bind(context, () => { assert.strictEqual( contextManager.active(), context, 'should have context' ); return done(); - }, context); + }); fn(); }); @@ -329,20 +329,20 @@ for (const contextManagerClass of [ it('should return current context (when disabled)', done => { contextManager.disable(); const context = ROOT_CONTEXT.setValue(key1, 1); - const fn = contextManager.bind(() => { + const fn = contextManager.bind(context, () => { assert.strictEqual( contextManager.active(), context, 'should have context' ); return done(); - }, context); + }); fn(); }); it('should fail to return current context with async op', done => { const context = ROOT_CONTEXT.setValue(key1, 1); - const fn = contextManager.bind(() => { + const fn = contextManager.bind(context, () => { assert.strictEqual(contextManager.active(), context); setTimeout(() => { assert.strictEqual( @@ -352,7 +352,7 @@ for (const contextManagerClass of [ ); return done(); }, 100); - }, context); + }); fn(); }); @@ -363,12 +363,11 @@ for (const contextManagerClass of [ const context = ROOT_CONTEXT.setValue(key1, 2); const otherContext = ROOT_CONTEXT.setValue(key1, 3); const fn = otherContextManager.bind( - contextManager.bind(() => { + otherContext, + contextManager.bind(context, () => { assert.strictEqual(contextManager.active(), context); assert.strictEqual(otherContextManager.active(), otherContext); - }, context), - otherContext - ); + })); fn(); }); }); @@ -376,19 +375,19 @@ for (const contextManagerClass of [ describe('.bind(event-emitter)', () => { it('should return the same target (when enabled)', () => { const ee = new EventEmitter(); - assert.deepStrictEqual(contextManager.bind(ee, ROOT_CONTEXT), ee); + assert.deepStrictEqual(contextManager.bind(ROOT_CONTEXT, ee), ee); }); it('should return the same target (when disabled)', () => { const ee = new EventEmitter(); contextManager.disable(); - assert.deepStrictEqual(contextManager.bind(ee, ROOT_CONTEXT), ee); + assert.deepStrictEqual(contextManager.bind(ROOT_CONTEXT, ee), ee); }); it('should return current context and removeListener (when enabled)', done => { const ee = new EventEmitter(); const context = ROOT_CONTEXT.setValue(key1, 1); - const patchedEE = contextManager.bind(ee, context); + const patchedEE = contextManager.bind(context, ee); const handler = () => { assert.deepStrictEqual(contextManager.active(), context); patchedEE.removeListener('test', handler); @@ -403,7 +402,7 @@ for (const contextManagerClass of [ it('should return current context and removeAllListener (when enabled)', done => { const ee = new EventEmitter(); const context = ROOT_CONTEXT.setValue(key1, 1); - const patchedEE = contextManager.bind(ee, context); + const patchedEE = contextManager.bind(context, ee); const handler = () => { assert.deepStrictEqual(contextManager.active(), context); patchedEE.removeAllListeners('test'); @@ -418,7 +417,7 @@ for (const contextManagerClass of [ it('should return current context and removeAllListeners (when enabled)', done => { const ee = new EventEmitter(); const context = ROOT_CONTEXT.setValue(key1, 1); - const patchedEE = contextManager.bind(ee, context); + const patchedEE = contextManager.bind(context, ee); const handler = () => { assert.deepStrictEqual(contextManager.active(), context); patchedEE.removeAllListeners(); @@ -441,7 +440,7 @@ for (const contextManagerClass of [ contextManager.disable(); const ee = new EventEmitter(); const context = ROOT_CONTEXT.setValue(key1, 1); - const patchedEE = contextManager.bind(ee, context); + const patchedEE = contextManager.bind(context, ee); const handler = () => { assert.deepStrictEqual(contextManager.active(), context); patchedEE.removeListener('test', handler); @@ -456,7 +455,7 @@ for (const contextManagerClass of [ it('should not return current context with async op', done => { const ee = new EventEmitter(); const context = ROOT_CONTEXT.setValue(key1, 1); - const patchedEE = contextManager.bind(ee, context); + const patchedEE = contextManager.bind(context, ee); const handler = () => { assert.deepStrictEqual(contextManager.active(), context); setImmediate(() => { @@ -479,8 +478,8 @@ for (const contextManagerClass of [ const context = ROOT_CONTEXT.setValue(key1, 2); const otherContext = ROOT_CONTEXT.setValue(key1, 3); const patchedEE = otherContextManager.bind( - contextManager.bind(ee, context), - otherContext + otherContext, + contextManager.bind(context, ee), ); const handler = () => { assert.strictEqual(contextManager.active(), context); diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 4ea6f0bf2d..3319dcdd57 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -46,7 +46,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/sinon": "9.0.11", @@ -74,7 +74,7 @@ "zone.js": "0.11.4" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "zone.js": "^0.10.2 || ^0.11.0" }, "sideEffects": false diff --git a/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts b/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts index edd5a0719e..4ff0a9b30b 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts @@ -153,7 +153,7 @@ export class ZoneContextManager implements ContextManager { listeners = new WeakMap(); target.__ot_listeners[event] = listeners; } - const patchedListener = contextManager.bind(listener, context); + const patchedListener = contextManager.bind(context, listener); // store a weak reference of the user listener to ours listeners.set(listener, patchedListener); return original.call(this, event, patchedListener, opts); @@ -202,10 +202,11 @@ export class ZoneContextManager implements ContextManager { /** * Binds a the certain context or the active one to the target function and then returns the target - * @param target * @param context A context (span) to be bind to target + * @param target a function or event emitter. When target or one of its callbacks is called, + * the provided context will be used as the active context for the duration of the call. */ - bind(target: T | TargetWithEvents, context: Context): T { + bind(context: Context, target: T | TargetWithEvents): T { // if no specific context to propagate is given, we use the current one if (context === undefined) { context = this.active(); diff --git a/packages/opentelemetry-context-zone-peer-dep/test/ZoneContextManager.test.ts b/packages/opentelemetry-context-zone-peer-dep/test/ZoneContextManager.test.ts index 43aba94e17..d612d4ca6b 100644 --- a/packages/opentelemetry-context-zone-peer-dep/test/ZoneContextManager.test.ts +++ b/packages/opentelemetry-context-zone-peer-dep/test/ZoneContextManager.test.ts @@ -251,46 +251,48 @@ describe('ZoneContextManager', () => { const ctx = ROOT_CONTEXT.setValue(key1, obj1); obj1.title = 'a2'; const obj2 = new Obj('b1'); - const wrapper: any = contextManager.bind(obj2.getTitle, ctx); + const wrapper: any = contextManager.bind(ctx, obj2.getTitle); assert.ok(wrapper(), 'a2'); }); it('should return the same target (when enabled)', () => { const test = { a: 1 }; - assert.deepStrictEqual(contextManager.bind(test, ROOT_CONTEXT), test); + assert.deepStrictEqual(contextManager.bind(ROOT_CONTEXT, test), test); }); it('should return the same target (when disabled)', () => { contextManager.disable(); const test = { a: 1 }; - assert.deepStrictEqual(contextManager.bind(test, ROOT_CONTEXT), test); + assert.deepStrictEqual(contextManager.bind(ROOT_CONTEXT, test), test); contextManager.enable(); }); it('should return current context (when enabled)', done => { const context = ROOT_CONTEXT.setValue(key1, { a: 1 }); - const fn: any = contextManager.bind(() => { + const fn: any = contextManager.bind( + context, + () => { assert.strictEqual( contextManager.active(), context, 'should have context' ); return done(); - }, context); + }); fn(); }); it('should return root context (when disabled)', done => { contextManager.disable(); const context = ROOT_CONTEXT.setValue(key1, { a: 1 }); - const fn: any = contextManager.bind(() => { + const fn: any = contextManager.bind(context, () => { assert.strictEqual( contextManager.active(), ROOT_CONTEXT, 'should have context' ); return done(); - }, context); + }); fn(); }); @@ -298,7 +300,7 @@ describe('ZoneContextManager', () => { const ctx1 = ROOT_CONTEXT.setValue(key1, 1); const element = document.createElement('div'); - contextManager.bind(element, ctx1); + contextManager.bind(ctx1, element); element.addEventListener('click', () => { assert.strictEqual(contextManager.active(), ctx1); @@ -322,7 +324,7 @@ describe('ZoneContextManager', () => { const ctx1 = ROOT_CONTEXT.setValue(key1, 1); const element = document.createElement('div'); - contextManager.bind(element, ctx1); + contextManager.bind(ctx1, element); element.addEventListener('click', () => { assert.strictEqual(contextManager.active(), ctx1); diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index 2a79a5861b..221d6d6816 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -55,7 +55,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/semver": "7.3.5", @@ -80,7 +80,7 @@ "webpack": "4.46.0" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/semantic-conventions": "0.20.0", diff --git a/packages/opentelemetry-exporter-collector-grpc/package.json b/packages/opentelemetry-exporter-collector-grpc/package.json index fd463f8ea9..12cb1186e7 100644 --- a/packages/opentelemetry-exporter-collector-grpc/package.json +++ b/packages/opentelemetry-exporter-collector-grpc/package.json @@ -46,7 +46,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/api-metrics": "0.20.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", @@ -63,7 +63,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@grpc/grpc-js": "^1.2.12", diff --git a/packages/opentelemetry-exporter-collector-proto/package.json b/packages/opentelemetry-exporter-collector-proto/package.json index 820a4b34f6..306e77cf43 100644 --- a/packages/opentelemetry-exporter-collector-proto/package.json +++ b/packages/opentelemetry-exporter-collector-proto/package.json @@ -46,7 +46,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/api-metrics": "0.20.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", @@ -63,7 +63,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@grpc/proto-loader": "^0.6.0", diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index 4d0e1c6a74..cb4f5587ab 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -54,7 +54,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/sinon": "9.0.11", @@ -82,7 +82,7 @@ "webpack-merge": "5.7.3" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/api-metrics": "0.20.0", diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index c0f55c1946..fa9c243f6e 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -40,7 +40,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/resources": "0.20.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", @@ -56,7 +56,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-exporter-prometheus/package.json b/packages/opentelemetry-exporter-prometheus/package.json index a2d516f365..e9d43133b4 100644 --- a/packages/opentelemetry-exporter-prometheus/package.json +++ b/packages/opentelemetry-exporter-prometheus/package.json @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/sinon": "9.0.11", @@ -53,7 +53,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/api-metrics": "0.20.0", diff --git a/packages/opentelemetry-exporter-prometheus/test/PrometheusSerializer.test.ts b/packages/opentelemetry-exporter-prometheus/test/PrometheusSerializer.test.ts index 07d240ff42..289631da39 100644 --- a/packages/opentelemetry-exporter-prometheus/test/PrometheusSerializer.test.ts +++ b/packages/opentelemetry-exporter-prometheus/test/PrometheusSerializer.test.ts @@ -403,6 +403,7 @@ describe('PrometheusSerializer', () => { error: () => {}, }; diag.setLogger(dummyLogger, DiagLogLevel.ALL); + calledArgs = []; const serializer = new PrometheusSerializer(); const meter = new MeterProvider({ @@ -416,7 +417,7 @@ describe('PrometheusSerializer', () => { const result = serializer.serializeRecord(record.descriptor.name, record); assert.strictEqual(result, `test_total 1 ${mockedHrTimeMs}\n`); - assert.ok(calledArgs.length === 0); + assert.deepStrictEqual(calledArgs, []); }); }); diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index 5ee5b4aa07..b7e0bb5d39 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -52,7 +52,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/sinon": "9.0.11", @@ -80,7 +80,7 @@ "webpack-merge": "5.7.3" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-instrumentation-fetch/package.json b/packages/opentelemetry-instrumentation-fetch/package.json index 66201619a0..c3f69fc50e 100644 --- a/packages/opentelemetry-instrumentation-fetch/package.json +++ b/packages/opentelemetry-instrumentation-fetch/package.json @@ -47,7 +47,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/context-zone": "0.20.0", "@opentelemetry/propagator-b3": "0.20.0", "@opentelemetry/tracing": "0.20.0", @@ -78,7 +78,7 @@ "webpack-merge": "5.7.3" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-instrumentation-grpc/package.json b/packages/opentelemetry-instrumentation-grpc/package.json index a5c9b8302f..47870ddab0 100644 --- a/packages/opentelemetry-instrumentation-grpc/package.json +++ b/packages/opentelemetry-instrumentation-grpc/package.json @@ -43,7 +43,7 @@ "devDependencies": { "@grpc/grpc-js": "1.3.0", "@grpc/proto-loader": "0.6.1", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/context-async-hooks": "0.20.0", "@opentelemetry/core": "0.20.0", "@opentelemetry/node": "0.20.0", @@ -66,7 +66,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/api-metrics": "0.20.0", diff --git a/packages/opentelemetry-instrumentation-grpc/src/grpc-js/clientUtils.ts b/packages/opentelemetry-instrumentation-grpc/src/grpc-js/clientUtils.ts index 26906ad5b9..b2810cd104 100644 --- a/packages/opentelemetry-instrumentation-grpc/src/grpc-js/clientUtils.ts +++ b/packages/opentelemetry-instrumentation-grpc/src/grpc-js/clientUtils.ts @@ -110,7 +110,7 @@ export function makeGrpcClientRemoteCall( span.end(); callback(err, res); }; - return context.bind(wrappedFn); + return context.bind(context.active(), wrappedFn); } return (span: Span) => { @@ -146,7 +146,7 @@ export function makeGrpcClientRemoteCall( spanEnded = true; } }; - context.bind(call); + context.bind(context.active(), call); call.on('error', (err: grpcJs.ServiceError) => { if (call[CALL_SPAN_ENDED]) { return; diff --git a/packages/opentelemetry-instrumentation-grpc/src/grpc-js/serverUtils.ts b/packages/opentelemetry-instrumentation-grpc/src/grpc-js/serverUtils.ts index 8fad49fd1b..f30c892a98 100644 --- a/packages/opentelemetry-instrumentation-grpc/src/grpc-js/serverUtils.ts +++ b/packages/opentelemetry-instrumentation-grpc/src/grpc-js/serverUtils.ts @@ -56,7 +56,7 @@ function serverStreamAndBidiHandler( } }; - context.bind(call); + context.bind(context.active(), call); call.on('finish', () => { // @grpc/js does not expose a way to check if this call also emitted an error, // e.g. call.status.code !== 0 @@ -143,7 +143,7 @@ function clientStreamAndUnaryHandler( return callback(err, value); }; - context.bind(call); + context.bind(context.active(), call); return (original as Function).call({}, call, patchedCallback); } diff --git a/packages/opentelemetry-instrumentation-grpc/src/grpc/clientUtils.ts b/packages/opentelemetry-instrumentation-grpc/src/grpc/clientUtils.ts index 938533024c..331e744344 100644 --- a/packages/opentelemetry-instrumentation-grpc/src/grpc/clientUtils.ts +++ b/packages/opentelemetry-instrumentation-grpc/src/grpc/clientUtils.ts @@ -76,7 +76,7 @@ export const makeGrpcClientRemoteCall = function ( span.end(); callback(err, res); }; - return context.bind(wrappedFn); + return context.bind(context.active(), wrappedFn); } return (span: Span) => { @@ -118,7 +118,7 @@ export const makeGrpcClientRemoteCall = function ( spanEnded = true; } }; - context.bind(call); + context.bind(context.active(), call); ((call as unknown) as events.EventEmitter).on( 'error', (err: grpcTypes.ServiceError) => { diff --git a/packages/opentelemetry-instrumentation-grpc/src/grpc/serverUtils.ts b/packages/opentelemetry-instrumentation-grpc/src/grpc/serverUtils.ts index 36e26a1530..5d88eeabcc 100644 --- a/packages/opentelemetry-instrumentation-grpc/src/grpc/serverUtils.ts +++ b/packages/opentelemetry-instrumentation-grpc/src/grpc/serverUtils.ts @@ -71,7 +71,7 @@ export const clientStreamAndUnaryHandler = function ( return callback(err, value, trailer, flags); } - context.bind(call); + context.bind(context.active(), call); return (original as Function).call(self, call, patchedCallback); }; @@ -89,7 +89,7 @@ export const serverStreamAndBidiHandler = function ( } }; - context.bind(call); + context.bind(context.active(), call); call.on('finish', () => { span.setStatus(_grpcStatusCodeToSpanStatus(call.status.code)); span.setAttribute( diff --git a/packages/opentelemetry-instrumentation-http/package.json b/packages/opentelemetry-instrumentation-http/package.json index a4e4d1be84..4badf91970 100644 --- a/packages/opentelemetry-instrumentation-http/package.json +++ b/packages/opentelemetry-instrumentation-http/package.json @@ -41,7 +41,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/context-async-hooks": "0.20.0", "@opentelemetry/node": "0.20.0", "@opentelemetry/tracing": "0.20.0", @@ -68,7 +68,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-instrumentation-http/src/http.ts b/packages/opentelemetry-instrumentation-http/src/http.ts index b3a2db9931..cc50df7656 100644 --- a/packages/opentelemetry-instrumentation-http/src/http.ts +++ b/packages/opentelemetry-instrumentation-http/src/http.ts @@ -308,7 +308,7 @@ export class HttpInstrumentation extends InstrumentationBase { this._callResponseHook(span, response); } - context.bind(response); + context.bind(context.active(), response); diag.debug('outgoingRequest on response()'); response.on('end', () => { diag.debug('outgoingRequest on end()'); @@ -389,8 +389,8 @@ export class HttpInstrumentation extends InstrumentationBase { ) ) { return context.with(suppressTracing(context.active()), () => { - context.bind(request); - context.bind(response); + context.bind(context.active(), request); + context.bind(context.active(), response); return original.apply(this, [event, ...args]); }); } @@ -419,8 +419,8 @@ export class HttpInstrumentation extends InstrumentationBase { return context.with( setRPCMetadata(trace.setSpan(ctx, span), rpcMetadata), () => { - context.bind(request); - context.bind(response); + context.bind(context.active(), request); + context.bind(context.active(), response); if (instrumentation._getConfig().requestHook) { instrumentation._callRequestHook(span, request); @@ -556,7 +556,7 @@ export class HttpInstrumentation extends InstrumentationBase { */ const cb = args[args.length - 1]; if (typeof cb === 'function') { - args[args.length - 1] = context.bind(cb, parentContext); + args[args.length - 1] = context.bind(parentContext, cb); } const request: http.ClientRequest = safeExecuteInTheMiddle( @@ -571,7 +571,7 @@ export class HttpInstrumentation extends InstrumentationBase { ); diag.debug('%s instrumentation outgoingRequest', component); - context.bind(request, parentContext); + context.bind(parentContext, request); return instrumentation._traceClientRequest( component, request, diff --git a/packages/opentelemetry-instrumentation-xml-http-request/package.json b/packages/opentelemetry-instrumentation-xml-http-request/package.json index ed5648d961..e773a8be14 100644 --- a/packages/opentelemetry-instrumentation-xml-http-request/package.json +++ b/packages/opentelemetry-instrumentation-xml-http-request/package.json @@ -47,7 +47,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/context-zone": "0.20.0", "@opentelemetry/propagator-b3": "0.20.0", "@opentelemetry/tracing": "0.20.0", @@ -77,7 +77,7 @@ "webpack-merge": "5.7.3" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-instrumentation/package.json b/packages/opentelemetry-instrumentation/package.json index 7beacbe495..5a09687091 100644 --- a/packages/opentelemetry-instrumentation/package.json +++ b/packages/opentelemetry-instrumentation/package.json @@ -65,11 +65,11 @@ "shimmer": "^1.2.1" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/semver": "7.3.5", diff --git a/packages/opentelemetry-metrics/package.json b/packages/opentelemetry-metrics/package.json index 84a32c9852..4d0e331389 100644 --- a/packages/opentelemetry-metrics/package.json +++ b/packages/opentelemetry-metrics/package.json @@ -44,7 +44,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/lodash.merge": "4.6.6", "@types/mocha": "8.2.2", "@types/node": "14.14.43", @@ -59,7 +59,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/api-metrics": "0.20.0", diff --git a/packages/opentelemetry-node/package.json b/packages/opentelemetry-node/package.json index 6fab0565d8..4b50c931ae 100644 --- a/packages/opentelemetry-node/package.json +++ b/packages/opentelemetry-node/package.json @@ -41,7 +41,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/resources": "0.20.0", "@opentelemetry/semantic-conventions": "0.20.0", "@types/mocha": "8.2.2", @@ -60,7 +60,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/context-async-hooks": "0.20.0", diff --git a/packages/opentelemetry-node/test/NodeTracerProvider.test.ts b/packages/opentelemetry-node/test/NodeTracerProvider.test.ts index 4635fbf559..7057965ab8 100644 --- a/packages/opentelemetry-node/test/NodeTracerProvider.test.ts +++ b/packages/opentelemetry-node/test/NodeTracerProvider.test.ts @@ -206,7 +206,7 @@ describe('NodeTracerProvider', () => { assert.deepStrictEqual(trace.getSpan(context.active()), span); return done(); }; - const patchedFn = context.bind(fn, trace.setSpan(context.active(), span)); + const patchedFn = context.bind(trace.setSpan(context.active(), span), fn); return patchedFn(); }); }); diff --git a/packages/opentelemetry-propagator-b3/package.json b/packages/opentelemetry-propagator-b3/package.json index aa90724168..9f42dae43b 100644 --- a/packages/opentelemetry-propagator-b3/package.json +++ b/packages/opentelemetry-propagator-b3/package.json @@ -46,10 +46,10 @@ "@opentelemetry/core": "0.20.0" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "codecov": "3.8.1", diff --git a/packages/opentelemetry-propagator-jaeger/package.json b/packages/opentelemetry-propagator-jaeger/package.json index 57c1e04c4c..d292990ece 100644 --- a/packages/opentelemetry-propagator-jaeger/package.json +++ b/packages/opentelemetry-propagator-jaeger/package.json @@ -47,7 +47,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/sinon": "9.0.11", @@ -71,7 +71,7 @@ "webpack": "4.46.0" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0" diff --git a/packages/opentelemetry-resource-detector-aws/package.json b/packages/opentelemetry-resource-detector-aws/package.json index 83cfafb79b..7db91b831b 100644 --- a/packages/opentelemetry-resource-detector-aws/package.json +++ b/packages/opentelemetry-resource-detector-aws/package.json @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/sinon": "9.0.11", @@ -54,7 +54,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-resource-detector-gcp/package.json b/packages/opentelemetry-resource-detector-gcp/package.json index b5b6c58f7a..b82e98560f 100644 --- a/packages/opentelemetry-resource-detector-gcp/package.json +++ b/packages/opentelemetry-resource-detector-gcp/package.json @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/core": "0.20.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", @@ -54,7 +54,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/resources": "0.20.0", diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index 44c48c9944..3dda073197 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -48,7 +48,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", "@types/sinon": "9.0.11", @@ -63,7 +63,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-sdk-node/package.json b/packages/opentelemetry-sdk-node/package.json index 363989d605..157f9158c2 100644 --- a/packages/opentelemetry-sdk-node/package.json +++ b/packages/opentelemetry-sdk-node/package.json @@ -51,10 +51,10 @@ "@opentelemetry/tracing": "0.20.0" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/context-async-hooks": "0.20.0", "@types/mocha": "8.2.2", "@types/node": "14.14.43", diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index 2f3c7fb881..7680158995 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/tracing": "0.20.0", "@opentelemetry/propagator-b3": "0.20.0", "@opentelemetry/propagator-jaeger": "0.20.0", @@ -55,7 +55,7 @@ "typescript": "4.3.2" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-tracing/package.json b/packages/opentelemetry-tracing/package.json index 713dd00f55..f0ee249352 100644 --- a/packages/opentelemetry-tracing/package.json +++ b/packages/opentelemetry-tracing/package.json @@ -53,7 +53,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@types/lodash.merge": "4.6.6", "@types/mocha": "8.2.2", "@types/node": "14.14.43", @@ -78,7 +78,7 @@ "webpack": "4.46.0" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-tracing/test/BasicTracerProvider.test.ts b/packages/opentelemetry-tracing/test/BasicTracerProvider.test.ts index 43432fcb05..261d81b6e9 100644 --- a/packages/opentelemetry-tracing/test/BasicTracerProvider.test.ts +++ b/packages/opentelemetry-tracing/test/BasicTracerProvider.test.ts @@ -505,7 +505,7 @@ describe('BasicTracerProvider', () => { assert.deepStrictEqual(trace.getSpan(context.active()), undefined); return done(); }; - const patchedFn = context.bind(fn, trace.setSpan(context.active(), span)); + const patchedFn = context.bind(trace.setSpan(context.active(), span), fn); return patchedFn(); }); }); diff --git a/packages/opentelemetry-tracing/test/export/TestStackContextManager.ts b/packages/opentelemetry-tracing/test/export/TestStackContextManager.ts index 5196c86d79..3413a4aa1e 100644 --- a/packages/opentelemetry-tracing/test/export/TestStackContextManager.ts +++ b/packages/opentelemetry-tracing/test/export/TestStackContextManager.ts @@ -43,7 +43,7 @@ export class TestStackContextManager implements ContextManager { } } - bind(target: T, context?: Context): T { + bind(context: Context, target: T): T { throw new Error('Method not implemented.'); } diff --git a/packages/opentelemetry-web/package.json b/packages/opentelemetry-web/package.json index 40a9016540..b900438041 100644 --- a/packages/opentelemetry-web/package.json +++ b/packages/opentelemetry-web/package.json @@ -46,7 +46,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@opentelemetry/api": "^0.20.0", + "@opentelemetry/api": "^0.21.0", "@opentelemetry/context-zone": "0.20.0", "@opentelemetry/propagator-b3": "0.20.0", "@opentelemetry/resources": "0.20.0", @@ -78,7 +78,7 @@ "webpack-merge": "5.7.3" }, "peerDependencies": { - "@opentelemetry/api": "^0.20.0" + "@opentelemetry/api": "^0.21.0" }, "dependencies": { "@opentelemetry/core": "0.20.0", diff --git a/packages/opentelemetry-web/src/StackContextManager.ts b/packages/opentelemetry-web/src/StackContextManager.ts index 0c87d6e7c6..c293be8833 100644 --- a/packages/opentelemetry-web/src/StackContextManager.ts +++ b/packages/opentelemetry-web/src/StackContextManager.ts @@ -62,10 +62,11 @@ export class StackContextManager implements ContextManager { /** * Binds a the certain context or the active one to the target function and then returns the target - * @param target - * @param context + * @param context A context (span) to be bind to target + * @param target a function or event emitter. When target or one of its callbacks is called, + * the provided context will be used as the active context for the duration of the call. */ - bind(target: T, context = ROOT_CONTEXT): T { + bind(context: Context, target: T): T { // if no specific context to propagate is given, we use the current one if (context === undefined) { context = this.active(); diff --git a/packages/opentelemetry-web/test/StackContextManager.test.ts b/packages/opentelemetry-web/test/StackContextManager.test.ts index 2753260b86..1509780e7b 100644 --- a/packages/opentelemetry-web/test/StackContextManager.test.ts +++ b/packages/opentelemetry-web/test/StackContextManager.test.ts @@ -176,46 +176,46 @@ describe('StackContextManager', () => { const ctx = ROOT_CONTEXT.setValue(key1, obj1); obj1.title = 'a2'; const obj2 = new Obj('b1'); - const wrapper: any = contextManager.bind(obj2.getTitle, ctx); + const wrapper: any = contextManager.bind(ctx, obj2.getTitle); assert.ok(wrapper(), 'a2'); }); it('should return the same target (when enabled)', () => { const test = ROOT_CONTEXT.setValue(key1, 1); - assert.deepStrictEqual(contextManager.bind(test), test); + assert.deepStrictEqual(contextManager.bind(contextManager.active(), test), test); }); it('should return the same target (when disabled)', () => { contextManager.disable(); const test = ROOT_CONTEXT.setValue(key1, 1); - assert.deepStrictEqual(contextManager.bind(test), test); + assert.deepStrictEqual(contextManager.bind(contextManager.active(), test), test); contextManager.enable(); }); it('should return current context (when enabled)', done => { const context = ROOT_CONTEXT.setValue(key1, 1); - const fn: any = contextManager.bind(() => { + const fn: any = contextManager.bind(context, () => { assert.strictEqual( contextManager.active(), context, 'should have context' ); return done(); - }, context); + }); fn(); }); it('should return current context (when disabled)', done => { contextManager.disable(); const context = ROOT_CONTEXT.setValue(key1, 1); - const fn: any = contextManager.bind(() => { + const fn: any = contextManager.bind(context, () => { assert.strictEqual( contextManager.active(), context, 'should have context' ); return done(); - }, context); + }); fn(); }); });