telemetry

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CalculateHistogramSampleCount

func CalculateHistogramSampleCount(h *histogram.FloatHistogram) int

CalculateHistogramSampleCount returns the size of the FloatHistogram compared to the size of a Float. The total size is calculated considering the histogram timestamp (p.T - 8 bytes), and then a number of bytes in the histogram. This sum is divided by 16, as samples are 16 bytes. See: https://github.com/prometheus/prometheus/blob/2bf6f4c9dcbb1ad2e8fef70c6a48d8fc44a7f57c/promql/value.go#L178

func NewOperator

func NewOperator(telemetry OperatorTelemetry, inner model.VectorOperator) model.VectorOperator

func StepTrackingInterval

func StepTrackingInterval(step time.Duration) int64

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) AddNextExecutionTime

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

func (*NoopTelemetry) AddSeriesExecutionTime

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

func (*NoopTelemetry) ExecutionTimeTaken

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

func (*NoopTelemetry) IncrementSamplesAtTimestamp

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

func (*NoopTelemetry) LogicalNode

func (tm *NoopTelemetry) LogicalNode() logicalplan.Node

func (*NoopTelemetry) MaxSeriesCount

func (tm *NoopTelemetry) MaxSeriesCount() int

func (*NoopTelemetry) NextExecutionTime

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

func (*NoopTelemetry) Samples

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

func (*NoopTelemetry) SeriesExecutionTime

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

func (*NoopTelemetry) SetMaxSeriesCount

func (tm *NoopTelemetry) SetMaxSeriesCount(_ int)

func (*NoopTelemetry) UpdatePeak

func (tm *NoopTelemetry) UpdatePeak(_ int)

type ObservableVectorOperator

type ObservableVectorOperator interface {
	model.VectorOperator
	OperatorTelemetry
}

type Operator

type Operator struct {
	OperatorTelemetry
	// contains filtered or unexported fields
}

Operator wraps other inner operator to track its telemetry.

func (*Operator) Explain

func (t *Operator) Explain() []model.VectorOperator

func (*Operator) GetPool

func (t *Operator) GetPool() *model.VectorPool

func (*Operator) Next

func (t *Operator) Next(ctx context.Context) ([]model.StepVector, error)

func (*Operator) Series

func (t *Operator) Series(ctx context.Context) ([]labels.Labels, error)

func (*Operator) String

func (t *Operator) String() string

type OperatorTelemetry

type OperatorTelemetry interface {
	fmt.Stringer

	MaxSeriesCount() int
	SetMaxSeriesCount(count int)
	ExecutionTimeTaken() time.Duration
	AddSeriesExecutionTime(time.Duration)
	SeriesExecutionTime() time.Duration
	AddNextExecutionTime(time.Duration)
	NextExecutionTime() time.Duration
	IncrementSamplesAtTimestamp(samples int, t int64)
	Samples() *stats.QuerySamples
	LogicalNode() logicalplan.Node
	UpdatePeak(count int)
}

func NewStepInvariantTelemetry

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

func NewSubqueryTelemetry

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

func NewTelemetry

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

type TrackedTelemetry

type TrackedTelemetry struct {
	fmt.Stringer

	Series        int
	ExecutionTime time.Duration
	SeriesTime    time.Duration
	NextTime      time.Duration
	LoadedSamples *stats.QuerySamples
	// contains filtered or unexported fields
}

func NewTrackedTelemetry

func NewTrackedTelemetry(operator fmt.Stringer, opts *query.Options, logicalPlanNode logicalplan.Node) *TrackedTelemetry

func (*TrackedTelemetry) AddExecutionTimeTaken

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

func (*TrackedTelemetry) AddNextExecutionTime

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

func (*TrackedTelemetry) AddSeriesExecutionTime

func (ti *TrackedTelemetry) AddSeriesExecutionTime(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) LogicalNode

func (ti *TrackedTelemetry) LogicalNode() logicalplan.Node

func (*TrackedTelemetry) MaxSeriesCount

func (ti *TrackedTelemetry) MaxSeriesCount() int

func (*TrackedTelemetry) NextExecutionTime

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

func (*TrackedTelemetry) Samples

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

func (*TrackedTelemetry) SeriesExecutionTime

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

func (*TrackedTelemetry) SetMaxSeriesCount

func (ti *TrackedTelemetry) SetMaxSeriesCount(count int)

func (*TrackedTelemetry) UpdatePeak

func (ti *TrackedTelemetry) UpdatePeak(count int)

Jump to

Keyboard shortcuts

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