diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index 048587fbd..ef721fe7a 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -727,7 +727,7 @@ public class WhisperServerService extends Application b.get() ? 1 : 0); + public ApplicationShutdownMonitor(final MeterRegistry meterRegistry) { + // without a strong reference to the gauge’s value supplier, shutdown garbage collection + // might prevent the final value from being reported + Gauge.builder(name(getClass().getSimpleName(), "shuttingDown"), () -> shuttingDown.get() ? 1 : 0) + .strongReference(true) + .register(meterRegistry); } @Override