package contention

import "github.com/coreos/etcd/pkg/contention"

Package contention provides facilities for detecting system contention.

Index

Types

type TimeoutDetector

type TimeoutDetector struct {
	// contains filtered or unexported fields
}

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.

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.

Source Files

contention.go doc.go

Version
v3.3.3+incompatible
Published
Mar 28, 2018
Platform
js/wasm
Imports
2 packages
Last checked
56 minutes ago

Tools for package owners.