contention - ActiveState ActiveGo 1.8

Package contention

import ""

Overview ▾

Package contention provides facilities for detecting system contention.

type TimeoutDetector

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

func NewTimeoutDetector(maxDuration time.Duration) *TimeoutDetector

NewTimeoutDetector creates the TimeoutDetector.

func (*TimeoutDetector) Observe

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 (*TimeoutDetector) Reset

func (td *TimeoutDetector) Reset()

Reset resets the NewTimeoutDetector.