Help us shape the future of Go! Take the 2026 Go Developer Survey

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