feat(server): Better reporting of per-type memory in /metrics (#2303)

This commit is contained in:
Shahar Mike 2023-12-14 14:41:25 +02:00 committed by GitHub
parent e273f7a2b8
commit 4cce3b4a01
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -878,14 +878,19 @@ void PrintPrometheusMetrics(const Metrics& m, StringResponse* resp) {
total += db_stats;
}
{
string type_used_memory_metric;
AppendMetricHeader("type_used_memory", "Memory used per type", MetricType::GAUGE,
&type_used_memory_metric);
for (unsigned type = 0; type < total.memory_usage_by_type.size(); type++) {
size_t mem = total.memory_usage_by_type[type];
if (mem > 0) {
AppendMetricWithoutLabels(
absl::StrCat("type_used_memory_", CompactObj::ObjTypeToString(type)), "", mem,
MetricType::GAUGE, &resp->body());
AppendMetricValue("type_used_memory", mem, {"type"}, {CompactObj::ObjTypeToString(type)},
&type_used_memory_metric);
}
}
absl::StrAppend(&resp->body(), type_used_memory_metric);
}
// Stats metrics
AppendMetricWithoutLabels("connections_received_total", "", m.conn_stats.conn_received_cnt,