diff --git a/graphql-dgs-spring-boot-micrometer/src/main/kotlin/com/netflix/graphql/dgs/metrics/micrometer/DgsGraphQLMicrometerAutoConfiguration.kt b/graphql-dgs-spring-boot-micrometer/src/main/kotlin/com/netflix/graphql/dgs/metrics/micrometer/DgsGraphQLMicrometerAutoConfiguration.kt index 9e408f8ef..8400f5447 100644 --- a/graphql-dgs-spring-boot-micrometer/src/main/kotlin/com/netflix/graphql/dgs/metrics/micrometer/DgsGraphQLMicrometerAutoConfiguration.kt +++ b/graphql-dgs-spring-boot-micrometer/src/main/kotlin/com/netflix/graphql/dgs/metrics/micrometer/DgsGraphQLMicrometerAutoConfiguration.kt @@ -14,7 +14,6 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegi import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration import org.springframework.boot.actuate.autoconfigure.metrics.PropertiesAutoTimer import org.springframework.boot.autoconfigure.AutoConfiguration -import org.springframework.boot.autoconfigure.AutoConfigureAfter import org.springframework.boot.autoconfigure.condition.ConditionalOnClass import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty @@ -22,6 +21,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.cache.CacheManager import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration +import org.springframework.core.Ordered +import org.springframework.core.annotation.Order import java.util.Optional /** @@ -39,6 +40,7 @@ open class DgsGraphQLMicrometerAutoConfiguration { } @Bean + @Order(Ordered.LOWEST_PRECEDENCE) @ConditionalOnProperty( prefix = "$AUTO_CONF_PREFIX.instrumentation", name = ["enabled"], diff --git a/graphql-dgs-spring-graphql/src/main/kotlin/com/netflix/graphql/dgs/springgraphql/autoconfig/DgsSpringGraphQLAutoConfiguration.kt b/graphql-dgs-spring-graphql/src/main/kotlin/com/netflix/graphql/dgs/springgraphql/autoconfig/DgsSpringGraphQLAutoConfiguration.kt index ea9342c5d..eb3543786 100644 --- a/graphql-dgs-spring-graphql/src/main/kotlin/com/netflix/graphql/dgs/springgraphql/autoconfig/DgsSpringGraphQLAutoConfiguration.kt +++ b/graphql-dgs-spring-graphql/src/main/kotlin/com/netflix/graphql/dgs/springgraphql/autoconfig/DgsSpringGraphQLAutoConfiguration.kt @@ -100,6 +100,7 @@ import org.springframework.context.ApplicationContext import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.core.DefaultParameterNameDiscoverer +import org.springframework.core.Ordered import org.springframework.core.PriorityOrdered import org.springframework.core.ReactiveAdapterRegistry import org.springframework.core.annotation.Order @@ -171,7 +172,9 @@ open class DgsSpringGraphQLAutoConfiguration( graphQLContextContributors: ObjectProvider, ): Instrumentation = GraphQLContextContributorInstrumentation(graphQLContextContributors.orderedStream().toList()) + // This instrumentation needs to run before MetricsInstrumentation @Bean + @Order(Ordered.LOWEST_PRECEDENCE - 1) @ConditionalOnProperty( prefix = "${AUTO_CONF_PREFIX}.errors.classification", name = ["enabled"],