samplingstrategy

package
v1.59.0 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2024 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Aggregator

type Aggregator interface {
	// Close() from io.Closer stops the aggregator from aggregating throughput.
	io.Closer

	// The HandleRootSpan function processes a span, checking if it's a root span.
	// If it is, it extracts sampler parameters, then calls RecordThroughput.
	HandleRootSpan(span *model.Span, logger *zap.Logger)

	// RecordThroughput records throughput for an operation for aggregation.
	RecordThroughput(service, operation string, samplerType model.SamplerType, probability float64)

	// Start starts aggregating operation throughput.
	Start()
}

Aggregator defines an interface used to aggregate operation throughput.

type Factory

type Factory interface {
	// Initialize performs internal initialization of the factory.
	Initialize(metricsFactory metrics.Factory, ssFactory storage.SamplingStoreFactory, logger *zap.Logger) error

	// CreateStrategyProvider initializes and returns Provider and optionallty Aggregator.
	CreateStrategyProvider() (Provider, Aggregator, error)

	// Close closes the factory
	Close() error
}

Factory defines an interface for a factory that can create implementations of different sampling strategy components. Implementations are also encouraged to implement plugin.Configurable interface.

See also

plugin.Configurable

type Provider

type Provider interface {
	// Close() from io.Closer  stops the processor from calculating probabilities.
	io.Closer

	// GetSamplingStrategy retrieves the sampling strategy for the specified service.
	GetSamplingStrategy(ctx context.Context, serviceName string) (*api_v2.SamplingStrategyResponse, error)
}

Provider keeps track of service specific sampling strategies.

Jump to

Keyboard shortcuts

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