textparse

package
v2.13.1 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetricTypeCounter        = "counter"
	MetricTypeGauge          = "gauge"
	MetricTypeHistogram      = "histogram"
	MetricTypeGaugeHistogram = "gaugehistogram"
	MetricTypeSummary        = "summary"
	MetricTypeInfo           = "info"
	MetricTypeStateset       = "stateset"
	MetricTypeUnknown        = "unknown"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Entry

type Entry int

Entry represents the type of a parsed entry.

const (
	EntryInvalid Entry = -1
	EntryType    Entry = 0
	EntryHelp    Entry = 1
	EntrySeries  Entry = 2
	EntryComment Entry = 3
	EntryUnit    Entry = 4
)

type MetricType

type MetricType string

MetricType represents metric type values.

type OpenMetricsParser

type OpenMetricsParser struct {
	// contains filtered or unexported fields
}

OpenMetricsParser parses samples from a byte slice of samples in the official OpenMetrics text exposition format. This is based on the working draft https://docs.google.com/document/u/1/d/1KwV0mAXwwbvvifBvDKH_LU1YjyXE_wxCkHNoCGq1GX0/edit

func (*OpenMetricsParser) Comment

func (p *OpenMetricsParser) Comment() []byte

Comment returns the text of the current comment. Must only be called after Next returned a comment entry. The returned byte slice becomes invalid after the next call to Next.

func (*OpenMetricsParser) Help

func (p *OpenMetricsParser) Help() ([]byte, []byte)

Help returns the metric name and help text in the current entry. Must only be called after Next returned a help entry. The returned byte slices become invalid after the next call to Next.

func (*OpenMetricsParser) Metric

func (p *OpenMetricsParser) Metric(l *labels.Labels) string

Metric writes the labels of the current sample into the passed labels. It returns the string from which the metric was parsed.

func (*OpenMetricsParser) Next

func (p *OpenMetricsParser) Next() (Entry, error)

Next advances the parser to the next sample. It returns false if no more samples were read or an error occurred.

func (*OpenMetricsParser) Series

func (p *OpenMetricsParser) Series() ([]byte, *int64, float64)

Series returns the bytes of the series, the timestamp if set, and the value of the current sample.

func (*OpenMetricsParser) Type

func (p *OpenMetricsParser) Type() ([]byte, MetricType)

Type returns the metric name and type in the current entry. Must only be called after Next returned a type entry. The returned byte slices become invalid after the next call to Next.

func (*OpenMetricsParser) Unit

func (p *OpenMetricsParser) Unit() ([]byte, []byte)

Unit returns the metric name and unit in the current entry. Must only be called after Next returned a unit entry. The returned byte slices become invalid after the next call to Next.

type Parser

type Parser interface {
	// Series returns the bytes of the series, the timestamp if set, and the value
	// of the current sample.
	Series() ([]byte, *int64, float64)

	// Help returns the metric name and help text in the current entry.
	// Must only be called after Next returned a help entry.
	// The returned byte slices become invalid after the next call to Next.
	Help() ([]byte, []byte)

	// Type returns the metric name and type in the current entry.
	// Must only be called after Next returned a type entry.
	// The returned byte slices become invalid after the next call to Next.
	Type() ([]byte, MetricType)

	// Unit returns the metric name and unit in the current entry.
	// Must only be called after Next returned a unit entry.
	// The returned byte slices become invalid after the next call to Next.
	Unit() ([]byte, []byte)

	// Comment returns the text of the current comment.
	// Must only be called after Next returned a comment entry.
	// The returned byte slice becomes invalid after the next call to Next.
	Comment() []byte

	// Metric writes the labels of the current sample into the passed labels.
	// It returns the string from which the metric was parsed.
	Metric(l *labels.Labels) string

	// Next advances the parser to the next sample. It returns false if no
	// more samples were read or an error occurred.
	Next() (Entry, error)
}

Parser parses samples from a byte slice of samples in the official Prometheus and OpenMetrics text exposition formats.

func New

func New(b []byte, contentType string) Parser

New returns a new parser of the byte slice.

func NewOpenMetricsParser

func NewOpenMetricsParser(b []byte) Parser

NewOpenMetricsParser returns a new parser of the byte slice.

func NewPromParser

func NewPromParser(b []byte) Parser

NewPromParser returns a new parser of the byte slice.

type PromParser

type PromParser struct {
	// contains filtered or unexported fields
}

PromParser parses samples from a byte slice of samples in the official Prometheus text exposition format.

func (*PromParser) Comment

func (p *PromParser) Comment() []byte

Comment returns the text of the current comment. Must only be called after Next returned a comment entry. The returned byte slice becomes invalid after the next call to Next.

func (*PromParser) Help

func (p *PromParser) Help() ([]byte, []byte)

Help returns the metric name and help text in the current entry. Must only be called after Next returned a help entry. The returned byte slices become invalid after the next call to Next.

func (*PromParser) Metric

func (p *PromParser) Metric(l *labels.Labels) string

Metric writes the labels of the current sample into the passed labels. It returns the string from which the metric was parsed.

func (*PromParser) Next

func (p *PromParser) Next() (Entry, error)

Next advances the parser to the next sample. It returns false if no more samples were read or an error occurred.

func (*PromParser) Series

func (p *PromParser) Series() ([]byte, *int64, float64)

Series returns the bytes of the series, the timestamp if set, and the value of the current sample.

func (*PromParser) Type

func (p *PromParser) Type() ([]byte, MetricType)

Type returns the metric name and type in the current entry. Must only be called after Next returned a type entry. The returned byte slices become invalid after the next call to Next.

func (*PromParser) Unit

func (p *PromParser) Unit() ([]byte, []byte)

Unit returns the metric name and unit in the current entry. Must only be called after Next returned a unit entry. The returned byte slices become invalid after the next call to Next.

Jump to

Keyboard shortcuts

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