Skip to content

Commit d7c1915

Browse files
committed
extract method
1 parent 57a53b5 commit d7c1915

File tree

2 files changed

+26
-21
lines changed

2 files changed

+26
-21
lines changed

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/AzureMonitorLogFilteringProcessor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import io.opentelemetry.sdk.internal.AttributesMap;
1717
import io.opentelemetry.sdk.logs.LogRecordProcessor;
1818
import io.opentelemetry.sdk.logs.ReadWriteLogRecord;
19-
import io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor;
2019
import io.opentelemetry.sdk.trace.ReadableSpan;
2120
import io.opentelemetry.sdk.trace.samplers.SamplingDecision;
2221
import io.opentelemetry.sdk.trace.samplers.SamplingResult;
@@ -39,14 +38,14 @@ public class AzureMonitorLogFilteringProcessor implements LogRecordProcessor {
3938

4039
private final SamplingOverrides logSamplingOverrides;
4140
private final SamplingOverrides exceptionSamplingOverrides;
42-
private final BatchLogRecordProcessor batchLogRecordProcessor;
41+
private final LogRecordProcessor batchLogRecordProcessor;
4342

4443
private volatile int severityThreshold;
4544

4645
public AzureMonitorLogFilteringProcessor(
4746
List<Configuration.SamplingOverride> logSamplingOverrides,
4847
List<Configuration.SamplingOverride> exceptionSamplingOverrides,
49-
BatchLogRecordProcessor batchLogRecordProcessor,
48+
LogRecordProcessor batchLogRecordProcessor,
5049
int severityThreshold) {
5150

5251
this.severityThreshold = severityThreshold;

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -262,29 +262,16 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) {
262262
.addPropertiesCustomizer(new AiConfigCustomizer())
263263
.addLogRecordProcessorCustomizer(
264264
(logRecordProcessor, configProperties) -> {
265-
// filtering log record processors need to be chained on front of the batch log record
266-
// processor, hopefully log filtering will be better supported by OpenTelemetry SDK in
267-
// the future
268-
// (e.g. https://github.com/open-telemetry/opentelemetry-specification/pull/4439)
269265
if (logRecordProcessor instanceof BatchLogRecordProcessor) {
270266
List<LogRecordProcessor> logRecordProcessors =
271267
getLogRecordProcessors(configuration);
272-
List<Configuration.SamplingOverride> logSamplingOverrides =
273-
configuration.sampling.overrides.stream()
274-
.filter(override -> override.telemetryType == SamplingTelemetryType.TRACE)
275-
.collect(Collectors.toList());
276-
List<Configuration.SamplingOverride> exceptionSamplingOverrides =
277-
configuration.sampling.overrides.stream()
278-
.filter(
279-
override -> override.telemetryType == SamplingTelemetryType.EXCEPTION)
280-
.collect(Collectors.toList());
281268

269+
// the filtering log record processor needs to be chained on front of the batch log
270+
// record processor, hopefully log filtering will be better supported by
271+
// OpenTelemetry SDK in the future, see
272+
// https://github.com/open-telemetry/opentelemetry-specification/pull/4439
282273
logFilteringProcessor =
283-
new AzureMonitorLogFilteringProcessor(
284-
logSamplingOverrides,
285-
exceptionSamplingOverrides,
286-
(BatchLogRecordProcessor) logRecordProcessor,
287-
configuration.instrumentation.logging.getSeverityThreshold());
274+
createLogFilteringProcessor(logRecordProcessor, configuration);
288275

289276
logRecordProcessors.add(logFilteringProcessor);
290277
return LogRecordProcessor.composite(
@@ -335,6 +322,25 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) {
335322
});
336323
}
337324

325+
private static AzureMonitorLogFilteringProcessor createLogFilteringProcessor(
326+
LogRecordProcessor logRecordProcessor, Configuration configuration) {
327+
328+
List<Configuration.SamplingOverride> logSamplingOverrides =
329+
configuration.sampling.overrides.stream()
330+
.filter(override -> override.telemetryType == SamplingTelemetryType.TRACE)
331+
.collect(Collectors.toList());
332+
List<Configuration.SamplingOverride> exceptionSamplingOverrides =
333+
configuration.sampling.overrides.stream()
334+
.filter(override -> override.telemetryType == SamplingTelemetryType.EXCEPTION)
335+
.collect(Collectors.toList());
336+
337+
return new AzureMonitorLogFilteringProcessor(
338+
logSamplingOverrides,
339+
exceptionSamplingOverrides,
340+
logRecordProcessor,
341+
configuration.instrumentation.logging.getSeverityThreshold());
342+
}
343+
338344
private static SpanExporter buildTraceExporter(
339345
Configuration configuration, TelemetryClient telemetryClient, QuickPulse quickPulse) {
340346
List<Configuration.SamplingOverride> exceptionSamplingOverrides =

0 commit comments

Comments
 (0)