diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationAutoConfiguration.java index c0114bf211f..e02b307e893 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.autoconfigure.observation; import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.observation.Observation.Context; import io.micrometer.observation.Observation.GlobalKeyValuesProvider; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationPredicate; @@ -49,7 +50,7 @@ public class ObservationAutoConfiguration { ObjectProvider> observationRegistryCustomizers, ObjectProvider observationPredicates, ObjectProvider> tagProviders, - ObjectProvider> observationHandlers, + ObjectProvider> observationHandlers, ObjectProvider observationHandlerGrouping) { return new ObservationRegistryPostProcessor(observationRegistryCustomizers, observationPredicates, tagProviders, observationHandlers, observationHandlerGrouping); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationHandlerGrouping.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationHandlerGrouping.java index e5713ec304f..5e6af1e2a1e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationHandlerGrouping.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationHandlerGrouping.java @@ -18,6 +18,7 @@ package org.springframework.boot.actuate.autoconfigure.observation; import java.util.Collection; +import io.micrometer.observation.Observation.Context; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationRegistry.ObservationConfig; @@ -34,6 +35,6 @@ interface ObservationHandlerGrouping { * @param handlers the list of observation handlers * @param config the config to apply the handlers to */ - void apply(Collection> handlers, ObservationConfig config); + void apply(Collection> handlers, ObservationConfig config); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationRegistryConfigurer.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationRegistryConfigurer.java index 83cb91eb837..7ac6287fbe7 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationRegistryConfigurer.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationRegistryConfigurer.java @@ -18,6 +18,7 @@ package org.springframework.boot.actuate.autoconfigure.observation; import java.util.List; +import io.micrometer.observation.Observation.Context; import io.micrometer.observation.Observation.GlobalKeyValuesProvider; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationPredicate; @@ -44,14 +45,14 @@ class ObservationRegistryConfigurer { private final ObjectProvider> tagProviders; - private final ObjectProvider> observationHandlers; + private final ObjectProvider> observationHandlers; private final ObjectProvider observationHandlerGrouping; ObservationRegistryConfigurer(ObjectProvider> customizers, ObjectProvider observationPredicates, ObjectProvider> tagProviders, - ObjectProvider> observationHandlers, + ObjectProvider> observationHandlers, ObjectProvider observationHandlerGrouping) { this.customizers = customizers; this.observationPredicates = observationPredicates; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationRegistryPostProcessor.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationRegistryPostProcessor.java index baa1ca0d337..06dcccfec38 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationRegistryPostProcessor.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationRegistryPostProcessor.java @@ -16,6 +16,7 @@ package org.springframework.boot.actuate.autoconfigure.observation; +import io.micrometer.observation.Observation.Context; import io.micrometer.observation.Observation.GlobalKeyValuesProvider; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationPredicate; @@ -40,7 +41,7 @@ class ObservationRegistryPostProcessor implements BeanPostProcessor { private final ObjectProvider> tagProviders; - private final ObjectProvider> observationHandlers; + private final ObjectProvider> observationHandlers; private final ObjectProvider observationHandlerGrouping; @@ -49,7 +50,7 @@ class ObservationRegistryPostProcessor implements BeanPostProcessor { ObservationRegistryPostProcessor(ObjectProvider> observationRegistryCustomizers, ObjectProvider observationPredicates, ObjectProvider> tagProviders, - ObjectProvider> observationHandlers, + ObjectProvider> observationHandlers, ObjectProvider observationHandlerGrouping) { this.observationRegistryCustomizers = observationRegistryCustomizers; this.observationPredicates = observationPredicates; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/OnlyMetricsObservationHandlerGrouping.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/OnlyMetricsObservationHandlerGrouping.java index c57e9e4c1aa..f16c39889dd 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/OnlyMetricsObservationHandlerGrouping.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/OnlyMetricsObservationHandlerGrouping.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.List; import io.micrometer.core.instrument.observation.MeterObservationHandler; +import io.micrometer.observation.Observation.Context; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationHandler.FirstMatchingCompositeObservationHandler; import io.micrometer.observation.ObservationRegistry.ObservationConfig; @@ -38,9 +39,9 @@ import io.micrometer.observation.ObservationRegistry.ObservationConfig; class OnlyMetricsObservationHandlerGrouping implements ObservationHandlerGrouping { @Override - public void apply(Collection> handlers, ObservationConfig config) { - List> meterObservationHandlers = new ArrayList<>(); - for (ObservationHandler handler : handlers) { + public void apply(Collection> handlers, ObservationConfig config) { + List> meterObservationHandlers = new ArrayList<>(); + for (ObservationHandler handler : handlers) { if (handler instanceof MeterObservationHandler) { meterObservationHandlers.add(handler); } @@ -50,15 +51,8 @@ class OnlyMetricsObservationHandlerGrouping implements ObservationHandlerGroupin } if (!meterObservationHandlers.isEmpty()) { - config.observationHandler( - new FirstMatchingCompositeObservationHandler(castToRawType(meterObservationHandlers))); + config.observationHandler(new FirstMatchingCompositeObservationHandler(meterObservationHandlers)); } } - @SuppressWarnings({ "unchecked", "rawtypes" }) - private List castToRawType(List> handlers) { - // See https://github.com/micrometer-metrics/micrometer/issues/3064 - return (List) handlers; - } - } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/TracingObservationHandlerGrouping.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/TracingObservationHandlerGrouping.java index 950ca16e909..f904b3ca8f4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/TracingObservationHandlerGrouping.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/TracingObservationHandlerGrouping.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.List; import io.micrometer.core.instrument.observation.MeterObservationHandler; +import io.micrometer.observation.Observation.Context; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationHandler.FirstMatchingCompositeObservationHandler; import io.micrometer.observation.ObservationRegistry.ObservationConfig; @@ -41,10 +42,10 @@ import io.micrometer.tracing.handler.TracingObservationHandler; class TracingObservationHandlerGrouping implements ObservationHandlerGrouping { @Override - public void apply(Collection> handlers, ObservationConfig config) { - List> meterObservationHandlers = new ArrayList<>(); - List> tracingObservationHandlers = new ArrayList<>(); - for (ObservationHandler handler : handlers) { + public void apply(Collection> handlers, ObservationConfig config) { + List> meterObservationHandlers = new ArrayList<>(); + List> tracingObservationHandlers = new ArrayList<>(); + for (ObservationHandler handler : handlers) { if (handler instanceof MeterObservationHandler) { meterObservationHandlers.add(handler); } @@ -57,19 +58,11 @@ class TracingObservationHandlerGrouping implements ObservationHandlerGrouping { } if (!meterObservationHandlers.isEmpty()) { - config.observationHandler( - new FirstMatchingCompositeObservationHandler(castToRawType(meterObservationHandlers))); + config.observationHandler(new FirstMatchingCompositeObservationHandler(meterObservationHandlers)); } if (!tracingObservationHandlers.isEmpty()) { - config.observationHandler( - new FirstMatchingCompositeObservationHandler(castToRawType(tracingObservationHandlers))); + config.observationHandler(new FirstMatchingCompositeObservationHandler(tracingObservationHandlers)); } } - @SuppressWarnings({ "unchecked", "rawtypes" }) - private List castToRawType(List> handlers) { - // See https://github.com/micrometer-metrics/micrometer/issues/3064 - return (List) handlers; - } - }