#[non_exhaustive]pub struct MetricsScalarQuery {
pub aggregator: MetricsAggregator,
pub data_source: MetricsDataSource,
pub name: Option<String>,
pub query: String,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
An individual scalar metrics query.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.aggregator: MetricsAggregator
The type of aggregation that can be performed on metrics-based queries.
data_source: MetricsDataSource
A data source that is powered by the Metrics platform.
name: Option<String>
The variable name for use in formulas.
query: String
A classic metrics query string.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl MetricsScalarQuery
impl MetricsScalarQuery
Sourcepub fn new(
aggregator: MetricsAggregator,
data_source: MetricsDataSource,
query: String,
) -> MetricsScalarQuery
pub fn new( aggregator: MetricsAggregator, data_source: MetricsDataSource, query: String, ) -> MetricsScalarQuery
Examples found in repository?
examples/v2_metrics_QueryScalarData.rs (lines 22-26)
17async fn main() {
18 let body = ScalarFormulaQueryRequest::new(ScalarFormulaRequest::new(
19 ScalarFormulaRequestAttributes::new(
20 1568899800000,
21 vec![ScalarQuery::MetricsScalarQuery(Box::new(
22 MetricsScalarQuery::new(
23 MetricsAggregator::AVG,
24 MetricsDataSource::METRICS,
25 "avg:system.cpu.user{*} by {env}".to_string(),
26 ),
27 ))],
28 1568923200000,
29 )
30 .formulas(vec![QueryFormula::new("a+b".to_string())
31 .limit(FormulaLimit::new().count(10).order(QuerySortOrder::DESC))]),
32 ScalarFormulaRequestType::SCALAR_REQUEST,
33 ));
34 let configuration = datadog::Configuration::new();
35 let api = MetricsAPI::with_config(configuration);
36 let resp = api.query_scalar_data(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
More examples
examples/v2_metrics_QueryScalarData_3112571352.rs (lines 22-26)
17async fn main() {
18 let body = ScalarFormulaQueryRequest::new(ScalarFormulaRequest::new(
19 ScalarFormulaRequestAttributes::new(
20 1636625471000,
21 vec![ScalarQuery::MetricsScalarQuery(Box::new(
22 MetricsScalarQuery::new(
23 MetricsAggregator::AVG,
24 MetricsDataSource::METRICS,
25 "avg:system.cpu.user{*}".to_string(),
26 )
27 .name("a".to_string()),
28 ))],
29 1636629071000,
30 )
31 .formulas(vec![QueryFormula::new("a".to_string())
32 .limit(FormulaLimit::new().count(10).order(QuerySortOrder::DESC))]),
33 ScalarFormulaRequestType::SCALAR_REQUEST,
34 ));
35 let configuration = datadog::Configuration::new();
36 let api = MetricsAPI::with_config(configuration);
37 let resp = api.query_scalar_data(body).await;
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43}
Sourcepub fn name(self, value: String) -> Self
pub fn name(self, value: String) -> Self
Examples found in repository?
examples/v2_metrics_QueryScalarData_3112571352.rs (line 27)
17async fn main() {
18 let body = ScalarFormulaQueryRequest::new(ScalarFormulaRequest::new(
19 ScalarFormulaRequestAttributes::new(
20 1636625471000,
21 vec![ScalarQuery::MetricsScalarQuery(Box::new(
22 MetricsScalarQuery::new(
23 MetricsAggregator::AVG,
24 MetricsDataSource::METRICS,
25 "avg:system.cpu.user{*}".to_string(),
26 )
27 .name("a".to_string()),
28 ))],
29 1636629071000,
30 )
31 .formulas(vec![QueryFormula::new("a".to_string())
32 .limit(FormulaLimit::new().count(10).order(QuerySortOrder::DESC))]),
33 ScalarFormulaRequestType::SCALAR_REQUEST,
34 ));
35 let configuration = datadog::Configuration::new();
36 let api = MetricsAPI::with_config(configuration);
37 let resp = api.query_scalar_data(body).await;
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for MetricsScalarQuery
impl Clone for MetricsScalarQuery
Source§fn clone(&self) -> MetricsScalarQuery
fn clone(&self) -> MetricsScalarQuery
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for MetricsScalarQuery
impl Debug for MetricsScalarQuery
Source§impl<'de> Deserialize<'de> for MetricsScalarQuery
impl<'de> Deserialize<'de> for MetricsScalarQuery
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for MetricsScalarQuery
impl PartialEq for MetricsScalarQuery
Source§impl Serialize for MetricsScalarQuery
impl Serialize for MetricsScalarQuery
impl StructuralPartialEq for MetricsScalarQuery
Auto Trait Implementations§
impl Freeze for MetricsScalarQuery
impl RefUnwindSafe for MetricsScalarQuery
impl Send for MetricsScalarQuery
impl Sync for MetricsScalarQuery
impl Unpin for MetricsScalarQuery
impl UnwindSafe for MetricsScalarQuery
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more