system.cpu.usage parameter of HPUX subagent problem
-
Hi:
I found the data collected by system.cpu.usage parameter of HPUX subagents inconsistent with the other performance tools like glance,top,vmstat and so on.
I tried to trace the CpuUsageCollector function in src/agent/subagent/HPUX/system.cpp and found the reason:
The HPUX subagent counts the cpu wait statment as cpu usage:
m_cpuUsage[m_currentSlot++] = 100 - ((float)((psd.psd_cpu_time[CP_IDLE] - m_idle) * 100) / delta);
but other performace tools counts the cpu wait statment as cpu idle.
I modified the souce code like this:
m_cpuUsage[m_currentSlot++] = ((float)(((psd.psd_cpu_time[CP_USER] - m_user) + (psd.psd_cpu_time[CP_SYS] - m_sys) ) * 100) / delta) (mybe adds the CPU nice statment is better);
As a result this metric was consistent with other performance tools.
I wonder which way calculates the CPU usage is more helpful.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login