diff options
author | Hanoh Haim <hhaim@cisco.com> | 2016-05-10 21:00:45 +0300 |
---|---|---|
committer | Hanoh Haim <hhaim@cisco.com> | 2016-05-10 21:00:45 +0300 |
commit | 3a0c1c8333382ff8402b05ce47d17f100187df6f (patch) | |
tree | 1662f9a268241d1dd6faf3c7b3a8a008455e96b2 /src/utl_cpuu.cpp | |
parent | 2d37b9f98020a4458aaad1f3fd05ca5e408213e0 (diff) |
cpu% without tsc
Diffstat (limited to 'src/utl_cpuu.cpp')
-rwxr-xr-x | src/utl_cpuu.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/utl_cpuu.cpp b/src/utl_cpuu.cpp index 0701b845..4d75cf6f 100755 --- a/src/utl_cpuu.cpp +++ b/src/utl_cpuu.cpp @@ -26,8 +26,8 @@ limitations under the License. void CCpuUtlCp::Create(CCpuUtlDp * cdp){ m_dpcpu=cdp; m_cpu_util=0.0; - m_last_total_cycles=m_dpcpu->get_total_cycles(); - m_last_work_cycles =m_dpcpu->get_work_cycles(); + m_ticks=0; + m_work=0; } void CCpuUtlCp::Delete(){ @@ -36,18 +36,18 @@ void CCpuUtlCp::Delete(){ void CCpuUtlCp::Update(){ - uint64_t t=m_dpcpu->get_total_cycles(); - uint64_t w=m_dpcpu->get_work_cycles(); - uint32_t acc_total_cycles = (uint32_t)(t - m_last_total_cycles); - uint32_t acc_work_cycles = (uint32_t)(w - m_last_work_cycles); - - m_last_total_cycles = t ; - m_last_work_cycles = w; - - double window_cpu_u = ((double)acc_work_cycles/(double)acc_total_cycles); - - /* LPF*/ - m_cpu_util = (m_cpu_util*0.75)+(window_cpu_u*0.25); + m_ticks++ ; + if ( m_dpcpu->sample_data() ) { + m_work++; + } + if (m_ticks==100) { + double window_cpu_u = ((double)m_work/(double)m_ticks); + /* LPF*/ + m_cpu_util = (m_cpu_util*0.75)+(window_cpu_u*0.25); + m_ticks=0; + m_work=0; + + } } /* return cpu % */ |