Documentation ¶
Overview ¶
Package tail_sampling provides an otelcol.processor.tail_sampling component.
Index ¶
- Variables
- type AndConfig
- type AndSubPolicyConfig
- type Arguments
- func (args Arguments) Convert() (otelcomponent.Config, error)
- func (args Arguments) DebugMetricsConfig() otelcolCfg.DebugMetricsArguments
- func (args Arguments) Exporters() map[pipeline.Signal]map[otelcomponent.ID]otelcomponent.Component
- func (args Arguments) Extensions() map[otelcomponent.ID]otelextension.Extension
- func (args Arguments) NextConsumers() *otelcol.ConsumerArguments
- func (args *Arguments) SetToDefault()
- func (args *Arguments) Validate() error
- type BooleanAttributeConfig
- type CompositeConfig
- type CompositeSubPolicyConfig
- type DecisionCacheConfig
- type ErrorMode
- type LatencyConfig
- type NumericAttributeConfig
- type OttlConditionConfig
- type PolicyConfig
- type ProbabilisticConfig
- type RateAllocationConfig
- type RateLimitingConfig
- type SharedPolicyConfig
- type SpanCountConfig
- type StatusCodeConfig
- type StringAttributeConfig
- type TraceStateConfig
Constants ¶
This section is empty.
Variables ¶
var DefaultArguments = Arguments{ DecisionWait: 30 * time.Second, NumTraces: 50000, ExpectedNewTracesPerSec: 0, }
DefaultArguments holds default settings for Arguments.
Functions ¶
This section is empty.
Types ¶
type AndConfig ¶
type AndConfig struct {
SubPolicyConfig []AndSubPolicyConfig `alloy:"and_sub_policy,block"`
}
type AndSubPolicyConfig ¶
type AndSubPolicyConfig struct {
}AndSubPolicyConfig holds the common configuration to all policies under and policy.
func (AndSubPolicyConfig) Convert ¶
func (andSubPolicyConfig AndSubPolicyConfig) Convert() tsp.AndSubPolicyCfg
type Arguments ¶
type Arguments struct { PolicyCfgs []PolicyConfig `alloy:"policy,block"` DecisionWait time.Duration `alloy:"decision_wait,attr,optional"` NumTraces uint64 `alloy:"num_traces,attr,optional"` ExpectedNewTracesPerSec uint64 `alloy:"expected_new_traces_per_sec,attr,optional"` DecisionCache DecisionCacheConfig `alloy:"decision_cache,attr,optional"` // Output configures where to send processed data. Required. Output *otelcol.ConsumerArguments `alloy:"output,block"` // DebugMetrics configures component internal metrics. Optional. DebugMetrics otelcolCfg.DebugMetricsArguments `alloy:"debug_metrics,block,optional"` }
Arguments configures the otelcol.processor.tail_sampling component.
func (Arguments) Convert ¶
func (args Arguments) Convert() (otelcomponent.Config, error)
Convert implements processor.Arguments.
func (Arguments) DebugMetricsConfig ¶ added in v1.2.0
func (args Arguments) DebugMetricsConfig() otelcolCfg.DebugMetricsArguments
DebugMetricsConfig implements processor.Arguments.
func (Arguments) Exporters ¶
func (args Arguments) Exporters() map[pipeline.Signal]map[otelcomponent.ID]otelcomponent.Component
Exporters implements processor.Arguments.
func (Arguments) Extensions ¶
func (args Arguments) Extensions() map[otelcomponent.ID]otelextension.Extension
Extensions implements processor.Arguments.
func (Arguments) NextConsumers ¶
func (args Arguments) NextConsumers() *otelcol.ConsumerArguments
NextConsumers implements processor.Arguments.
func (*Arguments) SetToDefault ¶
func (args *Arguments) SetToDefault()
SetToDefault implements syntax.Defaulter.
type BooleanAttributeConfig ¶
type BooleanAttributeConfig struct { // Tag that the filter is going to be matching against. Key string `alloy:"key,attr"` // Value indicate the bool value, either true or false to use when matching against attribute values. // BooleanAttribute Policy will apply exact value match on Value Value bool `alloy:"value,attr"` // InvertMatch indicates that values must not match against attribute values. // If InvertMatch is true and Values is equal to 'true', all other values will be sampled except 'true'. // Also, if the specified Key does not match any resource or span attributes, data will be sampled. InvertMatch bool `alloy:"invert_match,attr,optional"` }
BooleanAttributeConfig holds the configurable settings to create a boolean attribute filter sampling policy evaluator.
func (BooleanAttributeConfig) Convert ¶
func (booleanAttributeConfig BooleanAttributeConfig) Convert() tsp.BooleanAttributeCfg
type CompositeConfig ¶
type CompositeConfig struct { MaxTotalSpansPerSecond int64 `alloy:"max_total_spans_per_second,attr"` PolicyOrder []string `alloy:"policy_order,attr"` SubPolicyCfg []CompositeSubPolicyConfig `alloy:"composite_sub_policy,block,optional"` RateAllocation []RateAllocationConfig `alloy:"rate_allocation,block,optional"` }
CompositeConfig holds the configurable settings to create a composite sampling policy evaluator.
func (CompositeConfig) Convert ¶
func (compositeConfig CompositeConfig) Convert() tsp.CompositeCfg
type CompositeSubPolicyConfig ¶
type CompositeSubPolicyConfig struct { // Configs for and policy evaluator. AndConfig AndConfig `alloy:"and,block,optional"` }
CompositeSubPolicyConfig holds the common configuration to all policies under composite policy.
func (CompositeSubPolicyConfig) Convert ¶
func (compositeSubPolicyConfig CompositeSubPolicyConfig) Convert() tsp.CompositeSubPolicyCfg
type DecisionCacheConfig ¶ added in v1.3.0
type DecisionCacheConfig struct { // SampledCacheSize specifies the size of the cache that holds the sampled trace IDs // This value will be the maximum amount of trace IDs that the cache can hold before overwriting previous IDs. // For effective use, this value should be at least an order of magnitude higher than Arguments.NumTraces. // If left as default 0, a no-op DecisionCache will be used. SampledCacheSize int `alloy:"sampled_cache_size,attr,optional"` }
func (DecisionCacheConfig) Convert ¶ added in v1.3.0
func (decisionCacheConfig DecisionCacheConfig) Convert() tsp.DecisionCacheConfig
type ErrorMode ¶
type ErrorMode string
The error mode determines whether to ignore or propagate errors with evaluating OTTL conditions.
const ( // "ignore" ignores errors returned by conditions, logs them, and continues on to the next condition. ErrorModeIgnore ErrorMode = "ignore" // "silent" ignores errors returned by conditions, does not log them, and continues on to the next condition. ErrorModeSilent ErrorMode = "silent" // "propagate" causes the evaluation to be false and an error is returned. The data is dropped. ErrorModePropagate ErrorMode = "propagate" )
func (*ErrorMode) UnmarshalText ¶
type LatencyConfig ¶
type LatencyConfig struct { // ThresholdMs in milliseconds. ThresholdMs int64 `alloy:"threshold_ms,attr"` // Upper bound in milliseconds. UpperThresholdmsMs int64 `alloy:"upper_threshold_ms,attr,optional"` }
LatencyConfig holds the configurable settings to create a latency filter sampling policy evaluator
func (LatencyConfig) Convert ¶
func (latencyConfig LatencyConfig) Convert() tsp.LatencyCfg
type NumericAttributeConfig ¶
type NumericAttributeConfig struct { // Tag that the filter is going to be matching against. Key string `alloy:"key,attr"` // MinValue is the minimum value of the attribute to be considered a match. MinValue int64 `alloy:"min_value,attr"` // MaxValue is the maximum value of the attribute to be considered a match. MaxValue int64 `alloy:"max_value,attr"` // InvertMatch indicates that values must not match against attribute values. // If InvertMatch is true and Values is equal to '123', all other values will be sampled except '123'. // Also, if the specified Key does not match any resource or span attributes, data will be sampled. InvertMatch bool `alloy:"invert_match,attr,optional"` }
NumericAttributeConfig holds the configurable settings to create a numeric attribute filter sampling policy evaluator.
func (NumericAttributeConfig) Convert ¶
func (numericAttributeConfig NumericAttributeConfig) Convert() tsp.NumericAttributeCfg
type OttlConditionConfig ¶
type OttlConditionConfig struct { ErrorMode ErrorMode `alloy:"error_mode,attr"` SpanConditions []string `alloy:"span,attr,optional"` SpanEventConditions []string `alloy:"spanevent,attr,optional"` }
OttlConditionConfig holds the configurable setting to create a OTTL condition filter sampling policy evaluator.
func (OttlConditionConfig) Convert ¶
func (ottlConditionConfig OttlConditionConfig) Convert() tsp.OTTLConditionCfg
type PolicyConfig ¶
type PolicyConfig struct { // Configs for defining composite policy CompositeConfig CompositeConfig `alloy:"composite,block,optional"` // Configs for defining and policy AndConfig AndConfig `alloy:"and,block,optional"` }
func (PolicyConfig) Convert ¶
func (policyConfig PolicyConfig) Convert() tsp.PolicyCfg
type ProbabilisticConfig ¶
type ProbabilisticConfig struct { // HashSalt allows one to configure the hashing salts. This is important in scenarios where multiple layers of collectors // have different sampling rates: if they use the same salt all passing one layer may pass the other even if they have // different sampling rates, configuring different salts avoids that. HashSalt string `alloy:"hash_salt,attr,optional"` // SamplingPercentage is the percentage rate at which traces are going to be sampled. Defaults to zero, i.e.: no sample. // Values greater or equal 100 are treated as "sample all traces". SamplingPercentage float64 `alloy:"sampling_percentage,attr"` }
ProbabilisticConfig holds the configurable settings to create a probabilistic sampling policy evaluator.
func (ProbabilisticConfig) Convert ¶
func (probabilisticConfig ProbabilisticConfig) Convert() tsp.ProbabilisticCfg
type RateAllocationConfig ¶
type RateAllocationConfig struct { Policy string `alloy:"policy,attr"` Percent int64 `alloy:"percent,attr"` }
RateAllocationConfig used within composite policy
func (RateAllocationConfig) Convert ¶
func (rateAllocationConfig RateAllocationConfig) Convert() tsp.RateAllocationCfg
type RateLimitingConfig ¶
type RateLimitingConfig struct { // SpansPerSecond sets the limit on the maximum nuber of spans that can be processed each second. SpansPerSecond int64 `alloy:"spans_per_second,attr"` }
RateLimitingConfig holds the configurable settings to create a rate limiting sampling policy evaluator.
func (RateLimitingConfig) Convert ¶
func (rateLimitingConfig RateLimitingConfig) Convert() tsp.RateLimitingCfg
type SharedPolicyConfig ¶
type SharedPolicyConfig struct {}
This cannot currently have a Convert() because tsp.sharedPolicyCfg isn't public
type SpanCountConfig ¶
type SpanCountConfig struct { // Minimum number of spans in a Trace MinSpans int32 `alloy:"min_spans,attr"` MaxSpans int32 `alloy:"max_spans,attr,optional"` }
SpanCountConfig holds the configurable settings to create a Span Count filter sampling policy sampling policy evaluator
func (SpanCountConfig) Convert ¶
func (spanCountConfig SpanCountConfig) Convert() tsp.SpanCountCfg
type StatusCodeConfig ¶
type StatusCodeConfig struct {
StatusCodes []string `alloy:"status_codes,attr"`
}
StatusCodeConfig holds the configurable settings to create a status code filter sampling policy evaluator.
func (StatusCodeConfig) Convert ¶
func (statusCodeConfig StatusCodeConfig) Convert() tsp.StatusCodeCfg
type StringAttributeConfig ¶
type StringAttributeConfig struct { // Tag that the filter is going to be matching against. Key string `alloy:"key,attr"` // Values indicate the set of values or regular expressions to use when matching against attribute values. // StringAttribute Policy will apply exact value match on Values unless EnabledRegexMatching is true. Values []string `alloy:"values,attr"` // EnabledRegexMatching determines whether match attribute values by regexp string. EnabledRegexMatching bool `alloy:"enabled_regex_matching,attr,optional"` // CacheMaxSize is the maximum number of attribute entries of LRU Cache that stores the matched result // from the regular expressions defined in Values. // CacheMaxSize will not be used if EnabledRegexMatching is set to false. CacheMaxSize int `alloy:"cache_max_size,attr,optional"` // InvertMatch indicates that values or regular expressions must not match against attribute values. // If InvertMatch is true and Values is equal to 'acme', all other values will be sampled except 'acme'. // Also, if the specified Key does not match on any resource or span attributes, data will be sampled. InvertMatch bool `alloy:"invert_match,attr,optional"` }
StringAttributeConfig holds the configurable settings to create a string attribute filter sampling policy evaluator.
func (StringAttributeConfig) Convert ¶
func (stringAttributeConfig StringAttributeConfig) Convert() tsp.StringAttributeCfg
type TraceStateConfig ¶
type TraceStateConfig struct { // Tag that the filter is going to be matching against. Key string `alloy:"key,attr"` // Values indicate the set of values to use when matching against trace_state values. Values []string `alloy:"values,attr"` }
func (TraceStateConfig) Convert ¶
func (traceStateConfig TraceStateConfig) Convert() tsp.TraceStateCfg