1 files changed, 10 insertions, 6 deletions
diff --git a/synapse/metrics/_exposition.py b/synapse/metrics/_exposition.py
index 74d9c3ecd3..ab7f948ed4 100644
--- a/synapse/metrics/_exposition.py
+++ b/synapse/metrics/_exposition.py
@@ -33,12 +33,14 @@ from prometheus_client import REGISTRY
from twisted.web.resource import Resource
+from synapse.util import caches
+
try:
from prometheus_client.samples import Sample
except ImportError:
- Sample = namedtuple(
+ Sample = namedtuple( # type: ignore[no-redef] # noqa
"Sample", ["name", "labels", "value", "timestamp", "exemplar"]
- ) # type: ignore
+ )
CONTENT_TYPE_LATEST = str("text/plain; version=0.0.4; charset=utf-8")
@@ -103,13 +105,15 @@ def nameify_sample(sample):
def generate_latest(registry, emit_help=False):
- output = []
- for metric in registry.collect():
+ # Trigger the cache metrics to be rescraped, which updates the common
+ # metrics but do not produce metrics themselves
+ for collector in caches.collectors_by_name.values():
+ collector.collect()
- if metric.name.startswith("__unused"):
- continue
+ output = []
+ for metric in registry.collect():
if not metric.samples:
# No samples, don't bother.
continue
|