model

package
v0.0.0-...-37747ed Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NoopTelemetry

type NoopTelemetry struct {
	fmt.Stringer
}

func NewNoopTelemetry

func NewNoopTelemetry(operator fmt.Stringer) *NoopTelemetry

func (*NoopTelemetry) AddExecutionTimeTaken

func (tm *NoopTelemetry) AddExecutionTimeTaken(t time.Duration)

func (*NoopTelemetry) ExecutionTimeTaken

func (tm *NoopTelemetry) ExecutionTimeTaken() time.Duration

func (*NoopTelemetry) IncrementSamplesAtTimestamp

func (tm *NoopTelemetry) IncrementSamplesAtTimestamp(_ int, _ int64)

func (*NoopTelemetry) Samples

func (tm *NoopTelemetry) Samples() *stats.QuerySamples

func (*NoopTelemetry) SubQuery

func (tm *NoopTelemetry) SubQuery() bool

type ObservableVectorOperator

type ObservableVectorOperator interface {
	VectorOperator
	OperatorTelemetry
}

type OperatorTelemetry

type OperatorTelemetry interface {
	fmt.Stringer

	AddExecutionTimeTaken(time.Duration)
	ExecutionTimeTaken() time.Duration
	IncrementSamplesAtTimestamp(samples int, t int64)
	Samples() *stats.QuerySamples
	SubQuery() bool
}

func NewSubqueryTelemetry

func NewSubqueryTelemetry(operator fmt.Stringer, opts *query.Options) OperatorTelemetry

func NewTelemetry

func NewTelemetry(operator fmt.Stringer, opts *query.Options) OperatorTelemetry

type Series

type Series struct {
	// ID is a numerical, zero-based identifier for a series.
	// It allows using slices instead of maps for fast lookups.
	ID     uint64
	Metric labels.Labels
}

type StepVector

type StepVector struct {
	T         int64
	SampleIDs []uint64
	Samples   []float64

	HistogramIDs []uint64
	Histograms   []*histogram.FloatHistogram
}

func (*StepVector) AppendHistogram

func (s *StepVector) AppendHistogram(pool *VectorPool, histogramID uint64, h *histogram.FloatHistogram)

func (*StepVector) AppendHistograms

func (s *StepVector) AppendHistograms(pool *VectorPool, histogramIDs []uint64, hs []*histogram.FloatHistogram)

func (*StepVector) AppendSample

func (s *StepVector) AppendSample(pool *VectorPool, id uint64, val float64)

func (*StepVector) AppendSamples

func (s *StepVector) AppendSamples(pool *VectorPool, ids []uint64, vals []float64)

func (*StepVector) RemoveHistogram

func (s *StepVector) RemoveHistogram(index int)

func (*StepVector) RemoveSample

func (s *StepVector) RemoveSample(index int)

type TrackedTelemetry

type TrackedTelemetry struct {
	fmt.Stringer

	ExecutionTime time.Duration
	LoadedSamples *stats.QuerySamples
	// contains filtered or unexported fields
}

func NewTrackedTelemetry

func NewTrackedTelemetry(operator fmt.Stringer, opts *query.Options, subquery bool) *TrackedTelemetry

func (*TrackedTelemetry) AddExecutionTimeTaken

func (ti *TrackedTelemetry) AddExecutionTimeTaken(t time.Duration)

func (*TrackedTelemetry) ExecutionTimeTaken

func (ti *TrackedTelemetry) ExecutionTimeTaken() time.Duration

func (*TrackedTelemetry) IncrementSamplesAtTimestamp

func (ti *TrackedTelemetry) IncrementSamplesAtTimestamp(samples int, t int64)

func (*TrackedTelemetry) Samples

func (ti *TrackedTelemetry) Samples() *stats.QuerySamples

func (*TrackedTelemetry) SubQuery

func (ti *TrackedTelemetry) SubQuery() bool

type VectorOperator

type VectorOperator interface {
	// Next yields vectors of samples from all series for one or more execution steps.
	Next(ctx context.Context) ([]StepVector, error)

	// Series returns all series that the operator will process during Next results.
	// The result can be used by upstream operators to allocate output tables and buffers
	// before starting to process samples.
	Series(ctx context.Context) ([]labels.Labels, error)

	// GetPool returns pool of vectors that can be shared across operators.
	GetPool() *VectorPool

	// Explain returns human-readable explanation of the current operator and optional nested operators.
	Explain() (next []VectorOperator)

	fmt.Stringer
}

VectorOperator performs operations on series in step by step fashion.

type VectorPool

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

func NewVectorPool

func NewVectorPool(stepsBatch int) *VectorPool

func NewVectorPoolWithSize

func NewVectorPoolWithSize(stepsBatch, size int) *VectorPool

func (*VectorPool) GetStepVector

func (p *VectorPool) GetStepVector(t int64) StepVector

func (*VectorPool) GetVectorBatch

func (p *VectorPool) GetVectorBatch() []StepVector

func (*VectorPool) PutStepVector

func (p *VectorPool) PutStepVector(v StepVector)

func (*VectorPool) PutVectors

func (p *VectorPool) PutVectors(vector []StepVector)

func (*VectorPool) SetStepSize

func (p *VectorPool) SetStepSize(n int)

Jump to

Keyboard shortcuts

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