Skip to content

Commit 455dfb8

Browse files
committed
feat(virtio-pmem): export device metrics
Expose virtio-pmem metrics in the logger, so they are exported in metrics.json. Update integration tests to expect new metrics. Signed-off-by: Egor Lazarchuk <[email protected]>
1 parent cd5de59 commit 455dfb8

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/vmm/src/logger/metrics.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ use crate::devices::legacy;
7575
use crate::devices::virtio::balloon::metrics as balloon_metrics;
7676
use crate::devices::virtio::block::virtio::metrics as block_metrics;
7777
use crate::devices::virtio::net::metrics as net_metrics;
78+
use crate::devices::virtio::pmem::metrics as pmem_metrics;
7879
use crate::devices::virtio::rng::metrics as entropy_metrics;
7980
use crate::devices::virtio::vhost_user_metrics;
8081
use crate::devices::virtio::vsock::metrics as vsock_metrics;
@@ -873,6 +874,7 @@ create_serialize_proxy!(VhostUserMetricsSerializeProxy, vhost_user_metrics);
873874
create_serialize_proxy!(BalloonMetricsSerializeProxy, balloon_metrics);
874875
create_serialize_proxy!(EntropyMetricsSerializeProxy, entropy_metrics);
875876
create_serialize_proxy!(VsockMetricsSerializeProxy, vsock_metrics);
877+
create_serialize_proxy!(PmemMetricsSerializeProxy, pmem_metrics);
876878
create_serialize_proxy!(LegacyDevMetricsSerializeProxy, legacy);
877879

878880
/// Structure storing all metrics while enforcing serialization support on them.
@@ -922,6 +924,9 @@ pub struct FirecrackerMetrics {
922924
/// Metrics related to virtio-rng entropy device.
923925
pub entropy_ser: EntropyMetricsSerializeProxy,
924926
#[serde(flatten)]
927+
/// Metrics related to virtio-pmem entropy device.
928+
pub pmem_ser: PmemMetricsSerializeProxy,
929+
#[serde(flatten)]
925930
/// Vhost-user device related metrics.
926931
pub vhost_user_ser: VhostUserMetricsSerializeProxy,
927932
/// Interrupt related metrics
@@ -950,6 +955,7 @@ impl FirecrackerMetrics {
950955
signals: SignalMetrics::new(),
951956
vsock_ser: VsockMetricsSerializeProxy {},
952957
entropy_ser: EntropyMetricsSerializeProxy {},
958+
pmem_ser: PmemMetricsSerializeProxy {},
953959
vhost_user_ser: VhostUserMetricsSerializeProxy {},
954960
interrupts: InterruptMetrics::new(),
955961
}

tests/host_tools/fcmetrics.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,12 @@ def validate_fc_metrics(metrics):
295295
"rate_limiter_event_count",
296296
],
297297
"interrupts": ["triggers", "config_updates"],
298+
"pmem": [
299+
"activate_fails",
300+
"cfg_fails",
301+
"event_fails",
302+
"queue_event_count",
303+
],
298304
}
299305

300306
# validate timestamp before jsonschema validation which some more time

0 commit comments

Comments
 (0)