Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CalculateFunc ¶
type CalculateFunc func(prev *MetricValue, val interface{}, timestamp time.Time) (interface{}, bool)
CalculateFunc defines how to process metric values by the calculator. It passes previously received MetricValue, and the current raw value and timestamp as parameters. Returns true if the calculation is executed successfully.
type MapWithExpiry ¶
type MapWithExpiry struct {
// contains filtered or unexported fields
}
MapWithExpiry act like a map which provide a method to clean up expired entries
func NewMapWithExpiry ¶
func NewMapWithExpiry(ttl time.Duration) *MapWithExpiry
func (*MapWithExpiry) CleanUp ¶
func (m *MapWithExpiry) CleanUp(now time.Time)
func (*MapWithExpiry) Get ¶
func (m *MapWithExpiry) Get(key Key) (*MetricValue, bool)
func (*MapWithExpiry) Lock ¶
func (m *MapWithExpiry) Lock()
func (*MapWithExpiry) Set ¶
func (m *MapWithExpiry) Set(key Key, value MetricValue)
func (*MapWithExpiry) Size ¶
func (m *MapWithExpiry) Size() int
func (*MapWithExpiry) Unlock ¶
func (m *MapWithExpiry) Unlock()
type MetricCalculator ¶
type MetricCalculator struct {
// contains filtered or unexported fields
}
MetricCalculator is a calculator used to adjust metric values based on its previous record.
func NewFloat64DeltaCalculator ¶
func NewFloat64DeltaCalculator() MetricCalculator
func NewMetricCalculator ¶
func NewMetricCalculator(calculateFunc CalculateFunc) MetricCalculator
func (*MetricCalculator) Calculate ¶
func (rm *MetricCalculator) Calculate(metricName string, labels map[string]string, value interface{}, timestamp time.Time) (interface{}, bool)
Calculate accepts a new metric value identified by matricName and labels, and delegates the calculation with value and timestamp back to CalculateFunc for the result. Returns true if the calculation is executed successfully.
type MetricValue ¶
Click to show internal directories.
Click to hide internal directories.