package basic

import "go.opentelemetry.io/otel/sdk/metric/processor/basic"

Index

Variables

var ErrInconsistentState = fmt.Errorf("inconsistent processor state")

ErrInconsistentState is returned when the sequence of collection's starts and finishes are incorrectly balanced.

var ErrInvalidExportKind = fmt.Errorf("invalid export kind")

ErrInvalidExportKind is returned for unknown metric.ExportKind.

Types

type Option

type Option interface {
	// contains filtered or unexported methods
}

func WithMemory

func WithMemory(memory bool) Option

WithMemory sets the memory behavior of a Processor. If this is true, the processor will report metric instruments and label sets that were previously reported but not updated in the most recent interval.

type Processor

type Processor struct {
	export.ExportKindSelector
	export.AggregatorSelector
	// contains filtered or unexported fields
}

func New

func New(aselector export.AggregatorSelector, eselector export.ExportKindSelector, opts ...Option) *Processor

New returns a basic Processor that is also a Checkpointer using the provided AggregatorSelector to select Aggregators. The ExportKindSelector is consulted to determine the kind(s) of exporter that will consume data, so that this Processor can prepare to compute Delta or Cumulative Aggregations as needed.

func (*Processor) CheckpointSet

func (b *Processor) CheckpointSet() export.CheckpointSet

CheckpointSet returns the associated CheckpointSet. Use the CheckpointSet Locker interface to synchronize access to this object. The CheckpointSet.ForEach() method cannot be called concurrently with Process().

func (*Processor) FinishCollection

func (b *Processor) FinishCollection() error

FinishCollection signals to the Processor that a complete collection has finished and that ForEach will be called to access the CheckpointSet.

func (*Processor) ForEach

func (b *Processor) ForEach(exporter export.ExportKindSelector, f func(export.Record) error) error

ForEach iterates through the CheckpointSet, passing an export.Record with the appropriate Cumulative or Delta aggregation to an exporter.

func (*Processor) Process

func (b *Processor) Process(accum export.Accumulation) error

Process implements export.Processor.

func (*Processor) StartCollection

func (b *Processor) StartCollection()

StartCollection signals to the Processor one or more Accumulators will begin calling Process() calls during collection.

Source Files

basic.go config.go

Version
v0.21.0
Published
Jun 18, 2021
Platform
linux/amd64
Imports
9 packages
Last checked
1 hour ago

Tools for package owners.