pub struct Stats {
pub wall_ms: U64Summary,
pub cpu_ms: Option<U64Summary>,
pub page_faults: Option<U64Summary>,
pub ctx_switches: Option<U64Summary>,
pub max_rss_kb: Option<U64Summary>,
pub io_read_bytes: Option<U64Summary>,
pub io_write_bytes: Option<U64Summary>,
pub network_packets: Option<U64Summary>,
pub energy_uj: Option<U64Summary>,
pub binary_bytes: Option<U64Summary>,
pub throughput_per_s: Option<F64Summary>,
}Expand description
Aggregated statistics for a benchmark run.
§Examples
use perfgate_types::{Stats, U64Summary};
let stats = Stats {
wall_ms: U64Summary::new(100, 90, 120 ),
cpu_ms: None,
page_faults: None,
ctx_switches: None,
max_rss_kb: Some(U64Summary::new(4096, 4000, 4200 )),
io_read_bytes: None,
io_write_bytes: None,
network_packets: None,
energy_uj: None,
binary_bytes: None,
throughput_per_s: None,
};
assert_eq!(stats.wall_ms.median, 100);
assert_eq!(stats.max_rss_kb.unwrap().median, 4096);Fields§
§wall_ms: U64Summary§cpu_ms: Option<U64Summary>CPU time (user + system) summary in milliseconds (Unix only).
page_faults: Option<U64Summary>Major page faults summary (Unix only).
ctx_switches: Option<U64Summary>Voluntary + involuntary context switches summary (Unix only).
max_rss_kb: Option<U64Summary>§io_read_bytes: Option<U64Summary>Bytes read from disk summary (best-effort).
io_write_bytes: Option<U64Summary>Bytes written to disk summary (best-effort).
network_packets: Option<U64Summary>Total network packets summary (best-effort).
energy_uj: Option<U64Summary>CPU energy used summary in microjoules (RAPL on Linux).
binary_bytes: Option<U64Summary>Size of executed binary in bytes (best-effort).
throughput_per_s: Option<F64Summary>Trait Implementations§
Source§impl<'de> Deserialize<'de> for Stats
impl<'de> Deserialize<'de> for Stats
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for Stats
impl JsonSchema for Stats
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreimpl StructuralPartialEq for Stats
Auto Trait Implementations§
impl Freeze for Stats
impl RefUnwindSafe for Stats
impl Send for Stats
impl Sync for Stats
impl Unpin for Stats
impl UnsafeUnpin for Stats
impl UnwindSafe for Stats
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more