From a2c4d3fe954a276cab4b93669758c17e6c475ebe Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Wed, 16 Feb 2022 13:58:02 -0800 Subject: [PATCH] Use a strong reference to the application shutdown gauge --- .../textsecuregcm/WhisperServerService.java | 2 +- .../metrics/ApplicationShutdownMonitor.java | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) 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