Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit ad7abc4

Browse files
committed
Migrate away from colon-divided names, but translate them for the legacy exporter
1 parent 9a1815f commit ad7abc4

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

synapse/metrics/_exposition.py

+17-1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,21 @@ def sample_line(line: Sample, name: str) -> str:
8080
return "{}{} {}{}\n".format(name, labelstr, floatToGoString(line.value), timestamp)
8181

8282

83+
# Mapping from new metric names to legacy metric names.
84+
# We translate these back to their old names when exposing them through our
85+
# legacy vendored exporter.
86+
LEGACY_METRIC_NAMES = {
87+
"synapse_util_caches_cache_hits": "synapse_util_caches_cache:hits",
88+
"synapse_util_caches_cache_size": "synapse_util_caches_cache:size",
89+
"synapse_util_caches_cache_evicted_size": "synapse_util_caches_cache:evicted_size",
90+
"synapse_util_caches_cache_total": "synapse_util_caches_cache:total",
91+
"synapse_util_caches_response_cache_size": "synapse_util_caches_response_cache:size",
92+
"synapse_util_caches_response_cache_hits": "synapse_util_caches_response_cache:hits",
93+
"synapse_util_caches_response_cache_evicted_size": "synapse_util_caches_response_cache:evicted_size",
94+
"synapse_util_caches_response_cache_total": "synapse_util_caches_response_cache:total",
95+
}
96+
97+
8398
def generate_latest(registry: CollectorRegistry, emit_help: bool = False) -> bytes:
8499

85100
# Trigger the cache metrics to be rescraped, which updates the common
@@ -94,7 +109,8 @@ def generate_latest(registry: CollectorRegistry, emit_help: bool = False) -> byt
94109
# No samples, don't bother.
95110
continue
96111

97-
mname = metric.name
112+
# Translate to legacy metric name if it has one.
113+
mname = LEGACY_METRIC_NAMES.get(metric.name, metric.name)
98114
mnewname = metric.name
99115
mtype = metric.type
100116

synapse/util/caches/__init__.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,23 @@
3434
caches_by_name: Dict[str, Sized] = {}
3535
collectors_by_name: Dict[str, "CacheMetric"] = {}
3636

37-
cache_size = Gauge("synapse_util_caches_cache:size", "", ["name"])
38-
cache_hits = Gauge("synapse_util_caches_cache:hits", "", ["name"])
39-
cache_evicted = Gauge("synapse_util_caches_cache:evicted_size", "", ["name", "reason"])
40-
cache_total = Gauge("synapse_util_caches_cache:total", "", ["name"])
37+
cache_size = Gauge("synapse_util_caches_cache_size", "", ["name"])
38+
cache_hits = Gauge("synapse_util_caches_cache_hits", "", ["name"])
39+
cache_evicted = Gauge("synapse_util_caches_cache_evicted_size", "", ["name", "reason"])
40+
cache_total = Gauge("synapse_util_caches_cache_total", "", ["name"])
4141
cache_max_size = Gauge("synapse_util_caches_cache_max_size", "", ["name"])
4242
cache_memory_usage = Gauge(
4343
"synapse_util_caches_cache_size_bytes",
4444
"Estimated memory usage of the caches",
4545
["name"],
4646
)
4747

48-
response_cache_size = Gauge("synapse_util_caches_response_cache:size", "", ["name"])
49-
response_cache_hits = Gauge("synapse_util_caches_response_cache:hits", "", ["name"])
48+
response_cache_size = Gauge("synapse_util_caches_response_cache_size", "", ["name"])
49+
response_cache_hits = Gauge("synapse_util_caches_response_cache_hits", "", ["name"])
5050
response_cache_evicted = Gauge(
51-
"synapse_util_caches_response_cache:evicted_size", "", ["name", "reason"]
51+
"synapse_util_caches_response_cache_evicted_size", "", ["name", "reason"]
5252
)
53-
response_cache_total = Gauge("synapse_util_caches_response_cache:total", "", ["name"])
53+
response_cache_total = Gauge("synapse_util_caches_response_cache_total", "", ["name"])
5454

5555

5656
class EvictionReason(Enum):

0 commit comments

Comments
 (0)