Skip to content

Commit 390540e

Browse files
committed
fix: adjust vsock serialziation
- vsock metrics instances were being serialized under the vm cid. not the word "vsock" as the schema expects Signed-off-by: aerosouund <aerosound161@gmail.com>
1 parent 4eb4a81 commit 390540e

1 file changed

Lines changed: 3 additions & 10 deletions

File tree

src/vmm/src/devices/virtio/vsock/metrics.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,11 @@ use std::sync::{Arc, RwLock};
4848
/// per device vsock metrics. (Can also handle singular)
4949
pub fn flush_metrics<S: Serializer>(serializer: S) -> Result<S::Ok, S::Error> {
5050
let vsock_metrics = METRICS.read().unwrap();
51-
let metrics_len = vsock_metrics.len();
52-
// +1 to accomodate aggregate vsock metrics
53-
let mut seq = serializer.serialize_map(Some(1 + metrics_len))?;
54-
5551
let mut vsock_aggregated: VsockDeviceMetrics = VsockDeviceMetrics::default();
56-
57-
for (cid, metrics) in vsock_metrics.iter() {
58-
// serialization will flush the metrics so aggregate before it.
59-
let m: &VsockDeviceMetrics = metrics;
60-
vsock_aggregated.aggregate(m);
61-
seq.serialize_entry(&cid, m)?;
52+
for (_, metrics) in vsock_metrics.iter() {
53+
vsock_aggregated.aggregate(metrics);
6254
}
55+
let mut seq = serializer.serialize_map(Some(1))?;
6356
seq.serialize_entry("vsock", &vsock_aggregated)?;
6457
seq.end()
6558
}

0 commit comments

Comments
 (0)