metrics

package
v0.0.0-...-ab63307 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	EOS = errors.New("End Of Stream")
)

Functions

func CopyMetrics

func CopyMetrics(dst MetricWriter, src MetricReader) error

Types

type Event

type Event struct {
	Metric Metric
	Err    error
}

type EventKind

type EventKind string
const (
	Gauge   EventKind = "gauge"
	Counter EventKind = "counter"
)

type Metric

type Metric struct {
	ID    string
	Kind  EventKind
	Name  string
	Time  time.Time
	Value float64
	Tags  MetricTags
	Unit  string
}

func (Metric) String

func (m Metric) String() string

type MetricBuffer

type MetricBuffer struct {
	Events chan Event
	// contains filtered or unexported fields
}

func NewMetricBuffer

func NewMetricBuffer(n int) *MetricBuffer

func (*MetricBuffer) Close

func (eq *MetricBuffer) Close()

func (*MetricBuffer) ReadMetric

func (eq *MetricBuffer) ReadMetric() (Metric, error)

func (*MetricBuffer) WriteMetrics

func (eq *MetricBuffer) WriteMetrics(ms []Metric) error

type MetricCloser

type MetricCloser interface {
	Close()
}

type MetricReadCloser

type MetricReadCloser interface {
	MetricReader
	MetricCloser
}

func NewMetricPoller

func NewMetricPoller(interval time.Duration, fn PollFunc) MetricReadCloser

func NewMultiMetricReader

func NewMultiMetricReader(rs ...MetricReader) MetricReadCloser

type MetricReader

type MetricReader interface {
	ReadMetric() (Metric, error)
}

type MetricTag

type MetricTag struct {
	Label string
	Value string
}

func (MetricTag) String

func (t MetricTag) String() string

type MetricTags

type MetricTags []MetricTag

func (MetricTags) String

func (ts MetricTags) String() string

type MetricWriter

type MetricWriter interface {
	WriteMetrics([]Metric) error
}

type MultiMetricWriter

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

MultiMetricWriter is a writer which forwards the received events to multiple writers

func NewMultiMetricWriter

func NewMultiMetricWriter(writers ...MetricWriter) *MultiMetricWriter

NewMultiMetricWriter creates a new MultiMetricWriter instance

func (*MultiMetricWriter) AddWriter

func (m *MultiMetricWriter) AddWriter(writer MetricWriter)

AddWriter registers a new writer

func (*MultiMetricWriter) WriteMetrics

func (m *MultiMetricWriter) WriteMetrics(metrics []Metric) error

WriteMetrics forwards the received events to the registered writers

type PollFunc

type PollFunc func(MetricWriter) error

Jump to

Keyboard shortcuts

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