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.