package basic

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

Index

Variables

var ErrInconsistentState = fmt.Errorf("inconsistent processor state")
var ErrInvalidExporterKind = fmt.Errorf("invalid exporter kind")

Types

type Config

type Config struct {
	// Memory controls whether the processor remembers metric
	// instruments and label sets that were previously reported.
	// When Memory is true, CheckpointSet.ForEach() will visit
	// metrics that were not updated in the most recent interval.
	Memory bool
}

Config contains the options for configuring a basic metric processor.

type Option

type Option interface {
	ApplyProcessor(*Config)
}

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 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.8.0
Published
Jul 10, 2020
Platform
js/wasm
Imports
9 packages
Last checked
1 hour ago

Tools for package owners.