[cherry-pick]Add query type when report (#35918)

pick #34978
This commit is contained in:
wangbo
2024-06-11 10:51:59 +08:00
committed by GitHub
parent 8e06f4ad34
commit 75a6f28f2e
6 changed files with 41 additions and 15 deletions

View File

@ -53,7 +53,7 @@ QueryContext::QueryContext(TUniqueId query_id, int total_fragment_num, ExecEnv*
_query_options(query_options) {
_init_query_mem_tracker();
SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(query_mem_tracker);
this->coord_addr = coord_addr;
_start_time = VecDateTimeValue::local_time();
_shared_hash_table_controller.reset(new vectorized::SharedHashTableController());
_shared_scanner_controller.reset(new vectorized::SharedScannerController());
@ -64,6 +64,18 @@ QueryContext::QueryContext(TUniqueId query_id, int total_fragment_num, ExecEnv*
timeout_second = query_options.execution_timeout;
bool is_query_type_valid = query_options.query_type == TQueryType::SELECT ||
query_options.query_type == TQueryType::LOAD ||
query_options.query_type == TQueryType::EXTERNAL;
DCHECK_EQ(is_query_type_valid, true);
this->coord_addr = coord_addr;
// external query has no coord_addr
if (query_options.query_type != TQueryType::EXTERNAL) {
bool is_coord_addr_valid = !this->coord_addr.hostname.empty() && this->coord_addr.port != 0;
DCHECK_EQ(is_coord_addr_valid, true);
}
register_memory_statistics();
register_cpu_statistics();
}
@ -252,8 +264,8 @@ void QueryContext::set_pipeline_context(
}
void QueryContext::register_query_statistics(std::shared_ptr<QueryStatistics> qs) {
_exec_env->runtime_query_statistics_mgr()->register_query_statistics(print_id(_query_id), qs,
coord_addr);
_exec_env->runtime_query_statistics_mgr()->register_query_statistics(
print_id(_query_id), qs, coord_addr, _query_options.query_type);
}
std::shared_ptr<QueryStatistics> QueryContext::get_query_statistics() {
@ -266,8 +278,8 @@ void QueryContext::register_memory_statistics() {
std::shared_ptr<QueryStatistics> qs = query_mem_tracker->get_query_statistics();
std::string query_id = print_id(_query_id);
if (qs) {
_exec_env->runtime_query_statistics_mgr()->register_query_statistics(query_id, qs,
coord_addr);
_exec_env->runtime_query_statistics_mgr()->register_query_statistics(
query_id, qs, coord_addr, _query_options.query_type);
} else {
LOG(INFO) << " query " << query_id << " get memory query statistics failed ";
}
@ -278,7 +290,7 @@ void QueryContext::register_cpu_statistics() {
if (!_cpu_statistics) {
_cpu_statistics = std::make_shared<QueryStatistics>();
_exec_env->runtime_query_statistics_mgr()->register_query_statistics(
print_id(_query_id), _cpu_statistics, coord_addr);
print_id(_query_id), _cpu_statistics, coord_addr, _query_options.query_type);
}
}