processortest

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AggregatorSelector

func AggregatorSelector() export.AggregatorSelector

AggregatorSelector returns a policy that is consistent with the test descriptors above. I.e., it returns sum.New() for counter instruments and lastvalue.New() for lastValue instruments.

func MultiInstrumentationLibraryReader added in v0.24.0

func MultiInstrumentationLibraryReader(records map[instrumentation.Library][]export.Record) export.InstrumentationLibraryReader

func NewCheckpointer added in v0.24.0

func NewCheckpointer(p *Processor) export.Checkpointer

func NewCheckpointerFactory added in v0.24.0

func NewCheckpointerFactory(selector export.AggregatorSelector, encoder attribute.Encoder) export.CheckpointerFactory

func OneInstrumentationLibraryReader added in v0.24.0

func OneInstrumentationLibraryReader(l instrumentation.Library, r export.Reader) export.InstrumentationLibraryReader

Types

type Exporter

type Exporter struct {
	aggregation.TemporalitySelector

	// InjectErr supports returning conditional errors from
	// the Export() routine.  This must be set before the
	// Exporter is first used.
	InjectErr func(export.Record) error
	// contains filtered or unexported fields
}

Exporter is a testing implementation of export.Exporter that assembles its results as a map[string]float64.

func New added in v0.21.0

New returns a new testing Exporter implementation. Verify exporter outputs using Values(), e.g.,:

require.EqualValues(t, map[string]float64{
    "counter.sum/A=1,B=2/R=V": 100,
}, exporter.Values())

Where in the example A=1,B=2 is the encoded labels and R=V is the encoded resource value.

func (*Exporter) Export

func (*Exporter) ExportCount

func (e *Exporter) ExportCount() int

ExportCount returns the number of times Export() has been called since the last Reset().

func (*Exporter) Reset

func (e *Exporter) Reset()

Reset sets the exporter's output to the initial, empty state and resets the export count to zero.

func (*Exporter) Values

func (e *Exporter) Values() map[string]float64

Values returns the mapping from label set to point values for the accumulations that were processed. Point values are chosen as either the Sum or the LastValue, whichever is implemented. (All the built-in Aggregators implement one of these interfaces.)

type Output

type Output struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Output implements export.Reader.

func NewOutput

func NewOutput(labelEncoder attribute.Encoder) *Output

NewOutput is a helper for testing an expected set of Accumulations (from an Accumulator) or an expected set of Records (from a Processor). If testing with an Accumulator, it may be simpler to use the test Processor in this package.

func (*Output) AddAccumulation

func (o *Output) AddAccumulation(acc export.Accumulation) error

AddAccumulation adds a string representation of the exported metric data to a map for use in testing. The value taken from the accumulation is either the Sum() or the LastValue() of its Aggregator().Aggregation(), whichever is defined.

func (*Output) AddInstrumentationLibraryRecord added in v0.24.0

func (o *Output) AddInstrumentationLibraryRecord(_ instrumentation.Library, rec export.Record) error

func (*Output) AddRecord

func (o *Output) AddRecord(rec export.Record) error

AddRecord adds a string representation of the exported metric data to a map for use in testing. The value taken from the record is either the Sum() or the LastValue() of its Aggregation(), whichever is defined. Record timestamps are ignored.

func (*Output) AddRecordWithResource added in v0.23.0

func (o *Output) AddRecordWithResource(rec export.Record, res *resource.Resource) error

func (*Output) ForEach

func (o *Output) ForEach(_ aggregation.TemporalitySelector, ff func(export.Record) error) error

ForEach implements export.Reader.

func (*Output) Map

func (o *Output) Map() map[string]float64

Map returns the calculated values for test validation from a set of Accumulations or a set of Records. When mapping records or accumulations into floating point values, the Sum() or LastValue() is chosen, whichever is implemented by the underlying Aggregator.

func (*Output) Reset

func (o *Output) Reset()

Reset restores the Output to its initial state, with no accumulated metric data.

type Processor

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

Processor is a testing implementation of export.Processor that assembles its results as a map[string]float64.

func NewProcessor

func NewProcessor(selector export.AggregatorSelector, encoder attribute.Encoder) *Processor

NewProcessor returns a new testing Processor implementation. Verify expected outputs using Values(), e.g.:

require.EqualValues(t, map[string]float64{
    "counter.sum/A=1,B=2/R=V": 100,
}, processor.Values())

Where in the example A=1,B=2 is the encoded labels and R=V is the encoded resource value.

func (*Processor) Process

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

Process implements export.Processor.

func (*Processor) Reset added in v0.23.0

func (p *Processor) Reset()

Reset clears the state of this test processor.

func (*Processor) Values

func (p *Processor) Values() map[string]float64

Values returns the mapping from label set to point values for the accumulations that were processed. Point values are chosen as either the Sum or the LastValue, whichever is implemented. (All the built-in Aggregators implement one of these interfaces.)

Jump to

Keyboard shortcuts

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