30 lines
797 B
Rust
30 lines
797 B
Rust
use crate::{
|
|
docker::{
|
|
method::{
|
|
get_stats::models::{DockerStats, GetContainerStatsRequest, GetContainerStatsResponse},
|
|
DockerClientStatsTrait,
|
|
},
|
|
DockerClient,
|
|
},
|
|
error::SystemExporterResult,
|
|
};
|
|
use async_trait::async_trait;
|
|
|
|
#[async_trait]
|
|
impl DockerClientStatsTrait for DockerClient {
|
|
async fn get_container_stats(
|
|
&self,
|
|
req: GetContainerStatsRequest,
|
|
) -> SystemExporterResult<GetContainerStatsResponse> {
|
|
let stats: DockerStats = self
|
|
.send_request(
|
|
http::Method::GET,
|
|
format!("containers/{}/stats?stream=false", req.container_id).as_str(),
|
|
req,
|
|
)
|
|
.await?;
|
|
|
|
Ok(GetContainerStatsResponse { stats })
|
|
}
|
|
}
|