Skip to content

Commit 4ff14da

Browse files
authored
tests: use node-tracer scope manager instead of creating one (open-telemetry#271)
1 parent c2a7feb commit 4ff14da

7 files changed

Lines changed: 26 additions & 43 deletions

File tree

packages/opentelemetry-node-tracer/test/NodeTracer.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import {
2323
NoopLogger,
2424
NoRecordingSpan,
2525
} from '@opentelemetry/core';
26-
import { AsyncHooksScopeManager } from '@opentelemetry/scope-async-hooks';
2726
import { NodeTracer } from '../src/NodeTracer';
2827
import { TraceFlags } from '@opentelemetry/types';
2928
import { Span } from '@opentelemetry/basic-tracer';
@@ -50,7 +49,6 @@ describe('NodeTracer', () => {
5049
it('should construct an instance with http text format', () => {
5150
const tracer = new NodeTracer({
5251
httpTextFormat: new HttpTraceContext(),
53-
scopeManager: new AsyncHooksScopeManager(),
5452
});
5553
assert.ok(tracer instanceof NodeTracer);
5654
});
@@ -116,7 +114,6 @@ describe('NodeTracer', () => {
116114
foo: 'bar',
117115
};
118116
const tracer = new NodeTracer({
119-
scopeManager: new AsyncHooksScopeManager(),
120117
defaultAttributes,
121118
});
122119

packages/opentelemetry-plugin-grpc/test/grpc.test.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,13 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { AsyncHooksScopeManager } from '@opentelemetry/scope-async-hooks';
1817
import { NoopLogger } from '@opentelemetry/core';
1918
import {
20-
BasicTracer,
2119
InMemorySpanExporter,
2220
SimpleSpanProcessor,
2321
} from '@opentelemetry/basic-tracer';
2422
import { SpanKind, Tracer } from '@opentelemetry/types';
23+
import { NodeTracer } from '@opentelemetry/node-tracer';
2524

2625
import { assertSpan, assertPropagation } from './utils/assertionUtils';
2726
import { GrpcPlugin, plugin } from '../src';
@@ -507,9 +506,8 @@ describe('GrpcPlugin', () => {
507506
};
508507

509508
describe('enable()', () => {
510-
const scopeManager = new AsyncHooksScopeManager();
511509
const logger = new NoopLogger();
512-
const tracer = new BasicTracer({ scopeManager, logger });
510+
const tracer = new NodeTracer({ logger });
513511
tracer.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
514512
beforeEach(() => {
515513
memoryExporter.reset();
@@ -554,9 +552,8 @@ describe('GrpcPlugin', () => {
554552
});
555553

556554
describe('disable()', () => {
557-
const scopeManager = new AsyncHooksScopeManager();
558555
const logger = new NoopLogger();
559-
const tracer = new BasicTracer({ scopeManager, logger });
556+
const tracer = new NodeTracer({ logger });
560557
tracer.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
561558
beforeEach(() => {
562559
memoryExporter.reset();

packages/opentelemetry-plugin-http/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
"@types/shimmer": "^1.0.1",
4747
"@types/sinon": "^7.0.13",
4848
"@types/superagent": "^4.1.3",
49-
"@opentelemetry/scope-async-hooks": "^0.0.1",
5049
"@opentelemetry/scope-base": "^0.0.1",
5150
"@opentelemetry/basic-tracer": "^0.0.1",
5251
"axios": "^0.19.0",

packages/opentelemetry-plugin-http/test/functionals/http-disable.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import * as nock from 'nock';
2020
import * as sinon from 'sinon';
2121

2222
import { plugin } from '../../src/http';
23-
import { AsyncHooksScopeManager } from '@opentelemetry/scope-async-hooks';
2423
import { NodeTracer } from '@opentelemetry/node-tracer';
2524
import { NoopLogger } from '@opentelemetry/core';
2625
import { AddressInfo } from 'net';
@@ -32,11 +31,9 @@ describe('HttpPlugin', () => {
3231
let serverPort = 0;
3332

3433
describe('disable()', () => {
35-
const scopeManager = new AsyncHooksScopeManager();
3634
const httpTextFormat = new DummyPropagation();
3735
const logger = new NoopLogger();
3836
const tracer = new NodeTracer({
39-
scopeManager,
4037
logger,
4138
httpTextFormat,
4239
});

packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616

1717
import { NoopLogger } from '@opentelemetry/core';
18-
import { AsyncHooksScopeManager } from '@opentelemetry/scope-async-hooks';
1918
import { SpanKind, Span as ISpan } from '@opentelemetry/types';
2019
import * as assert from 'assert';
2120
import * as http from 'http';
@@ -69,11 +68,9 @@ describe('HttpPlugin', () => {
6968
});
7069

7170
describe('enable()', () => {
72-
const scopeManager = new AsyncHooksScopeManager();
7371
const httpTextFormat = new DummyPropagation();
7472
const logger = new NoopLogger();
7573
const tracer = new NodeTracer({
76-
scopeManager,
7774
logger,
7875
httpTextFormat,
7976
});
@@ -249,27 +246,29 @@ describe('HttpPlugin', () => {
249246
});
250247
});
251248
}
252-
// TODO: uncomment once https://github.com/open-telemetry/opentelemetry-js/pull/146 is merged
253-
// it.only('should create multiple child spans for GET requests', async () => {
254-
// const testPath = '/outgoing/rootSpan/childs';
255-
// const num = 5;
256-
// doNock(hostname, testPath, 200, 'Ok', num);
257-
// const name = 'TestRootSpan';
258-
// const span = tracer.startSpan(name);
259-
// await tracer.withSpan(span, async () => {
260-
// for (let i = 0; i < num; i++) {
261-
// await httpRequest.get(`${ protocol }://${ hostname }${ testPath }`);
262-
// const spans = memoryExporter.getFinishedSpans();
263-
// assert.ok(spans[i].name.indexOf(testPath) >= 0);
264-
// assert.strictEqual((span as Span).toReadableSpan().spanContext.traceId, spans[i].spanContext.traceId);
265-
// }
266-
// span.end();
267-
// const spans = memoryExporter.getFinishedSpans();
268-
// // 5 child spans ended + 1 span (root)
269-
// assert.strictEqual(spans.length, 6);
270-
// });
271-
// console.log('end');
272-
// });
249+
250+
it('should create multiple child spans for GET requests', async () => {
251+
const testPath = '/outgoing/rootSpan/childs';
252+
const num = 5;
253+
doNock(hostname, testPath, 200, 'Ok', num);
254+
const name = 'TestRootSpan';
255+
const span = tracer.startSpan(name);
256+
await tracer.withSpan(span, async () => {
257+
for (let i = 0; i < num; i++) {
258+
await httpRequest.get(`${protocol}://${hostname}${testPath}`);
259+
const spans = memoryExporter.getFinishedSpans();
260+
assert.ok(spans[i].name.indexOf(testPath) >= 0);
261+
assert.strictEqual(
262+
span.context().traceId,
263+
spans[i].spanContext.traceId
264+
);
265+
}
266+
span.end();
267+
const spans = memoryExporter.getFinishedSpans();
268+
// 5 child spans ended + 1 span (root)
269+
assert.strictEqual(spans.length, 6);
270+
});
271+
});
273272

274273
for (const ignored of ['string', 'function', 'regexp']) {
275274
it(`should not trace ignored requests with type ${ignored}`, async () => {

packages/opentelemetry-plugin-http/test/functionals/http-package.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616

1717
import { NoopLogger } from '@opentelemetry/core';
18-
import { AsyncHooksScopeManager } from '@opentelemetry/scope-async-hooks';
1918
import { SpanKind, Span } from '@opentelemetry/types';
2019
import * as assert from 'assert';
2120
import * as http from 'http';
@@ -43,12 +42,10 @@ export const customAttributeFunction = (span: Span): void => {
4342

4443
describe('Packages', () => {
4544
describe('get', () => {
46-
const scopeManager = new AsyncHooksScopeManager();
4745
const httpTextFormat = new DummyPropagation();
4846
const logger = new NoopLogger();
4947

5048
const tracer = new NodeTracer({
51-
scopeManager,
5249
logger,
5350
httpTextFormat,
5451
});

packages/opentelemetry-plugin-http/test/integrations/http-enable.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616

1717
import { NoopLogger } from '@opentelemetry/core';
18-
import { AsyncHooksScopeManager } from '@opentelemetry/scope-async-hooks';
1918
import { SpanKind, Span } from '@opentelemetry/types';
2019
import * as assert from 'assert';
2120
import * as http from 'http';
@@ -57,11 +56,9 @@ describe('HttpPlugin Integration tests', () => {
5756
});
5857
});
5958

60-
const scopeManager = new AsyncHooksScopeManager();
6159
const httpTextFormat = new DummyPropagation();
6260
const logger = new NoopLogger();
6361
const tracer = new NodeTracer({
64-
scopeManager,
6562
logger,
6663
httpTextFormat,
6764
});

0 commit comments

Comments
 (0)