private void checkForStall ( long currentTime ) { long delta = currentTime - _lastMonitoringStep ; if ( delta < _shortestObservedDelta ) { _shortestObservedDelta = delta ; } long stall = Math . max ( 0 , delta - _shortestObservedDelta ) ; if ( stall > _minStallNano ) { _stalls . put ( _lastMonitoringStep , stall ) ; if ( _stalls . size ( ) > _stallsHistorySize ) { _stalls . pollFirstEntry ( ) ; } } }
Check how much we missed scheduled wake up and if it is larger than _minStallNano then consider it a stall and remember it .