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
|