std::string PerformanceTimer::inc()

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;
}