mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 17:01:09 +00:00
src/service/src/builder: Fix memory metric exposed in bytes not KiB (#5459)
The library `sysinfo` exposes process memory as kibibytes and not bytes, thus the value needs to be multiplied by 1024 to comply with the metric name and the Prometheus base units [1]. [1] https://prometheus.io/docs/practices/naming/#base-units
This commit is contained in:
@@ -77,7 +77,7 @@ impl ServiceMetrics {
|
|||||||
"ready_transactions_number", "Number of transactions in the ready queue",
|
"ready_transactions_number", "Number of transactions in the ready queue",
|
||||||
)?, registry)?,
|
)?, registry)?,
|
||||||
memory_usage_bytes: register(Gauge::new(
|
memory_usage_bytes: register(Gauge::new(
|
||||||
"memory_usage_bytes", "Node memory usage",
|
"memory_usage_bytes", "Node memory (resident set size) usage",
|
||||||
)?, registry)?,
|
)?, registry)?,
|
||||||
cpu_usage_percentage: register(Gauge::new(
|
cpu_usage_percentage: register(Gauge::new(
|
||||||
"cpu_usage_percentage", "Node CPU usage",
|
"cpu_usage_percentage", "Node CPU usage",
|
||||||
@@ -1074,7 +1074,8 @@ ServiceBuilder<
|
|||||||
.unwrap_or(0),
|
.unwrap_or(0),
|
||||||
);
|
);
|
||||||
if let Some(metrics) = metrics.as_ref() {
|
if let Some(metrics) = metrics.as_ref() {
|
||||||
metrics.memory_usage_bytes.set(memory);
|
// `sysinfo::Process::memory` returns memory usage in KiB and not bytes.
|
||||||
|
metrics.memory_usage_bytes.set(memory * 1024);
|
||||||
metrics.cpu_usage_percentage.set(f64::from(cpu_usage));
|
metrics.cpu_usage_percentage.set(f64::from(cpu_usage));
|
||||||
metrics.ready_transactions_number.set(txpool_status.ready as u64);
|
metrics.ready_transactions_number.set(txpool_status.ready as u64);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user