1 files changed, 17 insertions, 1 deletions
diff --git a/synapse/metrics/__init__.py b/synapse/metrics/__init__.py
index bdd7292a30..76d5998d75 100644
--- a/synapse/metrics/__init__.py
+++ b/synapse/metrics/__init__.py
@@ -27,7 +27,8 @@ import gc
from twisted.internet import reactor
from .metric import (
- CounterMetric, CallbackMetric, DistributionMetric, CacheMetric
+ CounterMetric, CallbackMetric, DistributionMetric, CacheMetric,
+ MemoryUsageMetric,
)
@@ -66,6 +67,21 @@ class Metrics(object):
return self._register(CacheMetric, *args, **kwargs)
+def register_memory_metrics(hs):
+ try:
+ import psutil
+ process = psutil.Process()
+ process.memory_info().rss
+ except (ImportError, AttributeError):
+ logger.warn(
+ "psutil is not installed or incorrect version."
+ " Disabling memory metrics."
+ )
+ return
+ metric = MemoryUsageMetric(hs, psutil)
+ all_metrics.append(metric)
+
+
def get_metrics_for(pkg_name):
""" Returns a Metrics instance for conveniently creating metrics
namespaced with the given name prefix. """
|