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)
// 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 storage.Configurable interface.
See also ¶
storage.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.
Click to show internal directories.
Click to hide internal directories.