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 ¶
This section is empty.
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)
}
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 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. |