 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package metric aggregates events into metrics that can be exported.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Entries = keys.New("metric_entries", "The set of metrics calculated for an event")
    Functions ¶
This section is empty.
Types ¶
type Data ¶
type Data interface {
	// Handle returns the metric handle this data is for.
	//TODO: rethink the concept of metric handles
	Handle() string
	// Groups reports the rows that currently exist for this metric.
	Groups() [][]label.Label
}
    Data represents a single point in the time series of a metric. This provides the common interface to all metrics no matter their data format. To get the actual values for the metric you must type assert to a concrete metric type.
type Float64Data ¶
type Float64Data struct {
	// Info holds the original construction information.
	Info *Scalar
	// IsGauge is true for metrics that track values, rather than increasing over time.
	IsGauge bool
	// Rows holds the per group values for the metric.
	Rows []float64
	// End is the last time this metric was updated.
	EndTime time.Time
	// contains filtered or unexported fields
}
    Float64Data is a concrete implementation of Data for float64 scalar metrics.
func (*Float64Data) Groups ¶
func (data *Float64Data) Groups() [][]label.Label
func (*Float64Data) Handle ¶
func (data *Float64Data) Handle() string
type HistogramFloat64 ¶
type HistogramFloat64 struct {
	// Name is the unique name of this metric.
	Name string
	// Description can be used by observers to describe the metric to users.
	Description string
	// Keys is the set of labels that collectively describe rows of the metric.
	Keys []label.Key
	// Buckets holds the inclusive upper bound of each bucket in the histogram.
	Buckets []float64
}
    HistogramFloat64 represents the construction information for an float64 histogram metric.
type HistogramFloat64Data ¶
type HistogramFloat64Data struct {
	// Info holds the original construction information.
	Info *HistogramFloat64
	// Rows holds the per group values for the metric.
	Rows []*HistogramFloat64Row
	// End is the last time this metric was updated.
	EndTime time.Time
	// contains filtered or unexported fields
}
    HistogramFloat64Data is a concrete implementation of Data for float64 histogram metrics.
func (*HistogramFloat64Data) Groups ¶
func (data *HistogramFloat64Data) Groups() [][]label.Label
func (*HistogramFloat64Data) Handle ¶
func (data *HistogramFloat64Data) Handle() string
type HistogramFloat64Row ¶
type HistogramFloat64Row struct {
	// Values is the counts per bucket.
	Values []int64
	// Count is the total count.
	Count int64
	// Sum is the sum of all the values recorded.
	Sum float64
	// Min is the smallest recorded value.
	Min float64
	// Max is the largest recorded value.
	Max float64
}
    HistogramFloat64Row holds the values for a single row of a HistogramFloat64Data.
type HistogramInt64 ¶
type HistogramInt64 struct {
	// Name is the unique name of this metric.
	Name string
	// Description can be used by observers to describe the metric to users.
	Description string
	// Keys is the set of labels that collectively describe rows of the metric.
	Keys []label.Key
	// Buckets holds the inclusive upper bound of each bucket in the histogram.
	Buckets []int64
}
    HistogramInt64 represents the construction information for an int64 histogram metric.
type HistogramInt64Data ¶
type HistogramInt64Data struct {
	// Info holds the original construction information.
	Info *HistogramInt64
	// Rows holds the per group values for the metric.
	Rows []*HistogramInt64Row
	// End is the last time this metric was updated.
	EndTime time.Time
	// contains filtered or unexported fields
}
    HistogramInt64Data is a concrete implementation of Data for int64 histogram metrics.
func (*HistogramInt64Data) Groups ¶
func (data *HistogramInt64Data) Groups() [][]label.Label
func (*HistogramInt64Data) Handle ¶
func (data *HistogramInt64Data) Handle() string
type HistogramInt64Row ¶
type HistogramInt64Row struct {
	// Values is the counts per bucket.
	Values []int64
	// Count is the total count.
	Count int64
	// Sum is the sum of all the values recorded.
	Sum int64
	// Min is the smallest recorded value.
	Min int64
	// Max is the largest recorded value.
	Max int64
}
    HistogramInt64Row holds the values for a single row of a HistogramInt64Data.
type Int64Data ¶
type Int64Data struct {
	// Info holds the original construction information.
	Info *Scalar
	// IsGauge is true for metrics that track values, rather than increasing over time.
	IsGauge bool
	// Rows holds the per group values for the metric.
	Rows []int64
	// End is the last time this metric was updated.
	EndTime time.Time
	// contains filtered or unexported fields
}
    Int64Data is a concrete implementation of Data for int64 scalar metrics.
type Scalar ¶
type Scalar struct {
	// Name is the unique name of this metric.
	Name string
	// Description can be used by observers to describe the metric to users.
	Description string
	// Keys is the set of labels that collectively describe rows of the metric.
	Keys []label.Key
}
    Scalar represents the construction information for a scalar metric.
func (Scalar) Count ¶
Count creates a new metric based on the Scalar information that counts the number of times the supplied int64 measure is set. Metrics of this type will use Int64Data.
func (Scalar) LatestFloat64 ¶
LatestFloat64 creates a new metric based on the Scalar information that tracks the most recent value recorded on the float64 measure. Metrics of this type will use Float64Data.
func (Scalar) LatestInt64 ¶
LatestInt64 creates a new metric based on the Scalar information that tracks the most recent value recorded on the int64 measure. Metrics of this type will use Int64Data.
func (Scalar) SumFloat64 ¶
SumFloat64 creates a new metric based on the Scalar information that sums all the values recorded on the float64 measure. Metrics of this type will use Float64Data.