Documentation
¶
Index ¶
- Variables
- func SetClock(c clock.Clock)
- type Meter
- type MeterInterface
- type MeterRegistry
- func (r *MeterRegistry) Clear()
- func (r *MeterRegistry) FindIdle(since time.Time) []string
- func (r *MeterRegistry) ForEach(iterFunc interface{})
- func (r *MeterRegistry) Get(name string) MeterInterface
- func (r *MeterRegistry) Remove(name string)
- func (r *MeterRegistry) TrimIdle(since time.Time) (trimmed int)
- type Snapshot
- type SweeperInterface
Constants ¶
This section is empty.
Variables ¶
var IdleRate = 1e-13
IdleRate the rate at which we declare a meter idle (and stop tracking it until it's re-registered).
The default ensures that 1 event every ~30s will keep the meter from going idle.
Functions ¶
Types ¶
type Meter ¶
type Meter struct {
// contains filtered or unexported fields
}
Meter is a meter for monitoring a flow.
type MeterInterface ¶
type MeterInterface interface {
String() string
Mark(count uint64)
Snapshot() Snapshot
Reset()
Update(tdiff time.Duration)
IsIdle() bool
SetIdle()
SetActive()
}
func NewMeter ¶
func NewMeter() MeterInterface
NewMeter returns a new Meter with the correct idle time.
While zero-value Meters can be used, their "last update" time will start at the program start instead of when the meter was created.
type MeterRegistry ¶
type MeterRegistry struct {
// contains filtered or unexported fields
}
MeterRegistry is a registry for named meters.
func (*MeterRegistry) Clear ¶
func (r *MeterRegistry) Clear()
Clear removes all meters from the registry.
func (*MeterRegistry) FindIdle ¶
func (r *MeterRegistry) FindIdle(since time.Time) []string
FindIdle finds all meters that haven't been used since the given time.
func (*MeterRegistry) ForEach ¶
func (r *MeterRegistry) ForEach(iterFunc interface{})
ForEach calls the passed function for each registered meter.
Note: switch was added for compatibility reasons
func (*MeterRegistry) Get ¶
func (r *MeterRegistry) Get(name string) MeterInterface
Get gets (or creates) a meter by name.
func (*MeterRegistry) Remove ¶
func (r *MeterRegistry) Remove(name string)
Remove removes the named meter from the registry.
Note: The only reason to do this is to save a bit of memory. Unused meters don't consume any CPU (after they go idle).
type SweeperInterface ¶
type SweeperInterface interface {
Register(m MeterInterface)
}