From a3fd08b7ef855f66677596526b22aa02f82f15d5 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Thu, 30 Jul 2015 16:55:19 -0700 Subject: [PATCH] Add gauge for reporting number of open fds // FREEBIE --- .../textsecuregcm/WhisperServerService.java | 2 ++ .../metrics/FileDescriptorGauge.java | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/main/java/org/whispersystems/textsecuregcm/metrics/FileDescriptorGauge.java diff --git a/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index 76c0a4b49..9cc10c780 100644 --- a/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -53,6 +53,7 @@ import org.whispersystems.textsecuregcm.mappers.IOExceptionMapper; import org.whispersystems.textsecuregcm.mappers.InvalidWebsocketAddressExceptionMapper; import org.whispersystems.textsecuregcm.mappers.RateLimitExceededExceptionMapper; import org.whispersystems.textsecuregcm.metrics.CpuUsageGauge; +import org.whispersystems.textsecuregcm.metrics.FileDescriptorGauge; import org.whispersystems.textsecuregcm.metrics.FreeMemoryGauge; import org.whispersystems.textsecuregcm.metrics.NetworkReceivedGauge; import org.whispersystems.textsecuregcm.metrics.NetworkSentGauge; @@ -263,6 +264,7 @@ public class WhisperServerService extends Application { + @Override + public Integer getValue() { + File file = new File("/proc/self/fd"); + + if (file.isDirectory() && file.exists()) { + return file.list().length; + } + + return 0; + } +}