sql_monitor change time expression from cpu_cycle to time_us

This commit is contained in:
obdev
2023-04-04 03:11:24 +00:00
committed by ob-robot
parent ba4460ca3f
commit 4708d356a7
5 changed files with 97 additions and 7 deletions

View File

@ -154,6 +154,7 @@ ObServer::ObServer()
bandwidth_throttle_(),
sys_bkgd_net_percentage_(0),
ethernet_speed_(0),
cpu_frequency_(DEFAULT_CPU_FREQUENCY),
session_mgr_(),
root_service_monitor_(root_service_, rs_mgr_),
ob_service_(gctx_),
@ -171,6 +172,7 @@ ObServer::ObServer()
ctas_clean_up_task_(),
refresh_active_time_task_(),
refresh_network_speed_task_(),
refresh_cpu_frequency_task_(),
schema_status_proxy_(sql_proxy_),
is_log_dir_empty_(false),
conn_res_mgr_(),
@ -373,6 +375,8 @@ int ObServer::init(const ObServerOptions &opts, const ObPLogWriterCfg &log_cfg)
LOG_ERROR("init refresh active time task failed", KR(ret));
} else if (OB_FAIL(init_refresh_network_speed_task())) {
LOG_ERROR("init refresh network speed task failed", KR(ret));
} else if (OB_FAIL(init_refresh_cpu_frequency())) {
LOG_ERROR("init refresh cpu frequency failed", KR(ret));
} else if (OB_FAIL(init_collect_info_gc_task())) {
LOG_ERROR("init collect info gc task failed", KR(ret));
} else if (OB_FAIL(ObOptStatManager::get_instance().init(
@ -2787,6 +2791,63 @@ void ObServer::ObRefreshNetworkSpeedTask::runTimerTask()
}
}
ObServer::ObRefreshCpuFreqTimeTask::ObRefreshCpuFreqTimeTask()
: obs_(nullptr), is_inited_(false)
{}
int ObServer::ObRefreshCpuFreqTimeTask::init(ObServer *obs, int tg_id)
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(is_inited_)) {
ret = OB_INIT_TWICE;
LOG_ERROR("ObRefreshCpuFreqTimeTask has already been inited", KR(ret));
} else if (OB_ISNULL(obs)) {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("ObRefreshCpuFreqTimeTask init with null ptr", KR(ret), K(obs));
} else {
obs_ = obs;
is_inited_ = true;
if (OB_FAIL(TG_SCHEDULE(tg_id, *this, REFRESH_INTERVAL, true /*schedule repeatly*/))) {
LOG_ERROR("fail to schedule task ObRefreshCpuFreqTimeTask", KR(ret));
}
}
return ret;
}
void ObServer::ObRefreshCpuFreqTimeTask::destroy()
{
is_inited_ = false;
obs_ = nullptr;
}
void ObServer::ObRefreshCpuFreqTimeTask::runTimerTask()
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(!is_inited_)) {
ret = OB_NOT_INIT;
LOG_ERROR("ObRefreshCpuFreqTimeTask has not been inited", KR(ret));
} else if (OB_ISNULL(obs_)) {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("ObRefreshCpuFreqTimeTask task got null ptr", KR(ret));
} else if (OB_FAIL(obs_->refresh_cpu_frequency())) {
LOG_ERROR("ObRefreshCpuFreqTimeTask task failed", KR(ret));
}
}
int ObServer::refresh_cpu_frequency()
{
int ret = OB_SUCCESS;
uint64_t cpu_frequency = get_cpufreq_khz();
cpu_frequency = cpu_frequency < 1 ? 1 : cpu_frequency;
if (cpu_frequency != cpu_frequency_) {
LOG_INFO("Cpu frequency changed", "from", cpu_frequency_, "to", cpu_frequency);
cpu_frequency_ = cpu_frequency;
}
return ret;
}
void ObServer::ObCollectInfoGCTask::runTimerTask()
{
int ret = OB_SUCCESS;
@ -2867,6 +2928,15 @@ int ObServer::init_refresh_network_speed_task()
return ret;
}
int ObServer::init_refresh_cpu_frequency()
{
int ret = OB_SUCCESS;
if (OB_FAIL(refresh_cpu_frequency_task_.init(this, lib::TGDefIDs::ServerGTimer))) {
LOG_ERROR("fail to init refresh cpu frequency task", KR(ret));
}
return ret;
}
int ObServer::init_collect_info_gc_task()
{
int ret = OB_SUCCESS;