Documentation ¶
Index ¶
- Variables
- func MetricName(measurement, fieldKey string, valueType telegraf.ValueType) string
- func MetricType(valueType telegraf.ValueType) *dto.MetricType
- func SampleCount(value interface{}) (uint64, bool)
- func SampleSum(value interface{}) (float64, bool)
- func SampleValue(value interface{}) (float64, bool)
- func SanitizeLabelName(name string) (string, bool)
- func SanitizeMetricName(name string) (string, bool)
- type Bucket
- type Collection
- func (c *Collection) Add(metric telegraf.Metric, now time.Time)
- func (c *Collection) Expire(now time.Time, age time.Duration)
- func (c *Collection) GetEntries(order MetricSortOrder) []Entry
- func (c *Collection) GetMetrics(entry Entry, order MetricSortOrder) []*Metric
- func (c *Collection) GetProto() []*dto.MetricFamily
- type Entry
- type FormatConfig
- type Histogram
- type LabelPair
- type Metric
- type MetricFamily
- type MetricKey
- type MetricSortOrder
- type Quantile
- type Scaler
- type Serializer
- type StringHandling
- type Summary
- type Table
- type TimeFunc
- type TimestampExport
Constants ¶
This section is empty.
Variables ¶
var LabelNameTable = Table{ First: &unicode.RangeTable{ R16: []unicode.Range16{ {0x0041, 0x005A, 1}, {0x005F, 0x005F, 1}, {0x0061, 0x007A, 1}, }, LatinOffset: 3, }, Rest: &unicode.RangeTable{ R16: []unicode.Range16{ {0x0030, 0x0039, 1}, {0x0041, 0x005A, 1}, {0x005F, 0x005F, 1}, {0x0061, 0x007A, 1}, }, LatinOffset: 4, }, }
var MetricNameTable = Table{ First: &unicode.RangeTable{ R16: []unicode.Range16{ {0x003A, 0x003A, 1}, {0x0041, 0x005A, 1}, {0x005F, 0x005F, 1}, {0x0061, 0x007A, 1}, }, LatinOffset: 4, }, Rest: &unicode.RangeTable{ R16: []unicode.Range16{ {0x0030, 0x003A, 1}, {0x0041, 0x005A, 1}, {0x005F, 0x005F, 1}, {0x0061, 0x007A, 1}, }, LatinOffset: 4, }, }
Functions ¶
func MetricName ¶
MetricName returns the Prometheus metric name.
func MetricType ¶
func MetricType(valueType telegraf.ValueType) *dto.MetricType
func SampleCount ¶
SampleCount converts a field value into a count suitable for a metric family of the Histogram or Summary type.
func SampleSum ¶
SampleSum converts a field value into a sum suitable for a metric family of the Histogram or Summary type.
func SampleValue ¶
SampleValue converts a field value into a value suitable for a simple sample value.
func SanitizeLabelName ¶
SanitizeLabelName checks if the name is a valid Prometheus label name. If not, it attempts to replaces invalid runes with an underscore to create a valid name.
func SanitizeMetricName ¶
SanitizeMetricName checks if the name is a valid Prometheus metric name. If not, it attempts to replaces invalid runes with an underscore to create a valid name.
Types ¶
type Collection ¶
type Collection struct { Entries map[MetricFamily]Entry // contains filtered or unexported fields }
func NewCollection ¶
func NewCollection(config FormatConfig) *Collection
func (*Collection) GetEntries ¶
func (c *Collection) GetEntries(order MetricSortOrder) []Entry
func (*Collection) GetMetrics ¶
func (c *Collection) GetMetrics(entry Entry, order MetricSortOrder) []*Metric
func (*Collection) GetProto ¶
func (c *Collection) GetProto() []*dto.MetricFamily
type Entry ¶
type Entry struct { Family MetricFamily Metrics map[MetricKey]*Metric }
type FormatConfig ¶
type FormatConfig struct { TimestampExport TimestampExport MetricSortOrder MetricSortOrder StringHandling StringHandling // CompactEncoding defines whether to include // HELP metadata in Prometheus payload. Setting to true // helps to reduce payload size. CompactEncoding bool }
type MetricFamily ¶
type MetricSortOrder ¶
type MetricSortOrder int
MetricSortOrder controls if the output is sorted.
const ( NoSortMetrics MetricSortOrder = iota SortMetrics )
type Serializer ¶
type Serializer struct {
// contains filtered or unexported fields
}
func NewSerializer ¶
func NewSerializer(config FormatConfig) *Serializer
func (*Serializer) Serialize ¶
func (s *Serializer) Serialize(metric telegraf.Metric) ([]byte, error)
func (*Serializer) SerializeBatch ¶
func (s *Serializer) SerializeBatch(metrics []telegraf.Metric) ([]byte, error)
type StringHandling ¶
type StringHandling int
StringHandling defines how to process string fields.
const ( DiscardStrings StringHandling = iota StringAsLabel )
type Table ¶
type Table struct { First *unicode.RangeTable Rest *unicode.RangeTable }
type TimestampExport ¶
type TimestampExport int
TimestampExport controls if the output contains timestamps.
const ( NoExportTimestamp TimestampExport = iota ExportTimestamp )