Documentation
¶
Overview ¶
Package telemetry implements a component for all agent telemetry.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultOptions = Options{ NoDoubleUnderscoreSep: false, }
DefaultOptions for telemetry metrics which don't need to specify any option.
Functions ¶
func NoFilter ¶ added in v0.74.0
func NoFilter(*MetricFamily) bool
NoFilter returns a MetricFilter that includes all metrics This is not recommended since it will heavily impact costs
Types ¶
type Collector ¶ added in v0.54.0
type Collector = prometheus.Collector
Collector is an alias to prometheus.Collector
type Component ¶
type Component interface {
// Handler returns an http handler to expose the internal metrics
Handler() http.Handler
// Reset resets all tracked telemetry
Reset()
// RegisterCollector Registers a Collector with the prometheus registry
RegisterCollector(c Collector)
// UnregisterCollector unregisters a Collector with the prometheus registry
UnregisterCollector(c Collector) bool
// NewCounter creates a Counter with default options for telemetry purpose.
NewCounter(subsystem, name string, tags []string, help string) Counter
// NewCounterWithOpts creates a Counter with the given options for telemetry purpose.
NewCounterWithOpts(subsystem, name string, tags []string, help string, opts Options) Counter
// NewSimpleCounter creates a new SimpleCounter with default options.
NewSimpleCounter(subsystem, name, help string) SimpleCounter
// NewSimpleCounterWithOpts creates a new SimpleCounter.
NewSimpleCounterWithOpts(subsystem, name, help string, opts Options) SimpleCounter
// NewGauge creates a Gauge with default options for telemetry purpose.
NewGauge(subsystem, name string, tags []string, help string) Gauge
// NewGaugeWithOpts creates a Gauge with the given options for telemetry purpose.
NewGaugeWithOpts(subsystem, name string, tags []string, help string, opts Options) Gauge
// NewSimpleGauge creates a new SimpleGauge with default options.
NewSimpleGauge(subsystem, name, help string) SimpleGauge
// NewSimpleGaugeWithOpts creates a new SimpleGauge.
NewSimpleGaugeWithOpts(subsystem, name, help string, opts Options) SimpleGauge
// NewHistogram creates a Histogram with default options for telemetry purpose.
NewHistogram(subsystem, name string, tags []string, help string, buckets []float64) Histogram
// NewHistogramWithOpts creates a Histogram with the given options for telemetry purpose.
NewHistogramWithOpts(subsystem, name string, tags []string, help string, buckets []float64, opts Options) Histogram
// NewSimpleHistogram creates a new SimpleHistogram with default options.
NewSimpleHistogram(subsystem, name, help string, buckets []float64) SimpleHistogram
// NewSimpleHistogramWithOpts creates a new SimpleHistogram.
NewSimpleHistogramWithOpts(subsystem, name, help string, buckets []float64, opts Options) SimpleHistogram
// Gather exposes metrics from the general or default telemetry registry (see options.DefaultMetric)
Gather(defaultGather bool) ([]*MetricFamily, error)
// GatherText exposes metrics from the general or default telemetry registry (see options.DefaultMetric) in text format
GatherText(defaultGather bool, filter MetricFilter) (string, error)
}
Component is the component type.
type Counter ¶
type Counter interface {
// InitializeToZero creates the counter with the given tags and initializes it to 0.
// This method is intended to be used when the counter value is important to
// send even before any incrementing/addition is done on it.
InitializeToZero(tagsValue ...string)
// Inc increments the counter with the given tags value.
Inc(tagsValue ...string)
// Add adds the given value to the counter with the given tags value.
Add(value float64, tagsValue ...string)
// Delete deletes the value for the counter with the given tags value.
Delete(tagsValue ...string)
// IncWithTags increments the counter with the given tags.
// Even if less convenient, this signature could be used in hot path
// instead of Inc(...string) to avoid escaping the parameters on the heap.
IncWithTags(tags map[string]string)
// AddWithTags adds the given value to the counter with the given tags.
// Even if less convenient, this signature could be used in hot path
// instead of Add(float64, ...string) to avoid escaping the parameters on the heap.
AddWithTags(value float64, tags map[string]string)
// DeleteWithTags deletes the value for the counter with the given tags.
// Even if less convenient, this signature could be used in hot path
// instead of Delete(...string) to avoid escaping the parameters on the heap.
DeleteWithTags(tags map[string]string)
// WithValues returns SimpleCounter for this metric with the given tag values.
WithValues(tagsValue ...string) SimpleCounter
// WithTags returns SimpleCounter for this metric with the given tag values.
WithTags(tags map[string]string) SimpleCounter
}
Counter tracks how many times something is happening.
type Gauge ¶
type Gauge interface {
// Set stores the value for the given tags.
Set(value float64, tagsValue ...string)
// Inc increments the Gauge value.
Inc(tagsValue ...string)
// Dec decrements the Gauge value.
Dec(tagsValue ...string)
// Add adds the value to the Gauge value.
Add(value float64, tagsValue ...string)
// Sub subtracts the value to the Gauge value.
Sub(value float64, tagsValue ...string)
// Delete deletes the value for the Gauge with the given tags.
Delete(tagsValue ...string)
// DeletePartialMatch deletes the values for the Gauges that match the subset of given tags
DeletePartialMatch(tags map[string]string)
// WithValues returns SimpleGauge for this metric with the given tag values.
WithValues(tagsValue ...string) SimpleGauge
// WithTags returns SimpleGauge for this metric with the given tag values.
WithTags(tags map[string]string) SimpleGauge
}
Gauge tracks the value of one health metric of the Agent.
type Histogram ¶
type Histogram interface {
// Observe the value to the Histogram value.
Observe(value float64, tagsValue ...string)
// Delete deletes the value for the Histogram with the given tags.
Delete(tagsValue ...string)
// WithValues returns SimpleHistogram for this metric with the given tag values.
WithValues(tagsValue ...string) SimpleHistogram
// WithTags returns SimpleHistogram for this metric with the given tag values.
WithTags(tags map[string]string) SimpleHistogram
}
Histogram tracks the value of one health metric of the Agent.
type HistogramValue ¶
HistogramValue is a struct representing the internal histogram state
type MetricFamily ¶ added in v0.54.0
type MetricFamily = dto.MetricFamily
MetricFamily is an alias to dto.MetricFamily
type MetricFilter ¶ added in v0.74.0
type MetricFilter func(*MetricFamily) bool
MetricFilter is a function that filters metrics based on their name It returns true if the metric should be included, false if it should be excluded
func BatchMetricFilter ¶ added in v0.74.0
func BatchMetricFilter(filters ...MetricFilter) MetricFilter
BatchMetricFilter combines multiple MetricFilters into a single MetricFilter It returns true if at least one of the filters return true, false otherwise
func RegexMetricFilter ¶ added in v0.74.0
func RegexMetricFilter(regexes ...regexp.Regexp) MetricFilter
RegexMetricFilter filters metrics based on their name using regular expressions It returns true if the metric name matches at least one of the regular expressions, false otherwise
func StaticMetricFilter ¶ added in v0.74.0
func StaticMetricFilter(metricNames ...string) MetricFilter
StaticMetricFilter filters metrics based on their name It returns true if the metric name is in the list, false otherwise
type Options ¶
type Options struct {
// NoDoubleUnderscoreSep is set to true when you don't want to
// separate the subsystem and the name with a double underscore separator.
//
// This option is not compatible with the cross-org agent telemetry
NoDoubleUnderscoreSep bool
// DefaultMetric exports metric by default via built-in agent_telemetry core check.
DefaultMetric bool
}
Options for telemetry metrics. Creating an Options struct without specifying any of its fields should be the equivalent of using the DefaultOptions var.
func (*Options) NameWithSeparator ¶
NameWithSeparator returns name prefixed according to NoDoubleUnderscoreOption.
type SimpleCounter ¶
type SimpleCounter interface {
// Inc increments the counter.
Inc()
// Add increments the counter by given amount.
Add(float64)
// Get gets the current counter value
Get() float64
}
SimpleCounter tracks how many times something is happening.
type SimpleGauge ¶
type SimpleGauge interface {
// Inc increments the gaguge.
Inc()
// Dec decrements the gauge.
Dec()
// Add increments the gauge by given amount.
Add(float64)
// Sub decrements the gauge by given amount.
Sub(float64)
// Set sets the value of the gauge.
Set(float64)
// Get gets the value of the gauge.
Get() float64
}
SimpleGauge tracks how many times something is happening.
type SimpleHistogram ¶
type SimpleHistogram interface {
// Observe the value to the Histogram value.
Observe(value float64)
// Get gets the current histogram values
Get() HistogramValue
}
SimpleHistogram tracks how many times something is happening.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package noopsimpl creates the noop telemetry component
|
Package noopsimpl creates the noop telemetry component |
|
Package telemetryimpl implements the telemetry component interface.
|
Package telemetryimpl implements the telemetry component interface. |