Skip to content

Commit b925650

Browse files
committed
fix(spanner): honor built-in metrics opt-out for gRPC metrics exporter
1 parent 684511a commit b925650

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2446,7 +2446,7 @@ public OpenTelemetry getBuiltInOpenTelemetry() {
24462446
}
24472447

24482448
public void enablegRPCMetrics(InstantiatingGrpcChannelProvider.Builder channelProviderBuilder) {
2449-
if (SpannerOptions.environment.isEnableGRPCBuiltInMetrics()) {
2449+
if (isEnableBuiltInMetrics() && SpannerOptions.environment.isEnableGRPCBuiltInMetrics()) {
24502450
this.builtInMetricsProvider.enableGrpcMetrics(
24512451
channelProviderBuilder,
24522452
this.getProjectId(),

java-spanner/google-cloud-spanner/src/test/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpcTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,6 +1030,34 @@ public void testGrpcGcpOtelMetricsDisabledSkipsMeterInjection() throws Exception
10301030
assertNull(metricsOptions.getOpenTelemetryMeter());
10311031
}
10321032

1033+
@Test
1034+
public void testBuiltInMetricsDisabledSkipsGrpcBuiltInMetricsConfigurator() {
1035+
try {
1036+
SpannerOptions.useEnvironment(
1037+
new SpannerOptions.SpannerEnvironment() {
1038+
@Override
1039+
public boolean isEnableGRPCBuiltInMetrics() {
1040+
return true;
1041+
}
1042+
});
1043+
1044+
SpannerOptions options =
1045+
SpannerOptions.newBuilder()
1046+
.setProjectId("[PROJECT]")
1047+
.setCredentials(STATIC_CREDENTIALS)
1048+
.setBuiltInMetricsEnabled(false)
1049+
.build();
1050+
InstantiatingGrpcChannelProvider.Builder channelProviderBuilder =
1051+
InstantiatingGrpcChannelProvider.newBuilder();
1052+
1053+
options.enablegRPCMetrics(channelProviderBuilder);
1054+
1055+
assertNull(channelProviderBuilder.getChannelConfigurator());
1056+
} finally {
1057+
SpannerOptions.useDefaultEnvironment();
1058+
}
1059+
}
1060+
10331061
private static final class RecordingTransportChannelProvider implements TransportChannelProvider {
10341062
private final String host;
10351063
private final int port;

0 commit comments

Comments
 (0)