diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/telemetry/MetricFilter.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/telemetry/MetricFilter.java index af6011a5608..55c8fa7ba39 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/telemetry/MetricFilter.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/telemetry/MetricFilter.java @@ -3,10 +3,7 @@ package com.microsoft.applicationinsights.agent.internal.telemetry; -import static java.util.Arrays.asList; - import com.microsoft.applicationinsights.agent.internal.configuration.Configuration; -import com.microsoft.applicationinsights.agent.internal.perfcounter.MetricNames; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; @@ -16,16 +13,6 @@ public class MetricFilter { - private static final Set NON_FILTERABLE_METRIC_NAMES = - new HashSet<>( - asList( - MetricNames.TOTAL_CPU_PERCENTAGE, - MetricNames.PROCESS_CPU_PERCENTAGE, - MetricNames.PROCESS_CPU_PERCENTAGE_NORMALIZED, - MetricNames.PROCESS_MEMORY, - MetricNames.TOTAL_MEMORY, - MetricNames.PROCESS_IO)); - // OpenTelemetry Collector also supports include // but we aren't adding this support, at least not yet, since it implicitly excludes everything // else @@ -38,8 +25,8 @@ public MetricFilter(Configuration.ProcessorConfig metricFilterConfiguration) { this.exclude = new IncludeExclude(metricFilterConfiguration.exclude); } - boolean matches(String metricName) { - return !exclude.matches(metricName); + boolean exclude(String metricName) { + return exclude.matches(metricName); } public static class IncludeExclude { @@ -85,12 +72,9 @@ boolean matches(String metricName) { } public static boolean shouldSkip(String metricName, List metricFilters) { - if (!MetricFilter.NON_FILTERABLE_METRIC_NAMES.contains(metricName)) { - for (MetricFilter metricFilter : metricFilters) { - if (!metricFilter.matches(metricName)) { - // user configuration filtered out this metric name - return true; - } + for (MetricFilter metricFilter : metricFilters) { + if (metricFilter.exclude(metricName)) { + return true; } } return false;