diff --git a/synapse/metrics/__init__.py b/synapse/metrics/__init__.py
index 0d3ae1a43d..8aee14a8a8 100644
--- a/synapse/metrics/__init__.py
+++ b/synapse/metrics/__init__.py
@@ -224,7 +224,6 @@ class BucketCollector(object):
for i, bound in enumerate(self.buckets):
if x <= bound:
buckets[bound] = buckets.get(bound, 0) + data[x]
- break
for i in self.buckets:
res.append([str(i), buckets.get(i, 0)])
diff --git a/synapse/storage/events.py b/synapse/storage/events.py
index 1578403f79..f631fb1733 100644
--- a/synapse/storage/events.py
+++ b/synapse/storage/events.py
@@ -228,7 +228,8 @@ class EventsStore(
self._state_resolution_handler = hs.get_state_resolution_handler()
# Collect metrics on the number of forward extremities that exist.
- self._current_forward_extremities_amount = {}
+ # Counter of number of extremities to count
+ self._current_forward_extremities_amount = c_counter()
BucketCollector(
"synapse_forward_extremities",
diff --git a/tests/storage/test_event_metrics.py b/tests/storage/test_event_metrics.py
index 1655fcdafc..19f9ccf5e0 100644
--- a/tests/storage/test_event_metrics.py
+++ b/tests/storage/test_event_metrics.py
@@ -64,16 +64,16 @@ class ExtremStatisticsTestCase(HomeserverTestCase):
expected = set([
b'synapse_forward_extremities_bucket{le="1.0"} 0.0',
b'synapse_forward_extremities_bucket{le="2.0"} 2.0',
- b'synapse_forward_extremities_bucket{le="3.0"} 0.0',
- b'synapse_forward_extremities_bucket{le="5.0"} 0.0',
- b'synapse_forward_extremities_bucket{le="7.0"} 1.0',
- b'synapse_forward_extremities_bucket{le="10.0"} 0.0',
- b'synapse_forward_extremities_bucket{le="15.0"} 0.0',
- b'synapse_forward_extremities_bucket{le="20.0"} 0.0',
- b'synapse_forward_extremities_bucket{le="50.0"} 0.0',
- b'synapse_forward_extremities_bucket{le="100.0"} 0.0',
- b'synapse_forward_extremities_bucket{le="200.0"} 0.0',
- b'synapse_forward_extremities_bucket{le="500.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="3.0"} 2.0',
+ b'synapse_forward_extremities_bucket{le="5.0"} 2.0',
+ b'synapse_forward_extremities_bucket{le="7.0"} 3.0',
+ b'synapse_forward_extremities_bucket{le="10.0"} 3.0',
+ b'synapse_forward_extremities_bucket{le="15.0"} 3.0',
+ b'synapse_forward_extremities_bucket{le="20.0"} 3.0',
+ b'synapse_forward_extremities_bucket{le="50.0"} 3.0',
+ b'synapse_forward_extremities_bucket{le="100.0"} 3.0',
+ b'synapse_forward_extremities_bucket{le="200.0"} 3.0',
+ b'synapse_forward_extremities_bucket{le="500.0"} 3.0',
b'synapse_forward_extremities_bucket{le="+Inf"} 3.0',
b'synapse_forward_extremities_count 3.0',
b'synapse_forward_extremities_sum 10.0',
|