Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package relabel provides label manipulation for Pyroscope profiles.
Label Handling: The component handles two types of label representations: - labels.Labels ([]Label): Used by Pyroscope and relabeling logic - model.LabelSet (map[string]string): Used for efficient fingerprinting and cache lookups
Cache Implementation: The cache uses model.LabelSet's fingerprinting to store label sets efficiently. Each cache entry contains both the original and relabeled labels to handle collisions and avoid recomputing relabeling rules.
Index ¶
- Variables
 - type Arguments
 - type Component
 - func (c *Component) Append(ctx context.Context, lbls labels.Labels, samples []*pyroscope.RawSample) error
 - func (c *Component) AppendIngest(ctx context.Context, profile *pyroscope.IncomingProfile) error
 - func (c *Component) Appender() pyroscope.Appender
 - func (c *Component) Run(ctx context.Context) error
 - func (c *Component) Update(args component.Arguments) error
 
- type Exports
 
Constants ¶
This section is empty.
Variables ¶
var DefaultArguments = Arguments{
	MaxCacheSize: 10_000,
}
    DefaultArguments provides the default arguments for the pyroscope.relabel component.
Functions ¶
This section is empty.
Types ¶
type Arguments ¶
type Arguments struct {
	// Where the relabeled metrics should be forwarded to.
	ForwardTo []pyroscope.Appendable `alloy:"forward_to,attr"`
	// The relabelling rules to apply to each log entry before it's forwarded.
	RelabelConfigs []*alloy_relabel.Config `alloy:"rule,block,optional"`
	// The maximum number of items to hold in the component's LRU cache.
	MaxCacheSize int `alloy:"max_cache_size,attr,optional"`
}
    func (*Arguments) SetToDefault ¶
func (a *Arguments) SetToDefault()
SetToDefault implements syntax.Defaulter.
type Component ¶
type Component struct {
	// contains filtered or unexported fields
}
    Component implements the pyroscope.relabel component.
func (*Component) AppendIngest ¶
type Exports ¶
type Exports struct {
	Receiver pyroscope.Appendable `alloy:"receiver,attr"`
	Rules    alloy_relabel.Rules  `alloy:"rules,attr"`
}
    Exports holds values which are exported by the pyroscope.relabel component.