Skip to main content

aws_sdk_athena/types/
_query_runtime_statistics_timeline.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Timeline statistics such as query queue time, planning time, execution time, service processing time, and total execution time.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct QueryRuntimeStatisticsTimeline {
7    /// <p>The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.</p>
8    pub query_queue_time_in_millis: ::std::option::Option<i64>,
9    /// <p>The number of milliseconds that Athena spends on preprocessing before it submits the query to the engine.</p>
10    pub service_pre_processing_time_in_millis: ::std::option::Option<i64>,
11    /// <p>The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.</p>
12    pub query_planning_time_in_millis: ::std::option::Option<i64>,
13    /// <p>The number of milliseconds that the query took to execute.</p>
14    pub engine_execution_time_in_millis: ::std::option::Option<i64>,
15    /// <p>The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.</p>
16    pub service_processing_time_in_millis: ::std::option::Option<i64>,
17    /// <p>The number of milliseconds that Athena took to run the query.</p>
18    pub total_execution_time_in_millis: ::std::option::Option<i64>,
19}
20impl QueryRuntimeStatisticsTimeline {
21    /// <p>The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.</p>
22    pub fn query_queue_time_in_millis(&self) -> ::std::option::Option<i64> {
23        self.query_queue_time_in_millis
24    }
25    /// <p>The number of milliseconds that Athena spends on preprocessing before it submits the query to the engine.</p>
26    pub fn service_pre_processing_time_in_millis(&self) -> ::std::option::Option<i64> {
27        self.service_pre_processing_time_in_millis
28    }
29    /// <p>The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.</p>
30    pub fn query_planning_time_in_millis(&self) -> ::std::option::Option<i64> {
31        self.query_planning_time_in_millis
32    }
33    /// <p>The number of milliseconds that the query took to execute.</p>
34    pub fn engine_execution_time_in_millis(&self) -> ::std::option::Option<i64> {
35        self.engine_execution_time_in_millis
36    }
37    /// <p>The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.</p>
38    pub fn service_processing_time_in_millis(&self) -> ::std::option::Option<i64> {
39        self.service_processing_time_in_millis
40    }
41    /// <p>The number of milliseconds that Athena took to run the query.</p>
42    pub fn total_execution_time_in_millis(&self) -> ::std::option::Option<i64> {
43        self.total_execution_time_in_millis
44    }
45}
46impl QueryRuntimeStatisticsTimeline {
47    /// Creates a new builder-style object to manufacture [`QueryRuntimeStatisticsTimeline`](crate::types::QueryRuntimeStatisticsTimeline).
48    pub fn builder() -> crate::types::builders::QueryRuntimeStatisticsTimelineBuilder {
49        crate::types::builders::QueryRuntimeStatisticsTimelineBuilder::default()
50    }
51}
52
53/// A builder for [`QueryRuntimeStatisticsTimeline`](crate::types::QueryRuntimeStatisticsTimeline).
54#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
55#[non_exhaustive]
56pub struct QueryRuntimeStatisticsTimelineBuilder {
57    pub(crate) query_queue_time_in_millis: ::std::option::Option<i64>,
58    pub(crate) service_pre_processing_time_in_millis: ::std::option::Option<i64>,
59    pub(crate) query_planning_time_in_millis: ::std::option::Option<i64>,
60    pub(crate) engine_execution_time_in_millis: ::std::option::Option<i64>,
61    pub(crate) service_processing_time_in_millis: ::std::option::Option<i64>,
62    pub(crate) total_execution_time_in_millis: ::std::option::Option<i64>,
63}
64impl QueryRuntimeStatisticsTimelineBuilder {
65    /// <p>The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.</p>
66    pub fn query_queue_time_in_millis(mut self, input: i64) -> Self {
67        self.query_queue_time_in_millis = ::std::option::Option::Some(input);
68        self
69    }
70    /// <p>The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.</p>
71    pub fn set_query_queue_time_in_millis(mut self, input: ::std::option::Option<i64>) -> Self {
72        self.query_queue_time_in_millis = input;
73        self
74    }
75    /// <p>The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.</p>
76    pub fn get_query_queue_time_in_millis(&self) -> &::std::option::Option<i64> {
77        &self.query_queue_time_in_millis
78    }
79    /// <p>The number of milliseconds that Athena spends on preprocessing before it submits the query to the engine.</p>
80    pub fn service_pre_processing_time_in_millis(mut self, input: i64) -> Self {
81        self.service_pre_processing_time_in_millis = ::std::option::Option::Some(input);
82        self
83    }
84    /// <p>The number of milliseconds that Athena spends on preprocessing before it submits the query to the engine.</p>
85    pub fn set_service_pre_processing_time_in_millis(mut self, input: ::std::option::Option<i64>) -> Self {
86        self.service_pre_processing_time_in_millis = input;
87        self
88    }
89    /// <p>The number of milliseconds that Athena spends on preprocessing before it submits the query to the engine.</p>
90    pub fn get_service_pre_processing_time_in_millis(&self) -> &::std::option::Option<i64> {
91        &self.service_pre_processing_time_in_millis
92    }
93    /// <p>The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.</p>
94    pub fn query_planning_time_in_millis(mut self, input: i64) -> Self {
95        self.query_planning_time_in_millis = ::std::option::Option::Some(input);
96        self
97    }
98    /// <p>The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.</p>
99    pub fn set_query_planning_time_in_millis(mut self, input: ::std::option::Option<i64>) -> Self {
100        self.query_planning_time_in_millis = input;
101        self
102    }
103    /// <p>The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.</p>
104    pub fn get_query_planning_time_in_millis(&self) -> &::std::option::Option<i64> {
105        &self.query_planning_time_in_millis
106    }
107    /// <p>The number of milliseconds that the query took to execute.</p>
108    pub fn engine_execution_time_in_millis(mut self, input: i64) -> Self {
109        self.engine_execution_time_in_millis = ::std::option::Option::Some(input);
110        self
111    }
112    /// <p>The number of milliseconds that the query took to execute.</p>
113    pub fn set_engine_execution_time_in_millis(mut self, input: ::std::option::Option<i64>) -> Self {
114        self.engine_execution_time_in_millis = input;
115        self
116    }
117    /// <p>The number of milliseconds that the query took to execute.</p>
118    pub fn get_engine_execution_time_in_millis(&self) -> &::std::option::Option<i64> {
119        &self.engine_execution_time_in_millis
120    }
121    /// <p>The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.</p>
122    pub fn service_processing_time_in_millis(mut self, input: i64) -> Self {
123        self.service_processing_time_in_millis = ::std::option::Option::Some(input);
124        self
125    }
126    /// <p>The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.</p>
127    pub fn set_service_processing_time_in_millis(mut self, input: ::std::option::Option<i64>) -> Self {
128        self.service_processing_time_in_millis = input;
129        self
130    }
131    /// <p>The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.</p>
132    pub fn get_service_processing_time_in_millis(&self) -> &::std::option::Option<i64> {
133        &self.service_processing_time_in_millis
134    }
135    /// <p>The number of milliseconds that Athena took to run the query.</p>
136    pub fn total_execution_time_in_millis(mut self, input: i64) -> Self {
137        self.total_execution_time_in_millis = ::std::option::Option::Some(input);
138        self
139    }
140    /// <p>The number of milliseconds that Athena took to run the query.</p>
141    pub fn set_total_execution_time_in_millis(mut self, input: ::std::option::Option<i64>) -> Self {
142        self.total_execution_time_in_millis = input;
143        self
144    }
145    /// <p>The number of milliseconds that Athena took to run the query.</p>
146    pub fn get_total_execution_time_in_millis(&self) -> &::std::option::Option<i64> {
147        &self.total_execution_time_in_millis
148    }
149    /// Consumes the builder and constructs a [`QueryRuntimeStatisticsTimeline`](crate::types::QueryRuntimeStatisticsTimeline).
150    pub fn build(self) -> crate::types::QueryRuntimeStatisticsTimeline {
151        crate::types::QueryRuntimeStatisticsTimeline {
152            query_queue_time_in_millis: self.query_queue_time_in_millis,
153            service_pre_processing_time_in_millis: self.service_pre_processing_time_in_millis,
154            query_planning_time_in_millis: self.query_planning_time_in_millis,
155            engine_execution_time_in_millis: self.engine_execution_time_in_millis,
156            service_processing_time_in_millis: self.service_processing_time_in_millis,
157            total_execution_time_in_millis: self.total_execution_time_in_millis,
158        }
159    }
160}