in common/performancetimer.cpp [54:102]
std::string PerformanceTimer::inc(uint64_t count)
{
SWSS_LOG_ENTER();
std::string output = "";
m_calls += 1;
m_tasks += count;
m_idle += m_gaps.back();
uint64_t interval = std::chrono::duration_cast<std::chrono::nanoseconds>(m_stop - m_start).count();
m_busy += interval;
if (count == 0) {
m_gaps.pop_back();
m_calls -= 1;
return output;
}
if (m_incs.size() <= LIMIT) {
m_incs.push_back(count);
m_intervals.push_back(interval/1000000);
} else {
m_gaps.pop_back();
}
if (m_tasks >= m_threshold)
{
uint64_t mseconds = m_busy/1000000;
if (m_enable && mseconds > 0)
{
output = getTimerState();
std::ifstream indicator(INDICATOR);
if (indicator.good()) {
SWSS_LOG_NOTICE("%s", output.c_str());
} else {
SWSS_LOG_INFO("%s", output.c_str());
}
}
reset();
}
return output;
}