use std::collections::{BTreeMap, VecDeque}; use std::time::{Duration, Instant}; use telemetry::Record; use telemetry::hardware::cpu::{ CpuCoreSample, CpuHostSample, CpuProcessSample, HOST_CPU_CHANNEL, HostCpuSample, }; use telemetry::hardware::gpu::{ GpuDeviceSample, GpuProcessSample, HOST_GPU_CHANNEL, HostGpuSample, }; use telemetry::hardware::net::{HOST_NET_CHANNEL, HostNetSample, NetInterfaceSample}; use serde::Serialize; const HISTORY_CAP: usize = 300; const HISTORY_MIN_INTERVAL: Duration = Duration::from_millis(900); /// Managed-process state folded from `proc.