History

add additional tracking of max elapsed

Brad Hefta-Gaub committed 10 years ago

Commit deed6431 parent 6eed8fb1 file · +31 −6Browse files

Showing the changes to interface/src/Application.cpp (1 of 1 file). Show all

Unified · Split

interface/src/Application.cpp+31−6
@@ -280,19 +280,42 @@ public: · 279 unmodified lines
280280 auto sinceLastReport = now - _lastReport;
281281 int elapsedMovingAverage = _movingAverage.average;
282282
283− if (elapsedMovingAverage > _maxElapsed) {
284− _maxElapsed = elapsedMovingAverage;
283+ if (elapsedMovingAverage > _maxElapsedAverage) {
284+ qDebug() << "DEADLOCK WATCHDOG NEW maxElapsedAverage:"
285+ << "lastHeartbeatAge:" << lastHeartbeatAge
286+ << "elapsedMovingAverage:" << elapsedMovingAverage
287+ << "maxElapsed:" << _maxElapsed
288+ << "PREVIOUS maxElapsedAverage:" << _maxElapsedAverage
289+ << "NEW maxElapsedAverage:" << elapsedMovingAverage
290+ << "numSamples:" << _movingAverage.numSamples;
291+ _maxElapsedAverage = elapsedMovingAverage;
292+ }
293+ if (lastHeartbeatAge > _maxElapsed) {
294+ qDebug() << "DEADLOCK WATCHDOG NEW maxElapsed:"
295+ << "lastHeartbeatAge:" << lastHeartbeatAge
296+ << "elapsedMovingAverage:" << elapsedMovingAverage
297+ << "PREVIOUS maxElapsed:" << _maxElapsed
298+ << "NEW maxElapsed:" << lastHeartbeatAge
299+ << "maxElapsedAverage:" << _maxElapsedAverage
300+ << "numSamples:" << _movingAverage.numSamples;
301+ _maxElapsed = lastHeartbeatAge;
285302 }
286303 if ((sinceLastReport > HEARTBEAT_REPORT_INTERVAL_USECS) || (elapsedMovingAverage > WARNING_ELAPSED_HEARTBEAT)) {
287− qDebug() << "updateHeartbeat.elapsedMovingAverage:" << elapsedMovingAverage
288− << " maxElapsed:" << _maxElapsed << "numSamples:" << _movingAverage.numSamples;
304+ qDebug() << "DEADLOCK WATCHDOG STATUS -- lastHeartbeatAge:" << lastHeartbeatAge
305+ << "elapsedMovingAverage:" << elapsedMovingAverage
306+ << "maxElapsed:" << _maxElapsed
307+ << "maxElapsedAverage:" << _maxElapsedAverage
308+ << "numSamples:" << _movingAverage.numSamples;
289309 _lastReport = now;
290310 }
291311
292312 #ifdef NDEBUG
293313 if (lastHeartbeatAge > MAX_HEARTBEAT_AGE_USECS) {
294− qDebug() << "DEADLOCK DETECTED -- updateHeartbeat.elapsedMovingAverage:" << elapsedMovingAverage
295− << " maxElapsed:" << _maxElapsed << "numSamples:" << _movingAverage.numSamples;
314+ qDebug() << "DEADLOCK DETECTED -- lastHeartbeatAge:" << lastHeartbeatAge
315+ << "elapsedMovingAverage:" << elapsedMovingAverage
316+ << "maxElapsed:" << _maxElapsed
317+ << "maxElapsedAverage:" << _maxElapsedAverage
318+ << "numSamples:" << _movingAverage.numSamples;
296319 deadlockDetectionCrash();
297320 }
298321 #endif
@@ -302,6 +325,7 @@ public: · 3 unmodified lines
302325 static std::atomic<uint64_t> _heartbeat;
303326 static std::atomic<uint64_t> _lastReport;
304327 static std::atomic<int> _maxElapsed;
328+ static std::atomic<int> _maxElapsedAverage;
305329 bool _quit { false };
306330 MovingAverage<int, HEARTBEAT_SAMPLES> _movingAverage;
307331 };
@@ -309,6 +333,7 @@ public: · 1 unmodified line
309333 std::atomic<uint64_t> DeadlockWatchdogThread::_heartbeat;
310334 std::atomic<uint64_t> DeadlockWatchdogThread::_lastReport;
311335 std::atomic<int> DeadlockWatchdogThread::_maxElapsed;
336+std::atomic<int> DeadlockWatchdogThread::_maxElapsedAverage;
312337
313338 #ifdef Q_OS_WIN
314339 class MyNativeEventFilter : public QAbstractNativeEventFilter {