Documentation ¶
Index ¶
- Constants
- func Serve(conf *PrometheusConfig)
- type Catalog
- type DataDogMeter
- func (m *DataDogMeter) Add(key string, val float64)
- func (m *DataDogMeter) AddWL(key string, val float64, labels map[string]string)
- func (m *DataDogMeter) Dec(key string)
- func (m *DataDogMeter) DecWL(key string, labels map[string]string)
- func (m *DataDogMeter) Inc(key string)
- func (m *DataDogMeter) IncWL(key string, labels map[string]string)
- func (m *DataDogMeter) Rec(key string, val float64)
- func (m *DataDogMeter) RecWL(key string, val float64, labels map[string]string)
- func (m *DataDogMeter) Str(key string, val string)
- type DataDogMeterConfig
- type Def
- type Defs
- type Meter
- type MeterBuilderFn
- func NewDataDogMeterBuilder(l logs.Logger, conf *DataDogMeterConfig) (MeterBuilderFn, error)
- func NewMockMeterBuilder() (MeterBuilderFn, error)
- func NewMultiMeterBuilder(log logs.Logger, builders ...MeterBuilderFn) (MeterBuilderFn, error)
- func NewNopMeterBuilder() (MeterBuilderFn, error)
- func NewPrometheusMeterBuilder(log logs.Logger, conf *PrometheusConfig) (MeterBuilderFn, error)
- type MockMeter
- func (m *MockMeter) Add(key string, val float64)
- func (m *MockMeter) AddWL(key string, val float64, labels map[string]string)
- func (m *MockMeter) Dec(key string)
- func (m *MockMeter) DecWL(key string, labels map[string]string)
- func (m *MockMeter) Inc(key string)
- func (m *MockMeter) IncWL(key string, labels map[string]string)
- func (m *MockMeter) Rec(key string, val float64)
- func (m *MockMeter) RecWL(key string, val float64, labels map[string]string)
- func (m *MockMeter) Str(key string, val string)
- type MultiMeter
- func (m *MultiMeter) Add(key string, val float64)
- func (m *MultiMeter) AddWL(key string, val float64, labels map[string]string)
- func (m *MultiMeter) Dec(key string)
- func (m *MultiMeter) DecWL(key string, labels map[string]string)
- func (m *MultiMeter) Inc(key string)
- func (m *MultiMeter) IncWL(key string, labels map[string]string)
- func (m *MultiMeter) Rec(key string, val float64)
- func (m *MultiMeter) RecWL(key string, val float64, labels map[string]string)
- func (m *MultiMeter) Str(key string, val string)
- type NopMeter
- func (m *NopMeter) Add(key string, val float64)
- func (m *NopMeter) AddWL(key string, val float64, labels map[string]string)
- func (m *NopMeter) Dec(key string)
- func (m *NopMeter) DecWL(key string, labels map[string]string)
- func (m *NopMeter) Inc(key string)
- func (m *NopMeter) IncWL(key string, labels map[string]string)
- func (m *NopMeter) Rec(key string, val float64)
- func (m *NopMeter) RecWL(key string, val float64, labels map[string]string)
- func (m *NopMeter) Str(key string, val string)
- type PrometheusConfig
- type PrometheusMeter
- func (pm *PrometheusMeter) Add(key string, val float64)
- func (pm *PrometheusMeter) AddWL(key string, val float64, labels map[string]string)
- func (pm *PrometheusMeter) Dec(key string)
- func (pm *PrometheusMeter) DecWL(key string, labels map[string]string)
- func (pm *PrometheusMeter) Inc(key string)
- func (pm *PrometheusMeter) IncWL(key string, labels map[string]string)
- func (pm *PrometheusMeter) Rec(key string, val float64)
- func (pm *PrometheusMeter) RecWL(key string, val float64, labels map[string]string)
- func (pm *PrometheusMeter) Str(key string, val string)
Constants ¶
const ( DataDogMetricTypeRate = iota + 100 DataDogDefaultRate float64 = 1 )
Custom metric types
const ( MetricTypeMonotonicCounter = iota MetricTypeUpDownCounter MetricTypeHistogram MetricTypeDistribution MetricTypeInvalid )
Type definitions for the different kind of metrics available.
const ( PrometheusMetricTypeSummary = iota + 100 PrometheusMetricTypeInvalid )
Definitions of special metric types that can only be used with Prometheus.
const ( // MetricTypeExtension is the minimum value for a custom metric type MetricTypeExtension = iota + 100 )
we allow to special types of metrics for specialized implementations ? :
Variables ¶
This section is empty.
Functions ¶
func Serve ¶
func Serve(conf *PrometheusConfig)
Serve starts the server from where the metrics can be scraped
Types ¶
type Catalog ¶
type Catalog struct {
// contains filtered or unexported fields
}
Catalog contains the list of defined metrics.
type DataDogMeter ¶
type DataDogMeter struct {
// contains filtered or unexported fields
}
DataDogMeter is an implementation of metrics for DataDog
func (*DataDogMeter) Add ¶
func (m *DataDogMeter) Add(key string, val float64)
Add adds an int value
func (*DataDogMeter) AddWL ¶
func (m *DataDogMeter) AddWL(key string, val float64, labels map[string]string)
AddWL with labels that apply only to this record
func (*DataDogMeter) DecWL ¶
func (m *DataDogMeter) DecWL(key string, labels map[string]string)
DecWL decreases an integer value adding labels to this record
func (*DataDogMeter) IncWL ¶
func (m *DataDogMeter) IncWL(key string, labels map[string]string)
IncWL increases and integer value adding labels to this records
func (*DataDogMeter) Rec ¶
func (m *DataDogMeter) Rec(key string, val float64)
Rec records a value (similar to what a Gauge would be)
func (*DataDogMeter) RecWL ¶
func (m *DataDogMeter) RecWL(key string, val float64, labels map[string]string)
RecWL with labels that apply only to this record
func (*DataDogMeter) Str ¶
func (m *DataDogMeter) Str(key string, val string)
Str sets a label value for all metrics that have defined it
type DataDogMeterConfig ¶
DataDogMeterConfig has the required configuration for a DataDotMeter
type Def ¶
Def contains the information for a metric definition. It contains the name of the metric, the type, and the labels that can be applied to this metric.
type Defs ¶
type Defs []Def
Defs defines a list of metric definitions.
type Meter ¶
type Meter interface { // Inc increases an integer value Inc(key string) // Dec decreases an integer value Dec(key string) // Add adds an int value Add(key string, val float64) // Rec records a value (similar to what a Gauge would be) Rec(key string, val float64) // Str sets a label value for all metrics that have defined it Str(key string, val string) // IncWL increases and integer value adding labels to this records IncWL(key string, labels map[string]string) // DecWL decreases an integer value adding labels to this record DecWL(key string, labels map[string]string) // AddWL with labels that apply only to this record AddWL(key string, val float64, labels map[string]string) // RecWL with labels that apply only to this record RecWL(key string, val float64, labels map[string]string) }
Meter is the interface that abstracts the underlying metrics system. All counters used work on Float64 values
type MeterBuilderFn ¶
MeterBuilderFn defines the type of a builder function for Meters
func NewDataDogMeterBuilder ¶
func NewDataDogMeterBuilder( l logs.Logger, conf *DataDogMeterConfig) (MeterBuilderFn, error)
NewDataDogMeterBuilder creates a function to create new DataDogMeter's
func NewMockMeterBuilder ¶
func NewMockMeterBuilder() (MeterBuilderFn, error)
NewMockMeterBuilder returns a function to create Mock meters.
func NewMultiMeterBuilder ¶
func NewMultiMeterBuilder(log logs.Logger, builders ...MeterBuilderFn) (MeterBuilderFn, error)
NewMultiMeterBuilder crates a function to build NopMeters
func NewNopMeterBuilder ¶
func NewNopMeterBuilder() (MeterBuilderFn, error)
NewNopMeterBuilder returns a func
func NewPrometheusMeterBuilder ¶
func NewPrometheusMeterBuilder( log logs.Logger, conf *PrometheusConfig) (MeterBuilderFn, error)
NewPrometheusMeterBuilder creates a new prometheus function to create prometheus meters.
type MockMeter ¶
type MockMeter struct { Incs []string Decs []string Recs []string RecsVals []float64 Adds []string AddsVals []float64 Strs map[string]string }
MockMeter is an implementation of a meter used to check that we are sending
type MultiMeter ¶
type MultiMeter struct {
// contains filtered or unexported fields
}
MultiMeter is a meter that allows to send metrics to several other meters.
func NewMultiMeter ¶
func NewMultiMeter(wrapped ...Meter) *MultiMeter
NewMultiMeter creates a MultiMeter
func (*MultiMeter) AddWL ¶
func (m *MultiMeter) AddWL(key string, val float64, labels map[string]string)
AddWL with labels that apply only to this record
func (*MultiMeter) DecWL ¶
func (m *MultiMeter) DecWL(key string, labels map[string]string)
DecWL decreases an integer value adding labels to this record
func (*MultiMeter) IncWL ¶
func (m *MultiMeter) IncWL(key string, labels map[string]string)
IncWL increases and integer value adding labels to this records
func (*MultiMeter) Rec ¶
func (m *MultiMeter) Rec(key string, val float64)
Rec records a value (similar to what a Gauge would be)
func (*MultiMeter) RecWL ¶
func (m *MultiMeter) RecWL(key string, val float64, labels map[string]string)
RecWL with labels that apply only to this record
func (*MultiMeter) Str ¶
func (m *MultiMeter) Str(key string, val string)
Str sets a label value for all metrics that have defined it
type NopMeter ¶
type NopMeter struct { }
NopMeter is a meter that does nothing
type PrometheusConfig ¶
type PrometheusConfig struct { ServerPort string // in the ":7323" form ServerPath string // path to serve the metrics MetricDefinitions Defs MetricsPrefix string }
PrometheusConfig is the configuration for creating a Prometheus Meter.
type PrometheusMeter ¶
type PrometheusMeter struct {
// contains filtered or unexported fields
}
PrometheusMeter is the implementation of a Prometheus Meter
func NewPrometheusMeter ¶
func NewPrometheusMeter(log logs.Logger, promMetrics *prometheusMetrics) *PrometheusMeter
NewPrometheusMeter creates a new prometheus meter
func (*PrometheusMeter) Add ¶
func (pm *PrometheusMeter) Add(key string, val float64)
Add adds an int value
func (*PrometheusMeter) AddWL ¶
func (pm *PrometheusMeter) AddWL(key string, val float64, labels map[string]string)
AddWL with labels that apply only to this record
func (*PrometheusMeter) Dec ¶
func (pm *PrometheusMeter) Dec(key string)
Dec decreases an integer value
func (*PrometheusMeter) DecWL ¶
func (pm *PrometheusMeter) DecWL(key string, labels map[string]string)
DecWL decreases an integer value adding labels to this record
func (*PrometheusMeter) Inc ¶
func (pm *PrometheusMeter) Inc(key string)
Inc increases an integer value
func (*PrometheusMeter) IncWL ¶
func (pm *PrometheusMeter) IncWL(key string, labels map[string]string)
IncWL increases and integer value adding labels to this records
func (*PrometheusMeter) Rec ¶
func (pm *PrometheusMeter) Rec(key string, val float64)
Rec records a value (similar to what a Gauge would be)
func (*PrometheusMeter) RecWL ¶
func (pm *PrometheusMeter) RecWL(key string, val float64, labels map[string]string)
RecWL with labels that apply only to this record
func (*PrometheusMeter) Str ¶
func (pm *PrometheusMeter) Str(key string, val string)
Str sets a label value for all metrics that have defined it