Help us shape the future of Go! Take the 2026 Go Developer Survey

telemetry

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2026 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) Next

func (t *Operator) Next(ctx context.Context, buf []model.StepVector) (int, 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