mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-05 22:21:31 +00:00
28 lines
874 B
Rust
28 lines
874 B
Rust
![]() |
use krata::{
|
||
|
idm::protocol::{IdmMetricFormat, IdmMetricNode},
|
||
|
v1::common::{GuestMetricFormat, GuestMetricNode},
|
||
|
};
|
||
|
|
||
|
fn idm_metric_format_to_api(format: IdmMetricFormat) -> GuestMetricFormat {
|
||
|
match format {
|
||
|
IdmMetricFormat::Unknown => GuestMetricFormat::Unknown,
|
||
|
IdmMetricFormat::Bytes => GuestMetricFormat::Bytes,
|
||
|
IdmMetricFormat::Integer => GuestMetricFormat::Integer,
|
||
|
IdmMetricFormat::DurationSeconds => GuestMetricFormat::DurationSeconds,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
pub fn idm_metric_to_api(node: IdmMetricNode) -> GuestMetricNode {
|
||
|
let format = node.format();
|
||
|
GuestMetricNode {
|
||
|
name: node.name,
|
||
|
value: node.value,
|
||
|
format: idm_metric_format_to_api(format).into(),
|
||
|
children: node
|
||
|
.children
|
||
|
.into_iter()
|
||
|
.map(idm_metric_to_api)
|
||
|
.collect::<Vec<_>>(),
|
||
|
}
|
||
|
}
|