/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the athena-2017-05-18.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Athena.Model { /// <summary> /// The amount of data scanned during the query execution and the amount of time that /// it took to execute, and the type of statement that was run. /// </summary> public partial class QueryExecutionStatistics { private string _dataManifestLocation; private long? _dataScannedInBytes; private long? _engineExecutionTimeInMillis; private long? _queryPlanningTimeInMillis; private long? _queryQueueTimeInMillis; private ResultReuseInformation _resultReuseInformation; private long? _serviceProcessingTimeInMillis; private long? _totalExecutionTimeInMillis; /// <summary> /// Gets and sets the property DataManifestLocation. /// <para> /// The location and file name of a data manifest file. The manifest file is saved to /// the Athena query results location in Amazon S3. The manifest file tracks files that /// the query wrote to Amazon S3. If the query fails, the manifest file also tracks files /// that the query intended to write. The manifest is useful for identifying orphaned /// files resulting from a failed query. For more information, see <a href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working /// with Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User /// Guide</i>. /// </para> /// </summary> public string DataManifestLocation { get { return this._dataManifestLocation; } set { this._dataManifestLocation = value; } } // Check to see if DataManifestLocation property is set internal bool IsSetDataManifestLocation() { return this._dataManifestLocation != null; } /// <summary> /// Gets and sets the property DataScannedInBytes. /// <para> /// The number of bytes in the data that was queried. /// </para> /// </summary> public long DataScannedInBytes { get { return this._dataScannedInBytes.GetValueOrDefault(); } set { this._dataScannedInBytes = value; } } // Check to see if DataScannedInBytes property is set internal bool IsSetDataScannedInBytes() { return this._dataScannedInBytes.HasValue; } /// <summary> /// Gets and sets the property EngineExecutionTimeInMillis. /// <para> /// The number of milliseconds that the query took to execute. /// </para> /// </summary> public long EngineExecutionTimeInMillis { get { return this._engineExecutionTimeInMillis.GetValueOrDefault(); } set { this._engineExecutionTimeInMillis = value; } } // Check to see if EngineExecutionTimeInMillis property is set internal bool IsSetEngineExecutionTimeInMillis() { return this._engineExecutionTimeInMillis.HasValue; } /// <summary> /// Gets and sets the property QueryPlanningTimeInMillis. /// <para> /// 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. /// </para> /// </summary> public long QueryPlanningTimeInMillis { get { return this._queryPlanningTimeInMillis.GetValueOrDefault(); } set { this._queryPlanningTimeInMillis = value; } } // Check to see if QueryPlanningTimeInMillis property is set internal bool IsSetQueryPlanningTimeInMillis() { return this._queryPlanningTimeInMillis.HasValue; } /// <summary> /// Gets and sets the property QueryQueueTimeInMillis. /// <para> /// 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. /// </para> /// </summary> public long QueryQueueTimeInMillis { get { return this._queryQueueTimeInMillis.GetValueOrDefault(); } set { this._queryQueueTimeInMillis = value; } } // Check to see if QueryQueueTimeInMillis property is set internal bool IsSetQueryQueueTimeInMillis() { return this._queryQueueTimeInMillis.HasValue; } /// <summary> /// Gets and sets the property ResultReuseInformation. /// <para> /// Contains information about whether previous query results were reused for the query. /// </para> /// </summary> public ResultReuseInformation ResultReuseInformation { get { return this._resultReuseInformation; } set { this._resultReuseInformation = value; } } // Check to see if ResultReuseInformation property is set internal bool IsSetResultReuseInformation() { return this._resultReuseInformation != null; } /// <summary> /// Gets and sets the property ServiceProcessingTimeInMillis. /// <para> /// The number of milliseconds that Athena took to finalize and publish the query results /// after the query engine finished running the query. /// </para> /// </summary> public long ServiceProcessingTimeInMillis { get { return this._serviceProcessingTimeInMillis.GetValueOrDefault(); } set { this._serviceProcessingTimeInMillis = value; } } // Check to see if ServiceProcessingTimeInMillis property is set internal bool IsSetServiceProcessingTimeInMillis() { return this._serviceProcessingTimeInMillis.HasValue; } /// <summary> /// Gets and sets the property TotalExecutionTimeInMillis. /// <para> /// The number of milliseconds that Athena took to run the query. /// </para> /// </summary> public long TotalExecutionTimeInMillis { get { return this._totalExecutionTimeInMillis.GetValueOrDefault(); } set { this._totalExecutionTimeInMillis = value; } } // Check to see if TotalExecutionTimeInMillis property is set internal bool IsSetTotalExecutionTimeInMillis() { return this._totalExecutionTimeInMillis.HasValue; } } }