Documentation ¶
Overview ¶
Package ratecounter provides a thread-safe rate-counter, for tracking counts in an interval
Useful for implementing counters and stats of 'requests-per-second' (for example).
// We're recording marks-per-1second counter := ratecounter.NewRateCounter(1 * time.Second) // Record an event happening counter.Mark() // get the current requests-per-second counter.Rate()
To record an average over a longer period, you can:
// Record requests-per-minute counter := ratecounter.NewRateCounter(60 * time.Second) // Calculate the average requests-per-second for the last minute counter.Rate() / 60
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RateCounter ¶
type RateCounter struct {
// contains filtered or unexported fields
}
A RateCounter is a thread-safe counter which returns the number of times 'Incr' has been called in the last interval
func NewRateCounter ¶
func NewRateCounter(intrvl time.Duration) *RateCounter
Constructs a new RateCounter, for the interval provided
func (*RateCounter) Rate ¶
func (r *RateCounter) Rate() int64
Return the current number of events in the last interval
Click to show internal directories.
Click to hide internal directories.