From def63649df49528113f5e84d23576956baaf851e Mon Sep 17 00:00:00 2001 From: "Paul \"LeoNerd\" Evans" Date: Wed, 19 Oct 2016 14:50:57 +0100 Subject: [PATCH] Add standard process_max_fds metric --- synapse/metrics/__init__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/synapse/metrics/__init__.py b/synapse/metrics/__init__.py index dfbb634af9..75ba248c56 100644 --- a/synapse/metrics/__init__.py +++ b/synapse/metrics/__init__.py @@ -205,6 +205,19 @@ process_metrics.register_callback( "open_fds", lambda: sum(fd_counts.values()) ) +def _get_max_fds(): + with open("/proc/self/limits") as limits: + for line in limits: + if not line.startswith("Max open files "): + continue + # Line is Max open files $SOFT $HARD + return int(line.split()[3]) + return None + +process_metrics.register_callback( + "max_fds", lambda: _get_max_fds() +) + reactor_metrics = get_metrics_for("reactor") tick_time = reactor_metrics.register_distribution("tick_time") pending_calls_metric = reactor_metrics.register_distribution("pending_calls")