#[non_exhaustive]pub struct MetricsTimeseriesQuery {
pub data_source: MetricsDataSource,
pub name: Option<String>,
pub query: String,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
An individual timeseries 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.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 MetricsTimeseriesQuery
impl MetricsTimeseriesQuery
Sourcepub fn new(
data_source: MetricsDataSource,
query: String,
) -> MetricsTimeseriesQuery
pub fn new( data_source: MetricsDataSource, query: String, ) -> MetricsTimeseriesQuery
Examples found in repository?
examples/v2_metrics_QueryTimeseriesData.rs (lines 21-24)
16async fn main() {
17 let body = TimeseriesFormulaQueryRequest::new(TimeseriesFormulaRequest::new(
18 TimeseriesFormulaRequestAttributes::new(
19 1568899800000,
20 vec![TimeseriesQuery::MetricsTimeseriesQuery(Box::new(
21 MetricsTimeseriesQuery::new(
22 MetricsDataSource::METRICS,
23 "avg:system.cpu.user{*} by {env}".to_string(),
24 ),
25 ))],
26 1568923200000,
27 )
28 .formulas(vec![QueryFormula::new("a+b".to_string())
29 .limit(FormulaLimit::new().count(10).order(QuerySortOrder::DESC))])
30 .interval(5000),
31 TimeseriesFormulaRequestType::TIMESERIES_REQUEST,
32 ));
33 let configuration = datadog::Configuration::new();
34 let api = MetricsAPI::with_config(configuration);
35 let resp = api.query_timeseries_data(body).await;
36 if let Ok(value) = resp {
37 println!("{:#?}", value);
38 } else {
39 println!("{:#?}", resp.unwrap_err());
40 }
41}
More examples
examples/v2_metrics_QueryTimeseriesData_301142940.rs (lines 21-24)
16async fn main() {
17 let body = TimeseriesFormulaQueryRequest::new(TimeseriesFormulaRequest::new(
18 TimeseriesFormulaRequestAttributes::new(
19 1636625471000,
20 vec![TimeseriesQuery::MetricsTimeseriesQuery(Box::new(
21 MetricsTimeseriesQuery::new(
22 MetricsDataSource::METRICS,
23 "avg:datadog.estimated_usage.metrics.custom{*}".to_string(),
24 )
25 .name("a".to_string()),
26 ))],
27 1636629071000,
28 )
29 .formulas(vec![QueryFormula::new("a".to_string())
30 .limit(FormulaLimit::new().count(10).order(QuerySortOrder::DESC))])
31 .interval(5000),
32 TimeseriesFormulaRequestType::TIMESERIES_REQUEST,
33 ));
34 let configuration = datadog::Configuration::new();
35 let api = MetricsAPI::with_config(configuration);
36 let resp = api.query_timeseries_data(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
Sourcepub fn name(self, value: String) -> Self
pub fn name(self, value: String) -> Self
Examples found in repository?
examples/v2_metrics_QueryTimeseriesData_301142940.rs (line 25)
16async fn main() {
17 let body = TimeseriesFormulaQueryRequest::new(TimeseriesFormulaRequest::new(
18 TimeseriesFormulaRequestAttributes::new(
19 1636625471000,
20 vec![TimeseriesQuery::MetricsTimeseriesQuery(Box::new(
21 MetricsTimeseriesQuery::new(
22 MetricsDataSource::METRICS,
23 "avg:datadog.estimated_usage.metrics.custom{*}".to_string(),
24 )
25 .name("a".to_string()),
26 ))],
27 1636629071000,
28 )
29 .formulas(vec![QueryFormula::new("a".to_string())
30 .limit(FormulaLimit::new().count(10).order(QuerySortOrder::DESC))])
31 .interval(5000),
32 TimeseriesFormulaRequestType::TIMESERIES_REQUEST,
33 ));
34 let configuration = datadog::Configuration::new();
35 let api = MetricsAPI::with_config(configuration);
36 let resp = api.query_timeseries_data(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for MetricsTimeseriesQuery
impl Clone for MetricsTimeseriesQuery
Source§fn clone(&self) -> MetricsTimeseriesQuery
fn clone(&self) -> MetricsTimeseriesQuery
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 MetricsTimeseriesQuery
impl Debug for MetricsTimeseriesQuery
Source§impl<'de> Deserialize<'de> for MetricsTimeseriesQuery
impl<'de> Deserialize<'de> for MetricsTimeseriesQuery
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 MetricsTimeseriesQuery
impl PartialEq for MetricsTimeseriesQuery
Source§impl Serialize for MetricsTimeseriesQuery
impl Serialize for MetricsTimeseriesQuery
impl StructuralPartialEq for MetricsTimeseriesQuery
Auto Trait Implementations§
impl Freeze for MetricsTimeseriesQuery
impl RefUnwindSafe for MetricsTimeseriesQuery
impl Send for MetricsTimeseriesQuery
impl Sync for MetricsTimeseriesQuery
impl Unpin for MetricsTimeseriesQuery
impl UnwindSafe for MetricsTimeseriesQuery
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