pub struct PdhSnapshot {
pub at_ms: u64,
pub engine_util: Vec<(ParsedInstance, f64)>,
pub proc_dedicated: Vec<(ParsedInstance, f64)>,
pub proc_shared: Vec<(ParsedInstance, f64)>,
pub adapter_dedicated: Vec<(ParsedInstance, f64)>,
pub adapter_shared: Vec<(ParsedInstance, f64)>,
}Expand description
One formatted collection of every GPU counter stream — pure data, so the
aggregation functions above are testable from scripted values on any OS. Built on
Windows by [SharedPdh::snapshot]; both Windows backends read the same snapshot.
Empty vectors are the normal GPU-less/first-sample state, not an error.
Fields§
§at_ms: u64When this collection happened (unix millis) — one timestamp per frame.
engine_util: Vec<(ParsedInstance, f64)>\GPU Engine(*)\Utilization Percentage — busy % per (pid, engine) instance.
proc_dedicated: Vec<(ParsedInstance, f64)>\GPU Process Memory(*)\Dedicated Usage — bytes per (pid, adapter).
\GPU Process Memory(*)\Shared Usage — bytes per (pid, adapter). Carried
separately to the UI; never added into mem_bytes (dedicated vs shared is
the honest split, §2.4).
adapter_dedicated: Vec<(ParsedInstance, f64)>\GPU Adapter Memory(*)\Dedicated Usage — bytes per adapter (VidMm truth).
\GPU Adapter Memory(*)\Shared Usage — bytes per adapter, shown separately.
Trait Implementations§
Source§impl Clone for PdhSnapshot
impl Clone for PdhSnapshot
Source§fn clone(&self) -> PdhSnapshot
fn clone(&self) -> PdhSnapshot
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more