Skip to main content

AirLibrary/Client/AirServiceProvider/
GetMetrics.rs

1//! `AirServiceProvider::GetMetrics` - retrieve daemon-side metrics by
2//! optional type filter. Wraps
3//! [`crate::Client::AirClient::AirClient::GetMetrics`].
4
5use crate::{
6	AirError,
7	Client::{AirClient::AirMetrics, AirServiceProvider::AirServiceProvider},
8	dev_log,
9};
10
11impl AirServiceProvider {
12	/// Fetches daemon metrics. `metric_type` of `None` returns all
13	/// counters; common values are `"performance"`, `"resources"`,
14	/// `"requests"`.
15	pub async fn GetMetrics(&self, metric_type:Option<String>) -> Result<AirMetrics::Struct, AirError> {
16		let RequestID = crate::Utility::GenerateRequestId();
17
18		dev_log!("grpc", "[AirServiceProvider] GetMetrics (request_id: {})", RequestID);
19
20		self.client.GetMetrics(RequestID, metric_type).await
21	}
22}