Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFactory ¶
func NewFactory() component.ProcessorFactory
NewFactory returns a new factory for the Tail Sampling processor.
func SamplingProcessorMetricViews ¶
func SamplingProcessorMetricViews(level configtelemetry.Level) []*view.View
SamplingProcessorMetricViews return the metrics views according to given telemetry level.
Types ¶
type Config ¶
type Config struct {
*config.ProcessorSettings `mapstructure:"-"`
// DecisionWait is the desired wait time from the arrival of the first span of
// trace until the decision about sampling it or not is evaluated.
DecisionWait time.Duration `mapstructure:"decision_wait"`
// NumTraces is the number of traces kept on memory. Typically most of the data
// of a trace is released after a sampling decision is taken.
NumTraces uint64 `mapstructure:"num_traces"`
// ExpectedNewTracesPerSec sets the expected number of new traces sending to the tail sampling processor
// per second. This helps with allocating data structures with closer to actual usage size.
ExpectedNewTracesPerSec uint64 `mapstructure:"expected_new_traces_per_sec"`
// PolicyCfgs sets the tail-based sampling policy which makes a sampling decision
// for a given trace when requested.
PolicyCfgs []PolicyCfg `mapstructure:"policies"`
}
Config holds the configuration for tail-based sampling.
type NumericAttributeCfg ¶
type NumericAttributeCfg struct {
// Tag that the filter is going to be matching against.
Key string `mapstructure:"key"`
// MinValue is the minimum value of the attribute to be considered a match.
MinValue int64 `mapstructure:"min_value"`
// MaxValue is the maximum value of the attribute to be considered a match.
MaxValue int64 `mapstructure:"max_value"`
}
NumericAttributeCfg holds the configurable settings to create a numeric attribute filter sampling policy evaluator.
type Policy ¶
type Policy struct {
// Name used to identify this policy instance.
Name string
// Evaluator that decides if a trace is sampled or not by this policy instance.
Evaluator sampling.PolicyEvaluator
// contains filtered or unexported fields
}
Policy combines a sampling policy evaluator with the destinations to be used for that policy.
type PolicyCfg ¶
type PolicyCfg struct {
// Name given to the instance of the policy to make easy to identify it in metrics and logs.
Name string `mapstructure:"name"`
// Type of the policy this will be used to match the proper configuration of the policy.
Type PolicyType `mapstructure:"type"`
// Configs for numeric attribute filter sampling policy evaluator.
NumericAttributeCfg NumericAttributeCfg `mapstructure:"numeric_attribute"`
// Configs for string attribute filter sampling policy evaluator.
StringAttributeCfg StringAttributeCfg `mapstructure:"string_attribute"`
// Configs for rate limiting filter sampling policy evaluator.
RateLimitingCfg RateLimitingCfg `mapstructure:"rate_limiting"`
}
PolicyCfg holds the common configuration to all policies.
type PolicyType ¶
type PolicyType string
PolicyType indicates the type of sampling policy.
const ( // AlwaysSample samples all traces, typically used for debugging. AlwaysSample PolicyType = "always_sample" // NumericAttribute sample traces that have a given numeric attribute in a specified // range, e.g.: attribute "http.status_code" >= 399 and <= 999. NumericAttribute PolicyType = "numeric_attribute" // StringAttribute sample traces that a attribute, of type string, matching // one of the listed values. StringAttribute PolicyType = "string_attribute" // RateLimiting allows all traces until the specified limits are satisfied. RateLimiting PolicyType = "rate_limiting" )
type RateLimitingCfg ¶
type RateLimitingCfg struct {
// SpansPerSecond sets the limit on the maximum nuber of spans that can be processed each second.
SpansPerSecond int64 `mapstructure:"spans_per_second"`
}
RateLimitingCfg holds the configurable settings to create a rate limiting sampling policy evaluator.
type StringAttributeCfg ¶
type StringAttributeCfg struct {
// Tag that the filter is going to be matching against.
Key string `mapstructure:"key"`
// Values is the set of attribute values that if any is equal to the actual attribute value to be considered a match.
Values []string `mapstructure:"values"`
}
StringAttributeCfg holds the configurable settings to create a string attribute filter sampling policy evaluator.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package idbatcher defines a pipeline of fixed size in which the elements are batches of ids.
|
Package idbatcher defines a pipeline of fixed size in which the elements are batches of ids. |
|
Package sampling contains the interfaces and data types used to implement the various sampling policies.
|
Package sampling contains the interfaces and data types used to implement the various sampling policies. |