[CP] [BUG FIX] Fix the problem that the wait event statistic item in sql audit is always 0
This commit is contained in:
21
deps/oblib/src/lib/stat/ob_diagnose_info.cpp
vendored
21
deps/oblib/src/lib/stat/ob_diagnose_info.cpp
vendored
@ -549,6 +549,27 @@ int ObDiagnoseSessionInfo::notify_wait_end(ObDiagnoseTenantInfo *tenant_info, co
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch (OB_WAIT_EVENTS[event_desc->event_no_].wait_class_) {
|
||||
case ObWaitClassIds::CONCURRENCY:{
|
||||
EVENT_ADD(ObStatEventIds::CCWAIT_TIME, event_desc->wait_time_);
|
||||
break;
|
||||
}
|
||||
case ObWaitClassIds::USER_IO:{
|
||||
EVENT_ADD(ObStatEventIds::USER_IO_WAIT_TIME, event_desc->wait_time_);
|
||||
break;
|
||||
}
|
||||
case ObWaitClassIds::APPLICATION:{
|
||||
EVENT_ADD(ObStatEventIds::APWAIT_TIME, event_desc->wait_time_);
|
||||
break;
|
||||
}
|
||||
case ObWaitClassIds::SCHEDULER:{
|
||||
EVENT_ADD(ObStatEventIds::SCHEDULE_WAIT_TIME, event_desc->wait_time_);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (!is_atomic) {
|
||||
//LOG_ERROR("XXXX: end wait", "id", ObActiveSessionGuard::get_stat().id_,
|
||||
// K(event_desc->wait_time_), K(event_desc->event_no_));
|
||||
|
||||
@ -901,7 +901,7 @@ int ObGvSqlAudit::fill_cells(obmysql::ObMySQLRequestRecord &record)
|
||||
cells[cell_idx].set_uint64(record.data_.exec_record_.user_io_time_);
|
||||
} break;
|
||||
case SCHEDULE_TIME: {
|
||||
cells[cell_idx].set_uint64(0);
|
||||
cells[cell_idx].set_uint64(record.data_.exec_record_.schedule_time_);
|
||||
} break;
|
||||
case ROW_CACHE_HIT: {
|
||||
cells[cell_idx].set_int(record.data_.exec_record_.row_cache_hit_);
|
||||
|
||||
@ -32,6 +32,7 @@ EVENT_INFO(BLOCKSCAN_BLOCK_CNT, blockscan_block_cnt)
|
||||
EVENT_INFO(BLOCKSCAN_ROW_CNT, blockscan_row_cnt)
|
||||
EVENT_INFO(PUSHDOWN_STORAGE_FILTER_ROW_CNT, pushdown_storage_filter_row_cnt)
|
||||
EVENT_INFO(FUSE_ROW_CACHE_HIT, fuse_row_cache_hit)
|
||||
EVENT_INFO(SCHEDULE_TIME, schedule_time)
|
||||
#endif
|
||||
|
||||
#ifndef OCEANBASE_SQL_OB_EXEC_STAT_H
|
||||
@ -100,6 +101,10 @@ struct ObExecRecord
|
||||
blockscan_row_cnt_##se##_ = EVENT_STAT_GET(arr, ObStatEventIds::BLOCKSCAN_ROW_CNT); \
|
||||
pushdown_storage_filter_row_cnt_##se##_ = EVENT_STAT_GET(arr, ObStatEventIds::PUSHDOWN_STORAGE_FILTER_ROW_CNT); \
|
||||
fuse_row_cache_hit_##se##_= EVENT_STAT_GET(arr, ObStatEventIds::FUSE_ROW_CACHE_HIT); \
|
||||
user_io_time_##se##_ = EVENT_STAT_GET(arr, ObStatEventIds::USER_IO_WAIT_TIME); \
|
||||
application_time_##se##_ = EVENT_STAT_GET(arr, ObStatEventIds::APWAIT_TIME); \
|
||||
concurrency_time_##se##_ = EVENT_STAT_GET(arr, ObStatEventIds::CCWAIT_TIME); \
|
||||
schedule_time_##se##_ = EVENT_STAT_GET(arr, ObStatEventIds::SCHEDULE_WAIT_TIME); \
|
||||
} \
|
||||
} while(0);
|
||||
|
||||
@ -129,6 +134,7 @@ struct ObExecRecord
|
||||
UPDATE_EVENT(user_io_time);
|
||||
UPDATE_EVENT(concurrency_time);
|
||||
UPDATE_EVENT(application_time);
|
||||
UPDATE_EVENT(schedule_time);
|
||||
UPDATE_EVENT(memstore_read_row_count);
|
||||
UPDATE_EVENT(ssstore_read_row_count);
|
||||
UPDATE_EVENT(data_block_read_cnt);
|
||||
|
||||
Reference in New Issue
Block a user