diff --git a/synapse/metrics/metric.py b/synapse/metrics/metric.py
index 922cb5a6f1..6b7d3358bc 100644
--- a/synapse/metrics/metric.py
+++ b/synapse/metrics/metric.py
@@ -134,7 +134,7 @@ class TimerMetric(CounterMetric):
class CacheMetric(object):
"""A combination of two CounterMetrics, one to count cache hits and one to
- count misses, and a callback metric to yield the current size.
+ count a total, and a callback metric to yield the current size.
This metric generates standard metric name pairs, so that monitoring rules
can easily be applied to measure hit ratio."""
@@ -142,8 +142,8 @@ class CacheMetric(object):
def __init__(self, name, size_callback, labels=[]):
self.name = name
- self.hits = CounterMetric(name + ":hits", labels=labels)
- self.misses = CounterMetric(name + ":misses", labels=labels)
+ self.hits = CounterMetric(name + ":hits", labels=labels)
+ self.total = CounterMetric(name + ":total", labels=labels)
self.size = CallbackMetric(name + ":size",
callback=size_callback,
@@ -152,9 +152,10 @@ class CacheMetric(object):
def inc_hits(self, *values):
self.hits.inc(*values)
+ self.total.inc(*values)
def inc_misses(self, *values):
- self.misses.inc(*values)
+ self.total.inc(*values)
def render(self):
- return self.hits.render() + self.misses.render() + self.size.render()
+ return self.hits.render() + self.total.render() + self.size.render()
diff --git a/tests/metrics/test_metric.py b/tests/metrics/test_metric.py
index 1919630feb..193908b44e 100644
--- a/tests/metrics/test_metric.py
+++ b/tests/metrics/test_metric.py
@@ -140,7 +140,7 @@ class CacheMetricTestCase(unittest.TestCase):
self.assertEquals(metric.render(), [
'cache:hits 0',
- 'cache:misses 0',
+ 'cache:total 0',
'cache:size 0',
])
@@ -149,7 +149,7 @@ class CacheMetricTestCase(unittest.TestCase):
self.assertEquals(metric.render(), [
'cache:hits 0',
- 'cache:misses 1',
+ 'cache:total 1',
'cache:size 1',
])
@@ -157,6 +157,6 @@ class CacheMetricTestCase(unittest.TestCase):
self.assertEquals(metric.render(), [
'cache:hits 1',
- 'cache:misses 1',
+ 'cache:total 2',
'cache:size 1',
])
|