Skip to content

Commit b7343ef

Browse files
authored
feat(sdk-trace-base)!: remove addSpanProcessor API (#5152)
1 parent a833d9c commit b7343ef

File tree

25 files changed

+129
-143
lines changed

25 files changed

+129
-143
lines changed

CHANGELOG_NEXT.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* refactor(resources)!: replace `ResourceAttributes` with `Attributes` [#5016](https://github.com/open-telemetry/opentelemetry-js/pull/5016) @david-luna
1515
* feat(sdk-metrics)!: drop `View` and `Aggregation` in favor of `ViewOptions` and `AggregationOption` [#4931](https://github.com/open-telemetry/opentelemetry-js/pull/4931) @pichlermarc
1616
* refactor(sdk-trace-base)!: remove `new Span` constructor in favor of `Tracer.startSpan` API [#5048](https://github.com/open-telemetry/opentelemetry-js/pull/5048) @david-luna
17+
* refactor(sdk-trace-base)!: remove `BasicTracerProvider.addSpanProcessor` API in favor of constructor options. [#5134](https://github.com/open-telemetry/opentelemetry-js/pull/5134) @david-luna
1718

1819
### :rocket: (Enhancement)
1920

examples/esm-http-ts/index.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
1111
import http from 'http';
1212

1313
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
14+
const exporter = new ConsoleSpanExporter();
15+
const processor = new SimpleSpanProcessor(exporter);
16+
1417
const tracerProvider = new NodeTracerProvider({
1518
resource: new Resource({
1619
[SEMRESATTRS_SERVICE_NAME]: 'esm-http-ts-example',
1720
}),
21+
spanProcessors: [processor],
1822
});
19-
const exporter = new ConsoleSpanExporter();
20-
const processor = new SimpleSpanProcessor(exporter);
21-
tracerProvider.addSpanProcessor(processor);
2223
tracerProvider.register();
2324

2425
registerInstrumentations({

experimental/packages/exporter-trace-otlp-grpc/test/OTLPTraceExporter.test.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,10 @@ const testCollectorExporter = (params: TestParams) => {
138138
metadata: metadata,
139139
});
140140

141-
const provider = new BasicTracerProvider();
142-
provider.addSpanProcessor(new SimpleSpanProcessor(collectorExporter));
141+
// @ts-expect-error -- we need to create a provider to test the exporter
142+
const provider = new BasicTracerProvider({
143+
spanProcessors: [new SimpleSpanProcessor(collectorExporter)],
144+
});
143145
done();
144146
});
145147

@@ -271,8 +273,10 @@ const testCollectorExporter = (params: TestParams) => {
271273
compression: CompressionAlgorithm.GZIP,
272274
});
273275

274-
const provider = new BasicTracerProvider();
275-
provider.addSpanProcessor(new SimpleSpanProcessor(collectorExporter));
276+
// @ts-expect-error -- we need to create a provider to test the exporter
277+
const provider = new BasicTracerProvider({
278+
spanProcessors: [new SimpleSpanProcessor(collectorExporter)],
279+
});
276280
});
277281
it('should successfully send the spans', done => {
278282
const responseSpy = sinon.spy();

experimental/packages/opentelemetry-instrumentation-fetch/test/fetch.test.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,18 +253,17 @@ describe('fetch', () => {
253253
}
254254

255255
fetchInstrumentation = new FetchInstrumentation(config);
256-
webTracerProviderWithZone = new WebTracerProvider();
256+
dummySpanExporter = new DummySpanExporter();
257+
webTracerProviderWithZone = new WebTracerProvider({
258+
spanProcessors: [new tracing.SimpleSpanProcessor(dummySpanExporter)],
259+
});
257260
registerInstrumentations({
258261
tracerProvider: webTracerProviderWithZone,
259262
instrumentations: [fetchInstrumentation],
260263
});
261264
webTracerWithZone = webTracerProviderWithZone.getTracer('fetch-test');
262-
dummySpanExporter = new DummySpanExporter();
263265
exportSpy = sinon.stub(dummySpanExporter, 'export');
264266
clearResourceTimingsSpy = sinon.stub(performance, 'clearResourceTimings');
265-
webTracerProviderWithZone.addSpanProcessor(
266-
new tracing.SimpleSpanProcessor(dummySpanExporter)
267-
);
268267

269268
// endSpan is called after the whole response body is read
270269
// this process is scheduled at the same time the fetch promise is resolved

experimental/packages/opentelemetry-instrumentation-grpc/test/grpc-protobuf-ts.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,10 @@ function shouldNotCreateSpans(
154154
describe('#grpc-protobuf', () => {
155155
let client: GrpcTesterClient;
156156
let server: grpc.Server;
157-
const provider = new NodeTracerProvider();
158157
let contextManager: ContextManager;
159-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
158+
const provider = new NodeTracerProvider({
159+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
160+
});
160161

161162
before(() => {
162163
propagation.setGlobalPropagator(new W3CTraceContextPropagator());

experimental/packages/opentelemetry-instrumentation-grpc/test/helper.ts

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -755,8 +755,9 @@ export const runTests = (
755755
};
756756

757757
describe('enable()', () => {
758-
const provider = new NodeTracerProvider();
759-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
758+
const provider = new NodeTracerProvider({
759+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
760+
});
760761
beforeEach(() => {
761762
memoryExporter.reset();
762763
});
@@ -799,8 +800,9 @@ export const runTests = (
799800
});
800801

801802
describe('disable()', () => {
802-
const provider = new NodeTracerProvider();
803-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
803+
const provider = new NodeTracerProvider({
804+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
805+
});
804806
beforeEach(() => {
805807
memoryExporter.reset();
806808
});
@@ -830,8 +832,9 @@ export const runTests = (
830832
});
831833

832834
describe('Test filtering requests using metadata', () => {
833-
const provider = new NodeTracerProvider();
834-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
835+
const provider = new NodeTracerProvider({
836+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
837+
});
835838
beforeEach(() => {
836839
memoryExporter.reset();
837840
});
@@ -859,7 +862,9 @@ export const runTests = (
859862
});
860863

861864
describe('Test filtering requests using options', () => {
862-
const provider = new NodeTracerProvider();
865+
const provider = new NodeTracerProvider({
866+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
867+
});
863868
const checkSpans: { [key: string]: boolean } = {
864869
unaryMethod: false,
865870
UnaryMethod: false,
@@ -868,7 +873,6 @@ export const runTests = (
868873
ServerStreamMethod: true,
869874
BidiStreamMethod: false,
870875
};
871-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
872876
beforeEach(() => {
873877
memoryExporter.reset();
874878
});
@@ -936,8 +940,9 @@ export const runTests = (
936940
});
937941

938942
describe('Test capturing metadata', () => {
939-
const provider = new NodeTracerProvider();
940-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
943+
const provider = new NodeTracerProvider({
944+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
945+
});
941946

942947
const clientMetadata = new Metadata();
943948
clientMetadata.add('client_metadata_key', 'client_metadata_value');

experimental/packages/opentelemetry-instrumentation-http/test/functionals/http-enable.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,9 @@ const hostname = 'localhost';
100100
const pathname = '/test';
101101
const serverName = 'my.server.name';
102102
const memoryExporter = new InMemorySpanExporter();
103-
const provider = new NodeTracerProvider();
104-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
103+
const provider = new NodeTracerProvider({
104+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
105+
});
105106
instrumentation.setTracerProvider(provider);
106107

107108
function doNock(

experimental/packages/opentelemetry-instrumentation-http/test/functionals/http-package.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,9 @@ describe('Packages', () => {
5555
context.disable();
5656
});
5757
describe('get', () => {
58-
const provider = new NodeTracerProvider();
59-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
58+
const provider = new NodeTracerProvider({
59+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
60+
});
6061
instrumentation.setTracerProvider(provider);
6162
beforeEach(() => {
6263
memoryExporter.reset();

experimental/packages/opentelemetry-instrumentation-http/test/functionals/https-enable.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,11 @@ const hostname = 'localhost';
6565
const serverName = 'my.server.name';
6666
const pathname = '/test';
6767
const memoryExporter = new InMemorySpanExporter();
68-
const provider = new BasicTracerProvider();
68+
const provider = new BasicTracerProvider({
69+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
70+
});
6971
instrumentation.setTracerProvider(provider);
7072
const tracer = provider.getTracer('test-https');
71-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
7273

7374
function doNock(
7475
hostname: string,

experimental/packages/opentelemetry-instrumentation-http/test/functionals/https-package.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,9 @@ describe('Packages', () => {
5555
context.disable();
5656
});
5757
describe('get', () => {
58-
const provider = new NodeTracerProvider();
59-
provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
58+
const provider = new NodeTracerProvider({
59+
spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
60+
});
6061
instrumentation.setTracerProvider(provider);
6162
beforeEach(() => {
6263
memoryExporter.reset();

0 commit comments

Comments
 (0)