pub trait StatsProxyInterface: Send + Sync {
type GetMemoryStatsResponseFut: Future<Output = Result<MemoryStats, Error>> + Send;
type GetMemoryStatsExtendedResponseFut: Future<Output = Result<MemoryStatsExtended, Error>> + Send;
type GetMemoryStatsCompressionResponseFut: Future<Output = Result<MemoryStatsCompression, Error>> + Send;
type GetCpuStatsResponseFut: Future<Output = Result<CpuStats, Error>> + Send;
type GetCpuLoadResponseFut: Future<Output = Result<Vec<f32>, Error>> + Send;
// Required methods
fn get_memory_stats(&self) -> Self::GetMemoryStatsResponseFut;
fn get_memory_stats_extended(
&self,
) -> Self::GetMemoryStatsExtendedResponseFut;
fn get_memory_stats_compression(
&self,
) -> Self::GetMemoryStatsCompressionResponseFut;
fn get_cpu_stats(&self) -> Self::GetCpuStatsResponseFut;
fn get_cpu_load(&self, duration: i64) -> Self::GetCpuLoadResponseFut;
}