Skip to content
This repository was archived by the owner on Dec 19, 2023. It is now read-only.

Commit aef423c

Browse files
authored
Merge pull request #209 from blaugold/fix-metrics-no-tracing
fix(): actuator-metrics works without explicitly setting tracing-enabled to false
2 parents bcef82c + 0c49815 commit aef423c

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

graphql-spring-boot-autoconfigure/src/main/java/com/oembedler/moon/graphql/boot/GraphQLInstrumentationAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
1212
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
1313
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
14+
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
1415
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
1516
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1617
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -44,7 +45,7 @@ public TracingInstrumentation tracingInstrumentation() {
4445

4546
@Bean
4647
@ConditionalOnMissingBean
47-
@ConditionalOnProperty(value = "graphql.servlet.tracing-enabled", havingValue = "false")
48+
@ConditionalOnExpression("${graphql.servlet.actuator-metrics:false} && !${graphql.servlet.tracing-enabled:false}")
4849
public TracingNoResolversInstrumentation tracingNoResolversInstrumentation() {
4950
return new TracingNoResolversInstrumentation();
5051
}

graphql-spring-boot-autoconfigure/src/test/java/com/oembedler/moon/graphql/boot/test/instrumentation/GraphQLInstrumentationAutoConfigurationTest.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,26 @@ public void actuatorMetricsEnabledAndTracingEnabled() {
7676
load(DefaultConfiguration.class, "graphql.servlet.tracing-enabled=true", "graphql.servlet.actuator-metrics=true");
7777

7878
Assert.assertNotNull(this.getContext().getBean(TracingInstrumentation.class));
79-
this.getContext().getBean(TracingInstrumentation.class);
79+
Assert.assertNotNull(this.getContext().getBean(MetricsInstrumentation.class));
80+
this.getContext().getBean(TracingNoResolversInstrumentation.class);
8081
}
8182

8283
@Test
83-
public void tracingInstrumentationDisabledndMetricsEnabled() {
84+
public void tracingInstrumentationDisabledAndMetricsEnabled() {
8485
load(DefaultConfiguration.class, "graphql.servlet.tracing-enabled=false", "graphql.servlet.actuator-metrics=true");
8586

8687
Assert.assertNotNull(this.getContext().getBean(MetricsInstrumentation.class));
8788
Assert.assertNotNull(this.getContext().getBean(TracingNoResolversInstrumentation.class));
8889
}
8990

91+
@Test
92+
public void actuatorMetricsEnabled() {
93+
load(DefaultConfiguration.class, "graphql.servlet.actuator-metrics=true");
94+
95+
Assert.assertNotNull(this.getContext().getBean(MetricsInstrumentation.class));
96+
Assert.assertNotNull(this.getContext().getBean(TracingNoResolversInstrumentation.class));
97+
}
98+
9099
@Test(expected = NoSuchBeanDefinitionException.class)
91100
public void tracingInstrumentationEnabledAndMetricsDisabled() {
92101
load(DefaultConfiguration.class, "graphql.servlet.tracing-enabled=true", "graphql.servlet.actuator-metrics=false");
@@ -104,8 +113,6 @@ public void tracingInstrumentationDisabledAndMetricsDisabled() {
104113
this.getContext().getBean(TracingInstrumentation.class);
105114
}
106115

107-
108-
109116
@Test(expected = NoSuchBeanDefinitionException.class)
110117
public void actuatorMetricsDisabled() {
111118
load(DefaultConfiguration.class, "graphql.servlet.actuator-metrics=false");

0 commit comments

Comments
 (0)