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[otelcomponent.DataType]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 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"`
	// 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[otelcomponent.DataType]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"`
}
    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 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