metric

package
v0.40.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CounterInc = "inc"
	CounterAdd = "add"
)
View Source
const (
	GaugeSet = "set"
	GaugeInc = "inc"
	GaugeDec = "dec"
	GaugeAdd = "add"
	GaugeSub = "sub"

	ErrGaugeActionRequired = "gauge action must be defined as `set`, `inc`, `dec`, `add`, or `sub`"
	ErrGaugeInvalidAction  = "action %s is not valid, action must be `set`, `inc`, `dec`, `add`, or `sub`"
)

Variables

View Source
var DefaultCounterConfig = CounterConfig{
	MaxIdle: 5 * time.Minute,
}

DefaultCounterConfig sets the default for a Counter.

View Source
var DefaultGaugeConfig = GaugeConfig{
	MaxIdle: 5 * time.Minute,
}

DefaultGaugeConfig sets the defaults for a Gauge.

View Source
var DefaultHistogramConfig = HistogramConfig{
	MaxIdle: 5 * time.Minute,
}

DefaultHistogramConfig sets the defaults for a Histogram.

Functions

This section is empty.

Types

type CounterConfig

type CounterConfig struct {
	// Shared fields
	Name        string        `river:"name,attr"`
	Description string        `river:"description,attr,optional"`
	Source      string        `river:"source,attr,optional"`
	Prefix      string        `river:"prefix,attr,optional"`
	MaxIdle     time.Duration `river:"max_idle_duration,attr,optional"`
	Value       string        `river:"value,attr,optional"`

	// Counter-specific fields
	Action          string `river:"action,attr"`
	MatchAll        bool   `river:"match_all,attr,optional"`
	CountEntryBytes bool   `river:"count_entry_bytes,attr,optional"`
}

CounterConfig defines a counter metric whose value only goes up.

func (*CounterConfig) SetToDefault

func (c *CounterConfig) SetToDefault()

SetToDefault implements river.Defaulter.

func (*CounterConfig) Validate

func (c *CounterConfig) Validate() error

Validate implements river.Validator.

type Counters

type Counters struct {
	Cfg *CounterConfig
	// contains filtered or unexported fields
}

Counters is a vector of counters for a log stream.

func NewCounters

func NewCounters(name string, config *CounterConfig) (*Counters, error)

NewCounters creates a new counter vec.

func (Counters) Collect

func (c Counters) Collect(ch chan<- prometheus.Metric)

Collect implements prometheus.Collector

func (Counters) Delete

func (c Counters) Delete(labels model.LabelSet) bool

func (Counters) Describe

func (c Counters) Describe(ch chan<- *prometheus.Desc)

Describe implements prometheus.Collector and doesn't declare any metrics on purpose to bypass prometheus validation. see https://godoc.org/github.com/prometheus/client_golang/prometheus#hdr-Custom_Collectors_and_constant_Metrics search for "unchecked"

func (*Counters) With

func (c *Counters) With(labels model.LabelSet) prometheus.Counter

With returns the counter associated with a stream labelset.

type Expirable

type Expirable interface {
	HasExpired(currentTimeSec int64, maxAgeSec int64) bool
}

Expirable allows checking if something has exceeded the provided maxAge based on the provided currentTime

type GaugeConfig

type GaugeConfig struct {
	// Shared fields
	Name        string        `river:"name,attr"`
	Description string        `river:"description,attr,optional"`
	Source      string        `river:"source,attr,optional"`
	Prefix      string        `river:"prefix,attr,optional"`
	MaxIdle     time.Duration `river:"max_idle_duration,attr,optional"`
	Value       string        `river:"value,attr,optional"`

	// Gauge-specific fields
	Action string `river:"action,attr"`
}

GaugeConfig defines a gauge metric whose value can go up or down.

func (*GaugeConfig) SetToDefault

func (g *GaugeConfig) SetToDefault()

SetToDefault implements river.Defaulter.

func (*GaugeConfig) Validate

func (g *GaugeConfig) Validate() error

Validate implements river.Validator.

type Gauges

type Gauges struct {
	Cfg *GaugeConfig
	// contains filtered or unexported fields
}

Gauges is a vector of gauges for a log stream.

func NewGauges

func NewGauges(name string, config *GaugeConfig) (*Gauges, error)

NewGauges creates a new gauge vec.

func (Gauges) Collect

func (c Gauges) Collect(ch chan<- prometheus.Metric)

Collect implements prometheus.Collector

func (Gauges) Delete

func (c Gauges) Delete(labels model.LabelSet) bool

func (Gauges) Describe

func (c Gauges) Describe(ch chan<- *prometheus.Desc)

Describe implements prometheus.Collector and doesn't declare any metrics on purpose to bypass prometheus validation. see https://godoc.org/github.com/prometheus/client_golang/prometheus#hdr-Custom_Collectors_and_constant_Metrics search for "unchecked"

func (*Gauges) With

func (g *Gauges) With(labels model.LabelSet) prometheus.Gauge

With returns the gauge associated with a stream labelset.

type HistogramConfig

type HistogramConfig struct {
	// Shared fields
	Name        string        `river:"name,attr"`
	Description string        `river:"description,attr,optional"`
	Source      string        `river:"source,attr,optional"`
	Prefix      string        `river:"prefix,attr,optional"`
	MaxIdle     time.Duration `river:"max_idle_duration,attr,optional"`
	Value       string        `river:"value,attr,optional"`

	// Histogram-specific fields
	Buckets []float64 `river:"buckets,attr"`
}

HistogramConfig defines a histogram metric whose values are bucketed.

func (*HistogramConfig) SetToDefault

func (h *HistogramConfig) SetToDefault()

SetToDefault implements river.Defaulter.

func (*HistogramConfig) Validate

func (h *HistogramConfig) Validate() error

Validate implements river.Validator.

type Histograms

type Histograms struct {
	Cfg *HistogramConfig
	// contains filtered or unexported fields
}

Histograms is a vector of histograms for a log stream.

func NewHistograms

func NewHistograms(name string, config *HistogramConfig) (*Histograms, error)

NewHistograms creates a new histogram vec.

func (Histograms) Collect

func (c Histograms) Collect(ch chan<- prometheus.Metric)

Collect implements prometheus.Collector

func (Histograms) Delete

func (c Histograms) Delete(labels model.LabelSet) bool

func (Histograms) Describe

func (c Histograms) Describe(ch chan<- *prometheus.Desc)

Describe implements prometheus.Collector and doesn't declare any metrics on purpose to bypass prometheus validation. see https://godoc.org/github.com/prometheus/client_golang/prometheus#hdr-Custom_Collectors_and_constant_Metrics search for "unchecked"

func (*Histograms) With

func (h *Histograms) With(labels model.LabelSet) prometheus.Histogram

With returns the histogram associated with a stream labelset.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL