Documentation
¶
Index ¶
- Constants
- type BaseMetric
- type Counter
- type DynamicGauge
- type Gauge
- type Metric
- type MetricsAppender
- type Server
- func (s *Server) AfterSharingStart() error
- func (s *Server) Close() error
- func (s *Server) NewCounter(name, _ string, labels ...string) telemetry.Counter
- func (s *Server) NewDynamicGauge(name, _ string, labels ...string) telemetry.DynamicGauge
- func (s *Server) NewGauge(name, _ string, getter func() float64, labels ...string) telemetry.Gauge
- func (s *Server) NewTimer(name, help string, labels ...string) telemetry.Timer
- func (s *Server) Register(name string, metric Metric)
- func (s *Server) Start(config *telemetry.Config) error
- type SubMetric
- type TimeRecorder
- type Timer
Constants ¶
View Source
const (
SeparatorByte byte = 255
)
Inspired by Prometheus(prometheus/client_golang), adding labels data is more efficient and saves memory
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseMetric ¶
type BaseMetric struct { Metric Name string LabelKeys []string NewSubMetric func(labelValues ...string) SubMetric // contains filtered or unexported fields }
func NewBaseMetric ¶
func NewBaseMetric(name string, labels []string, newSubMetric func(labelValues ...string) SubMetric) *BaseMetric
func (*BaseMetric) GetMetricWithLabelValues ¶
func (b *BaseMetric) GetMetricWithLabelValues(lvs ...string) (SubMetric, error)
func (*BaseMetric) WriteMetric ¶
func (b *BaseMetric) WriteMetric(appender *MetricsAppender)
type Counter ¶
type Counter struct {
BaseMetric
}
type DynamicGauge ¶
type DynamicGauge struct {
BaseMetric
}
func (*DynamicGauge) Dec ¶
func (d *DynamicGauge) Dec(labels ...string)
func (*DynamicGauge) Inc ¶
func (d *DynamicGauge) Inc(labels ...string)
type Gauge ¶
type Gauge struct { BaseMetric // contains filtered or unexported fields }
func (*Gauge) WriteMetric ¶
func (g *Gauge) WriteMetric(appender *MetricsAppender)
type Metric ¶
type Metric interface { telemetry.Metric WriteMetric(appender *MetricsAppender) }
type MetricsAppender ¶
type MetricsAppender struct {
// contains filtered or unexported fields
}
type Server ¶
type Server struct { telemetry.MetricsServiceConfig // contains filtered or unexported fields }
func (*Server) AfterSharingStart ¶
func (*Server) NewCounter ¶
NewCounter create a new counter if no metric with the same name exists.
func (*Server) NewDynamicGauge ¶
func (s *Server) NewDynamicGauge(name, _ string, labels ...string) telemetry.DynamicGauge
type SubMetric ¶
type SubMetric interface {
WriteMetric(base *BaseMetric, labels []*v3.Label, appender *MetricsAppender)
}
type TimeRecorder ¶
type TimeRecorder struct {
// contains filtered or unexported fields
}
type Timer ¶
type Timer struct { BaseMetric SumCounter *Counter CountCounter *Counter }
func (*Timer) WriteMetric ¶
func (t *Timer) WriteMetric(appender *MetricsAppender)
Click to show internal directories.
Click to hide internal directories.