package gauge

import "go.opentelemetry.io/otel/sdk/metric/aggregator/gauge"

Index

Types

type Aggregator

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

Aggregator aggregates gauge events.

func New

func New() *Aggregator

New returns a new gauge aggregator. This aggregator retains the last value and timestamp that were recorded.

func (*Aggregator) Checkpoint

func (g *Aggregator) Checkpoint(ctx context.Context, _ *export.Descriptor)

Checkpoint atomically saves the current value.

func (*Aggregator) LastValue

func (g *Aggregator) LastValue() (core.Number, time.Time, error)

LastValue returns the last-recorded gauge value and the corresponding timestamp. The error value aggregator.ErrNoLastValue will be returned if (due to a race condition) the checkpoint was computed before the first value was set.

func (*Aggregator) Merge

func (g *Aggregator) Merge(oa export.Aggregator, desc *export.Descriptor) error

Merge combines state from two aggregators. If the gauge is declared as monotonic, the greater value is chosen. If the gauge is declared as non-monotonic, the most-recently set value is chosen.

func (*Aggregator) Update

func (g *Aggregator) Update(_ context.Context, number core.Number, desc *export.Descriptor) error

Update atomically sets the current "last" value.

Source Files

gauge.go

Version
v0.2.1
Published
Jan 8, 2020
Platform
js/wasm
Imports
7 packages
Last checked
3 hours ago

Tools for package owners.