summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/metrics/__init__.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/synapse/metrics/__init__.py b/synapse/metrics/__init__.py
index c00f088fff..443d67f41c 100644
--- a/synapse/metrics/__init__.py
+++ b/synapse/metrics/__init__.py
@@ -63,10 +63,17 @@ class Metrics(object):
     def counted(self, func):
         """ A method decorator that registers a counter, to count invocations
         of this method. """
-        counter = self.register_counter(func.__name__)
+        if not hasattr(self, "method_counter"):
+            self.method_counter = self.register_counter(
+                "calls",
+                labels=["method"]
+            )
+
+        counter = self.method_counter
+        name = func.__name__
 
         def wrapped(*args, **kwargs):
-            counter.inc()
+            counter.inc(name)
             return func(*args, **kwargs)
         return wrapped