#[non_exhaustive]pub struct LogsCompute {
pub aggregation: LogsAggregationFunction,
pub interval: Option<String>,
pub metric: Option<String>,
pub type_: Option<LogsComputeType>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
A compute rule to compute metrics or timeseries
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.aggregation: LogsAggregationFunction
An aggregation function
interval: Option<String>
The time buckets’ size (only used for type=timeseries) Defaults to a resolution of 150 points
metric: Option<String>
The metric to use
type_: Option<LogsComputeType>
The type of compute
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl LogsCompute
impl LogsCompute
Sourcepub fn new(aggregation: LogsAggregationFunction) -> LogsCompute
pub fn new(aggregation: LogsAggregationFunction) -> LogsCompute
Examples found in repository?
examples/v2_logs_AggregateLogs_2527007002.rs (line 13)
11async fn main() {
12 let body = LogsAggregateRequest::new()
13 .compute(vec![LogsCompute::new(LogsAggregationFunction::COUNT)
14 .interval("5m".to_string())
15 .type_(LogsComputeType::TIMESERIES)])
16 .filter(
17 LogsQueryFilter::new()
18 .from("now-15m".to_string())
19 .indexes(vec!["main".to_string()])
20 .query("*".to_string())
21 .to("now".to_string()),
22 );
23 let configuration = datadog::Configuration::new();
24 let api = LogsAPI::with_config(configuration);
25 let resp = api.aggregate_logs(body).await;
26 if let Ok(value) = resp {
27 println!("{:#?}", value);
28 } else {
29 println!("{:#?}", resp.unwrap_err());
30 }
31}
More examples
examples/v2_logs_AggregateLogs_2955613758.rs (line 18)
16async fn main() {
17 let body = LogsAggregateRequest::new()
18 .compute(vec![LogsCompute::new(LogsAggregationFunction::COUNT)
19 .interval("5m".to_string())
20 .type_(LogsComputeType::TIMESERIES)])
21 .filter(
22 LogsQueryFilter::new()
23 .from("now-15m".to_string())
24 .indexes(vec!["main".to_string()])
25 .query("*".to_string())
26 .to("now".to_string()),
27 )
28 .group_by(vec![LogsGroupBy::new("host".to_string())
29 .missing(LogsGroupByMissing::LogsGroupByMissingString(
30 "miss".to_string(),
31 ))
32 .sort(
33 LogsAggregateSort::new()
34 .aggregation(LogsAggregationFunction::PERCENTILE_90)
35 .metric("@duration".to_string())
36 .order(LogsSortOrder::ASCENDING)
37 .type_(LogsAggregateSortType::MEASURE),
38 )]);
39 let configuration = datadog::Configuration::new();
40 let api = LogsAPI::with_config(configuration);
41 let resp = api.aggregate_logs(body).await;
42 if let Ok(value) = resp {
43 println!("{:#?}", value);
44 } else {
45 println!("{:#?}", resp.unwrap_err());
46 }
47}
Sourcepub fn interval(self, value: String) -> Self
pub fn interval(self, value: String) -> Self
Examples found in repository?
examples/v2_logs_AggregateLogs_2527007002.rs (line 14)
11async fn main() {
12 let body = LogsAggregateRequest::new()
13 .compute(vec![LogsCompute::new(LogsAggregationFunction::COUNT)
14 .interval("5m".to_string())
15 .type_(LogsComputeType::TIMESERIES)])
16 .filter(
17 LogsQueryFilter::new()
18 .from("now-15m".to_string())
19 .indexes(vec!["main".to_string()])
20 .query("*".to_string())
21 .to("now".to_string()),
22 );
23 let configuration = datadog::Configuration::new();
24 let api = LogsAPI::with_config(configuration);
25 let resp = api.aggregate_logs(body).await;
26 if let Ok(value) = resp {
27 println!("{:#?}", value);
28 } else {
29 println!("{:#?}", resp.unwrap_err());
30 }
31}
More examples
examples/v2_logs_AggregateLogs_2955613758.rs (line 19)
16async fn main() {
17 let body = LogsAggregateRequest::new()
18 .compute(vec![LogsCompute::new(LogsAggregationFunction::COUNT)
19 .interval("5m".to_string())
20 .type_(LogsComputeType::TIMESERIES)])
21 .filter(
22 LogsQueryFilter::new()
23 .from("now-15m".to_string())
24 .indexes(vec!["main".to_string()])
25 .query("*".to_string())
26 .to("now".to_string()),
27 )
28 .group_by(vec![LogsGroupBy::new("host".to_string())
29 .missing(LogsGroupByMissing::LogsGroupByMissingString(
30 "miss".to_string(),
31 ))
32 .sort(
33 LogsAggregateSort::new()
34 .aggregation(LogsAggregationFunction::PERCENTILE_90)
35 .metric("@duration".to_string())
36 .order(LogsSortOrder::ASCENDING)
37 .type_(LogsAggregateSortType::MEASURE),
38 )]);
39 let configuration = datadog::Configuration::new();
40 let api = LogsAPI::with_config(configuration);
41 let resp = api.aggregate_logs(body).await;
42 if let Ok(value) = resp {
43 println!("{:#?}", value);
44 } else {
45 println!("{:#?}", resp.unwrap_err());
46 }
47}
pub fn metric(self, value: String) -> Self
Sourcepub fn type_(self, value: LogsComputeType) -> Self
pub fn type_(self, value: LogsComputeType) -> Self
Examples found in repository?
examples/v2_logs_AggregateLogs_2527007002.rs (line 15)
11async fn main() {
12 let body = LogsAggregateRequest::new()
13 .compute(vec![LogsCompute::new(LogsAggregationFunction::COUNT)
14 .interval("5m".to_string())
15 .type_(LogsComputeType::TIMESERIES)])
16 .filter(
17 LogsQueryFilter::new()
18 .from("now-15m".to_string())
19 .indexes(vec!["main".to_string()])
20 .query("*".to_string())
21 .to("now".to_string()),
22 );
23 let configuration = datadog::Configuration::new();
24 let api = LogsAPI::with_config(configuration);
25 let resp = api.aggregate_logs(body).await;
26 if let Ok(value) = resp {
27 println!("{:#?}", value);
28 } else {
29 println!("{:#?}", resp.unwrap_err());
30 }
31}
More examples
examples/v2_logs_AggregateLogs_2955613758.rs (line 20)
16async fn main() {
17 let body = LogsAggregateRequest::new()
18 .compute(vec![LogsCompute::new(LogsAggregationFunction::COUNT)
19 .interval("5m".to_string())
20 .type_(LogsComputeType::TIMESERIES)])
21 .filter(
22 LogsQueryFilter::new()
23 .from("now-15m".to_string())
24 .indexes(vec!["main".to_string()])
25 .query("*".to_string())
26 .to("now".to_string()),
27 )
28 .group_by(vec![LogsGroupBy::new("host".to_string())
29 .missing(LogsGroupByMissing::LogsGroupByMissingString(
30 "miss".to_string(),
31 ))
32 .sort(
33 LogsAggregateSort::new()
34 .aggregation(LogsAggregationFunction::PERCENTILE_90)
35 .metric("@duration".to_string())
36 .order(LogsSortOrder::ASCENDING)
37 .type_(LogsAggregateSortType::MEASURE),
38 )]);
39 let configuration = datadog::Configuration::new();
40 let api = LogsAPI::with_config(configuration);
41 let resp = api.aggregate_logs(body).await;
42 if let Ok(value) = resp {
43 println!("{:#?}", value);
44 } else {
45 println!("{:#?}", resp.unwrap_err());
46 }
47}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for LogsCompute
impl Clone for LogsCompute
Source§fn clone(&self) -> LogsCompute
fn clone(&self) -> LogsCompute
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 LogsCompute
impl Debug for LogsCompute
Source§impl<'de> Deserialize<'de> for LogsCompute
impl<'de> Deserialize<'de> for LogsCompute
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 LogsCompute
impl PartialEq for LogsCompute
Source§impl Serialize for LogsCompute
impl Serialize for LogsCompute
impl StructuralPartialEq for LogsCompute
Auto Trait Implementations§
impl Freeze for LogsCompute
impl RefUnwindSafe for LogsCompute
impl Send for LogsCompute
impl Sync for LogsCompute
impl Unpin for LogsCompute
impl UnwindSafe for LogsCompute
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