Skip to content

Commit 17e13e2

Browse files
committed
customizer tests
1 parent da562a7 commit 17e13e2

File tree

2 files changed

+293
-44
lines changed

2 files changed

+293
-44
lines changed

aws-distro-opentelemetry-node-autoinstrumentation/src/aws-opentelemetry-configurator.ts

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ export class AwsOpentelemetryConfigurator {
196196
// default SpanProcessors with Span Exporters wrapped inside AwsMetricAttributesSpanExporter
197197
const awsSpanProcessorProvider: AwsSpanProcessorProvider = new AwsSpanProcessorProvider(this.resource);
198198
this.spanProcessors = awsSpanProcessorProvider.getSpanProcessors();
199-
this.logRecordProcessors = new AwsLoggerProcessorProvider().getlogRecordProcessors();
199+
this.logRecordProcessors = AwsLoggerProcessorProvider.getlogRecordProcessors();
200200
AwsOpentelemetryConfigurator.customizeSpanProcessors(this.spanProcessors, this.resource);
201201
}
202202

@@ -424,18 +424,20 @@ export class ApplicationSignalsExporterProvider {
424424
// once we upgrade to @opentelemetry/core 2.0.0 or higher, which provides these methods natively.
425425
//
426426
export class AwsLoggerProcessorProvider {
427-
private _logRecordProcessors: LogRecordProcessor[] = [];
427+
public static getlogRecordProcessors(): LogRecordProcessor[] {
428+
const exporters = AwsLoggerProcessorProvider.configureLogExportersFromEnv();
428429

429-
constructor() {
430-
this.configureLoggerProviderFromEnv();
431-
}
432-
433-
public getlogRecordProcessors() {
434-
return this._logRecordProcessors;
430+
return exporters.map(exporter => {
431+
if (exporter instanceof ConsoleLogRecordExporter) {
432+
return new SimpleLogRecordProcessor(exporter);
433+
} else {
434+
return new BatchLogRecordProcessor(exporter);
435+
}
436+
});
435437
}
436438

437-
private configureLoggerProviderFromEnv(): void {
438-
const otlpExporterLogsEndpoint = process.env['OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'];
439+
static configureLogExportersFromEnv(): LogRecordExporter[] {
440+
const otlpExporterLogsEndpoint = process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT;
439441
const enabledExporters = AwsLoggerProcessorProvider.getStringListFromEnv('OTEL_LOGS_EXPORTER') ?? [];
440442

441443
if (enabledExporters.length === 0) {
@@ -445,7 +447,7 @@ export class AwsLoggerProcessorProvider {
445447

446448
if (enabledExporters.includes('none')) {
447449
diag.info('OTEL_LOGS_EXPORTER contains "none". Logger provider will not be initialized.');
448-
return;
450+
return [];
449451
}
450452

451453
const exporters: LogRecordExporter[] = [];
@@ -500,15 +502,7 @@ export class AwsLoggerProcessorProvider {
500502
}
501503
});
502504

503-
if (exporters.length > 0) {
504-
this._logRecordProcessors = exporters.map(exporter => {
505-
if (exporter instanceof ConsoleLogRecordExporter) {
506-
return new SimpleLogRecordProcessor(exporter);
507-
} else {
508-
return new BatchLogRecordProcessor(exporter);
509-
}
510-
});
511-
}
505+
return exporters;
512506
}
513507

514508
/**

0 commit comments

Comments
 (0)