Documentation ¶
Index ¶
- Variables
- func SetClock(c clock.Clock)
- type Meter
- type MeterRegistry
- func (r *MeterRegistry) Clear()
- func (r *MeterRegistry) FindIdle(since time.Time) []string
- func (r *MeterRegistry) ForEach(iterFunc func(string, *Meter))
- func (r *MeterRegistry) Get(name string) *Meter
- func (r *MeterRegistry) Remove(name string)
- func (r *MeterRegistry) TrimIdle(since time.Time) (trimmed int)
- type Snapshot
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.
func NewMeter ¶
func NewMeter() *Meter
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 func(string, *Meter))
ForEach calls the passed function for each registered meter.
func (*MeterRegistry) Get ¶
func (r *MeterRegistry) Get(name string) *Meter
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).