Index: src/libchengine/TTaskManagerStatsSnapshot.cpp =================================================================== diff -u -N -r0d5b67ee96b435d63f7bf075dc8e28603793b187 -r178e776294cbc8e3a5a33b355a314e0db94b214b --- src/libchengine/TTaskManagerStatsSnapshot.cpp (.../TTaskManagerStatsSnapshot.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) +++ src/libchengine/TTaskManagerStatsSnapshot.cpp (.../TTaskManagerStatsSnapshot.cpp) (revision 178e776294cbc8e3a5a33b355a314e0db94b214b) @@ -109,28 +109,27 @@ for(TTaskStatsSnapshotPtr spTaskStats : m_vTasksSnapshots) { - m_ullProcessedCount += spTaskStats->GetProcessedCount(); - m_ullTotalCount += spTaskStats->GetTotalCount(); + if(spTaskStats->GetTaskState() == eTaskState_Waiting || + spTaskStats->GetTaskState() == eTaskState_Processing || + spTaskStats->GetTaskState() == eTaskState_Finished) + { + m_ullProcessedCount += spTaskStats->GetProcessedCount(); + m_ullTotalCount += spTaskStats->GetTotalCount(); - m_ullProcessedSize += spTaskStats->GetProcessedSize(); - m_ullTotalSize += spTaskStats->GetTotalSize(); + m_ullProcessedSize += spTaskStats->GetProcessedSize(); + m_ullTotalSize += spTaskStats->GetTotalSize(); - if(spTaskStats->IsTaskRunning()) - { - m_dCountSpeed += spTaskStats->GetCountSpeed(); - m_dSizeSpeed += spTaskStats->GetSizeSpeed(); - } + if(spTaskStats->IsTaskRunning()) + { + m_dCountSpeed += spTaskStats->GetCountSpeed(); + m_dSizeSpeed += spTaskStats->GetSizeSpeed(); + } - m_dAvgCountSpeed += spTaskStats->GetAvgCountSpeed(); - m_dAvgSizeSpeed += spTaskStats->GetAvgSizeSpeed(); + m_dAvgCountSpeed += spTaskStats->GetAvgCountSpeed(); + m_dAvgSizeSpeed += spTaskStats->GetAvgSizeSpeed(); + } } - if(!m_vTasksSnapshots.empty()) - { - m_dAvgCountSpeed /= m_vTasksSnapshots.size(); - m_dAvgSizeSpeed /= m_vTasksSnapshots.size(); - } - // we're treating each of the items as 4k object to process // to have some balance between items' count and items' size in // progress information