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 // Meter returns a new OTEL meter Meter(name string, opts ...MeterOption) Meter // 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) // 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 MeterOption ¶ added in v0.54.0
type MeterOption = metric.MeterOption
MeterOption is an alias to metric.MeterOption
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. 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. |