OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ExecutorResourceMgr_Namespace::RequestStats Struct Reference

Stores info pertaining to a single request made to ExecutorResourceMgr, including its request_id, min and max possible resource grants, actual resource_grant, and various timing stats. More...

#include <ExecutorResourceMgr.h>

+ Collaboration diagram for ExecutorResourceMgr_Namespace::RequestStats:

Public Member Functions

 RequestStats (const RequestId request_id, const RequestInfo &request_info, const ResourceGrant &min_resource_grant, const ResourceGrant &max_resource_grant, const std::chrono::steady_clock::time_point &enqueue_time, const size_t queue_length_at_entry, const size_t device_type_queue_length_at_entry, const size_t timeout_in_ms)
 

Public Attributes

const RequestId request_id
 
const RequestInfo request_info
 
const ResourceGrant min_resource_grant
 
const ResourceGrant max_resource_grant
 
ResourceGrant actual_resource_grant
 
std::chrono::steady_clock::time_point enqueue_time
 
std::chrono::steady_clock::time_point deque_time
 
std::chrono::steady_clock::time_point execution_finished_time
 
size_t queue_length_at_entry
 
size_t device_type_queue_length_at_entry
 
bool finished_queueing {false}
 
bool finished_executing {false}
 
size_t queue_time_ms {0}
 
size_t execution_time_ms {0}
 
size_t total_time_ms {0}
 
size_t timeout_in_ms {0}
 
bool timed_out {false}
 
std::optional< std::string > error
 

Detailed Description

Stores info pertaining to a single request made to ExecutorResourceMgr, including its request_id, min and max possible resource grants, actual resource_grant, and various timing stats.

In future work it is planned to use these stats to allow the ExecutorResourceMgr to learn from query patterns and timings over time to enable more efficient query scheduling.

Definition at line 83 of file ExecutorResourceMgr.h.

Constructor & Destructor Documentation

ExecutorResourceMgr_Namespace::RequestStats::RequestStats ( const RequestId  request_id,
const RequestInfo request_info,
const ResourceGrant min_resource_grant,
const ResourceGrant max_resource_grant,
const std::chrono::steady_clock::time_point &  enqueue_time,
const size_t  queue_length_at_entry,
const size_t  device_type_queue_length_at_entry,
const size_t  timeout_in_ms 
)
inline

Member Data Documentation

ResourceGrant ExecutorResourceMgr_Namespace::RequestStats::actual_resource_grant
std::chrono::steady_clock::time_point ExecutorResourceMgr_Namespace::RequestStats::deque_time
size_t ExecutorResourceMgr_Namespace::RequestStats::device_type_queue_length_at_entry

Definition at line 93 of file ExecutorResourceMgr.h.

std::chrono::steady_clock::time_point ExecutorResourceMgr_Namespace::RequestStats::enqueue_time
std::optional<std::string> ExecutorResourceMgr_Namespace::RequestStats::error
std::chrono::steady_clock::time_point ExecutorResourceMgr_Namespace::RequestStats::execution_finished_time
size_t ExecutorResourceMgr_Namespace::RequestStats::execution_time_ms {0}
bool ExecutorResourceMgr_Namespace::RequestStats::finished_executing {false}
bool ExecutorResourceMgr_Namespace::RequestStats::finished_queueing {false}
const ResourceGrant ExecutorResourceMgr_Namespace::RequestStats::max_resource_grant

Definition at line 87 of file ExecutorResourceMgr.h.

const ResourceGrant ExecutorResourceMgr_Namespace::RequestStats::min_resource_grant

Definition at line 86 of file ExecutorResourceMgr.h.

size_t ExecutorResourceMgr_Namespace::RequestStats::queue_length_at_entry

Definition at line 92 of file ExecutorResourceMgr.h.

size_t ExecutorResourceMgr_Namespace::RequestStats::queue_time_ms {0}
const RequestId ExecutorResourceMgr_Namespace::RequestStats::request_id

Definition at line 84 of file ExecutorResourceMgr.h.

bool ExecutorResourceMgr_Namespace::RequestStats::timed_out {false}
size_t ExecutorResourceMgr_Namespace::RequestStats::timeout_in_ms {0}
size_t ExecutorResourceMgr_Namespace::RequestStats::total_time_ms {0}

The documentation for this struct was generated from the following file: