Skip to content

Commit 2464723

Browse files
committed
fix: shutdown built in metrics meter provider
1 parent ea1ebad commit 2464723

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import java.util.HashMap;
4343
import java.util.Map;
4444
import java.util.UUID;
45+
import java.util.concurrent.TimeUnit;
4546
import java.util.logging.Level;
4647
import java.util.logging.Logger;
4748
import javax.annotation.Nullable;
@@ -65,8 +66,14 @@ OpenTelemetry getOrCreateOpenTelemetry(String projectId, @Nullable Credentials c
6566
SdkMeterProviderBuilder sdkMeterProviderBuilder = SdkMeterProvider.builder();
6667
BuiltInOpenTelemetryMetricsView.registerBuiltinMetrics(
6768
SpannerCloudMonitoringExporter.create(projectId, credentials), sdkMeterProviderBuilder);
68-
this.openTelemetry =
69-
OpenTelemetrySdk.builder().setMeterProvider(sdkMeterProviderBuilder.build()).build();
69+
SdkMeterProvider sdkMeterProvider = sdkMeterProviderBuilder.build();
70+
this.openTelemetry = OpenTelemetrySdk.builder().setMeterProvider(sdkMeterProvider).build();
71+
Runtime.getRuntime()
72+
.addShutdownHook(
73+
new Thread(
74+
() -> {
75+
sdkMeterProvider.shutdown().join(5, TimeUnit.SECONDS);
76+
}));
7077
}
7178
return this.openTelemetry;
7279
} catch (IOException ex) {

0 commit comments

Comments
 (0)