TimeoutDetector detects routine starvations by observing the actual time duration to finish an action or between two events that should happen in a fixed interval. If the observed duration is longer than the expectation, the detector will report the result.
type TimeoutDetector struct {
// contains filtered or unexported fields
}
func NewTimeoutDetector(maxDuration time.Duration) *TimeoutDetector
NewTimeoutDetector creates the TimeoutDetector.
func (td *TimeoutDetector) Observe(which uint64) (bool, time.Duration)
Observe observes an event for given id. It returns false and exceeded duration if the interval is longer than the expectation.
func (td *TimeoutDetector) Reset()
Reset resets the NewTimeoutDetector.