summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@qt.io>2020-02-20 17:16:51 +0100
committerRobert Griebl <robert.griebl@qt.io>2020-02-20 17:32:32 +0100
commit371335ad081b4ce7cdf00dc8079b19c8599c836e (patch)
treed493bb048358cfe709bbe29af45aa87c1d5c9822
parentd9d8524f6ef733a480c5234129f30f639055ae10 (diff)
Fix bogus CPU load display on app restart
Fixes: AUTOSUITE-1490 Change-Id: I5b45f58ace718dbcc88554248dea816c40ef363b Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
-rw-r--r--src/monitor-lib/processreader.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/monitor-lib/processreader.cpp b/src/monitor-lib/processreader.cpp
index 738967ad..31c096d2 100644
--- a/src/monitor-lib/processreader.cpp
+++ b/src/monitor-lib/processreader.cpp
@@ -93,6 +93,8 @@ void ProcessReader::openCpuLoad()
m_statReader.reset(new SysFsReader(fileName));
if (!m_statReader->isOpen())
qCWarning(LogSystem) << "Cannot read CPU load from" << fileName;
+ m_lastCpuUsage = 0;
+ m_elapsedTime.invalidate();
}
qreal ProcessReader::readCpuLoad()
@@ -124,7 +126,7 @@ qreal ProcessReader::readCpuLoad()
pos = int(endPtr - str.constData() + 1);
quint64 stime = strtoull(str.constData() + pos, nullptr, 10); // check missing for overflow
- qreal load = elapsed != 0 ? (utime + stime - m_lastCpuUsage) * 1000.0 / sysconf(_SC_CLK_TCK) / elapsed : 0.0;
+ qreal load = (elapsed != 0) ? ((utime + stime - m_lastCpuUsage) * 1000.0 / sysconf(_SC_CLK_TCK) / elapsed) : 0.0;
m_lastCpuUsage = utime + stime;
return load;
}