/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Athena { namespace Model { /** *

Timeline statistics such as query queue time, planning time, execution time, * service processing time, and total execution time.

See Also:

AWS * API Reference

*/ class QueryRuntimeStatisticsTimeline { public: AWS_ATHENA_API QueryRuntimeStatisticsTimeline(); AWS_ATHENA_API QueryRuntimeStatisticsTimeline(Aws::Utils::Json::JsonView jsonValue); AWS_ATHENA_API QueryRuntimeStatisticsTimeline& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ATHENA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

*/ inline long long GetQueryQueueTimeInMillis() const{ return m_queryQueueTimeInMillis; } /** *

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.

*/ inline bool QueryQueueTimeInMillisHasBeenSet() const { return m_queryQueueTimeInMillisHasBeenSet; } /** *

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.

*/ inline void SetQueryQueueTimeInMillis(long long value) { m_queryQueueTimeInMillisHasBeenSet = true; m_queryQueueTimeInMillis = value; } /** *

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.

*/ inline QueryRuntimeStatisticsTimeline& WithQueryQueueTimeInMillis(long long value) { SetQueryQueueTimeInMillis(value); return *this;} /** *

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.

*/ inline long long GetQueryPlanningTimeInMillis() const{ return m_queryPlanningTimeInMillis; } /** *

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.

*/ inline bool QueryPlanningTimeInMillisHasBeenSet() const { return m_queryPlanningTimeInMillisHasBeenSet; } /** *

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.

*/ inline void SetQueryPlanningTimeInMillis(long long value) { m_queryPlanningTimeInMillisHasBeenSet = true; m_queryPlanningTimeInMillis = value; } /** *

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.

*/ inline QueryRuntimeStatisticsTimeline& WithQueryPlanningTimeInMillis(long long value) { SetQueryPlanningTimeInMillis(value); return *this;} /** *

The number of milliseconds that the query took to execute.

*/ inline long long GetEngineExecutionTimeInMillis() const{ return m_engineExecutionTimeInMillis; } /** *

The number of milliseconds that the query took to execute.

*/ inline bool EngineExecutionTimeInMillisHasBeenSet() const { return m_engineExecutionTimeInMillisHasBeenSet; } /** *

The number of milliseconds that the query took to execute.

*/ inline void SetEngineExecutionTimeInMillis(long long value) { m_engineExecutionTimeInMillisHasBeenSet = true; m_engineExecutionTimeInMillis = value; } /** *

The number of milliseconds that the query took to execute.

*/ inline QueryRuntimeStatisticsTimeline& WithEngineExecutionTimeInMillis(long long value) { SetEngineExecutionTimeInMillis(value); return *this;} /** *

The number of milliseconds that Athena took to finalize and publish the query * results after the query engine finished running the query.

*/ inline long long GetServiceProcessingTimeInMillis() const{ return m_serviceProcessingTimeInMillis; } /** *

The number of milliseconds that Athena took to finalize and publish the query * results after the query engine finished running the query.

*/ inline bool ServiceProcessingTimeInMillisHasBeenSet() const { return m_serviceProcessingTimeInMillisHasBeenSet; } /** *

The number of milliseconds that Athena took to finalize and publish the query * results after the query engine finished running the query.

*/ inline void SetServiceProcessingTimeInMillis(long long value) { m_serviceProcessingTimeInMillisHasBeenSet = true; m_serviceProcessingTimeInMillis = value; } /** *

The number of milliseconds that Athena took to finalize and publish the query * results after the query engine finished running the query.

*/ inline QueryRuntimeStatisticsTimeline& WithServiceProcessingTimeInMillis(long long value) { SetServiceProcessingTimeInMillis(value); return *this;} /** *

The number of milliseconds that Athena took to run the query.

*/ inline long long GetTotalExecutionTimeInMillis() const{ return m_totalExecutionTimeInMillis; } /** *

The number of milliseconds that Athena took to run the query.

*/ inline bool TotalExecutionTimeInMillisHasBeenSet() const { return m_totalExecutionTimeInMillisHasBeenSet; } /** *

The number of milliseconds that Athena took to run the query.

*/ inline void SetTotalExecutionTimeInMillis(long long value) { m_totalExecutionTimeInMillisHasBeenSet = true; m_totalExecutionTimeInMillis = value; } /** *

The number of milliseconds that Athena took to run the query.

*/ inline QueryRuntimeStatisticsTimeline& WithTotalExecutionTimeInMillis(long long value) { SetTotalExecutionTimeInMillis(value); return *this;} private: long long m_queryQueueTimeInMillis; bool m_queryQueueTimeInMillisHasBeenSet = false; long long m_queryPlanningTimeInMillis; bool m_queryPlanningTimeInMillisHasBeenSet = false; long long m_engineExecutionTimeInMillis; bool m_engineExecutionTimeInMillisHasBeenSet = false; long long m_serviceProcessingTimeInMillis; bool m_serviceProcessingTimeInMillisHasBeenSet = false; long long m_totalExecutionTimeInMillis; bool m_totalExecutionTimeInMillisHasBeenSet = false; }; } // namespace Model } // namespace Athena } // namespace Aws