Documentation ¶
Index ¶
- func CleanLabels(labels []prompbmarshal.Label)
- func FinalizeLabels(dst, src []prompbmarshal.Label) []prompbmarshal.Label
- func GetLabelByName(labels []prompbmarshal.Label, name string) *prompbmarshal.Label
- func LabelsToString(labels []prompbmarshal.Label) string
- func RelabelDebugSteps(isTargetRelabel bool, targetID string, dss []DebugStep, ...) string
- func SanitizeName(name string) string
- func SortLabels(labels []prompbmarshal.Label)
- func StreamRelabelDebugSteps(qw422016 *qt422016.Writer, isTargetRelabel bool, targetID string, ...)
- func WriteMetricRelabelDebug(w io.Writer, targetID, metric, relabelConfigs string, err error)
- func WriteRelabelDebugSteps(qq422016 qtio422016.Writer, isTargetRelabel bool, targetID string, ...)
- func WriteTargetRelabelDebug(w io.Writer, targetID, metric, relabelConfigs string, err error)
- type DebugStep
- type IfExpression
- func (ie *IfExpression) MarshalJSON() ([]byte, error)
- func (ie *IfExpression) MarshalYAML() (interface{}, error)
- func (ie *IfExpression) Match(labels []prompbmarshal.Label) bool
- func (ie *IfExpression) Parse(s string) error
- func (ie *IfExpression) String() string
- func (ie *IfExpression) UnmarshalJSON(data []byte) error
- func (ie *IfExpression) UnmarshalYAML(f func(interface{}) error) error
- type MultiLineRegex
- type ParsedConfigs
- type RelabelConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CleanLabels ¶ added in v1.46.0
func CleanLabels(labels []prompbmarshal.Label)
CleanLabels sets label.Name and label.Value to an empty string for all the labels.
This should help GC cleaning up label.Name and label.Value strings.
func FinalizeLabels ¶
func FinalizeLabels(dst, src []prompbmarshal.Label) []prompbmarshal.Label
FinalizeLabels removes labels with "__" in the beginning (except of "__name__").
func GetLabelByName ¶
func GetLabelByName(labels []prompbmarshal.Label, name string) *prompbmarshal.Label
GetLabelByName returns label with the given name from labels.
func LabelsToString ¶ added in v1.85.0
func LabelsToString(labels []prompbmarshal.Label) string
LabelsToString returns Prometheus string representation for the given labels.
Labels in the returned string are sorted by name, while the __name__ label is put in front of {} labels.
func RelabelDebugSteps ¶ added in v1.86.0
func SanitizeName ¶ added in v1.82.0
SanitizeName replaces unsupported by Prometheus chars in metric names and label names with _.
See https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels
func SortLabels ¶
func SortLabels(labels []prompbmarshal.Label)
SortLabels sorts labels in alphabetical order.
func StreamRelabelDebugSteps ¶ added in v1.86.0
func WriteMetricRelabelDebug ¶ added in v1.86.0
WriteMetricRelabelDebug writes /metric-relabel-debug page to w with the corresponding args.
func WriteRelabelDebugSteps ¶ added in v1.86.0
Types ¶
type DebugStep ¶ added in v1.85.0
type DebugStep struct { // Rule contains string representation of the rule step Rule string // In contains the input labels before the exeuction of the rule step In string // Out contains the output labels after the execution of the rule step Out string }
DebugStep contains debug information about a single relabeling rule step
type IfExpression ¶ added in v1.74.0
type IfExpression struct {
// contains filtered or unexported fields
}
IfExpression represents `if` expression at RelabelConfig.
The `if` expression can contain arbitrary PromQL-like label filters such as `metric_name{filters...}`
func (*IfExpression) MarshalJSON ¶ added in v1.77.1
func (ie *IfExpression) MarshalJSON() ([]byte, error)
MarshalJSON marshals ie to JSON.
func (*IfExpression) MarshalYAML ¶ added in v1.74.0
func (ie *IfExpression) MarshalYAML() (interface{}, error)
MarshalYAML marshals ie to YAML.
func (*IfExpression) Match ¶ added in v1.74.0
func (ie *IfExpression) Match(labels []prompbmarshal.Label) bool
Match returns true if ie matches the given labels.
func (*IfExpression) Parse ¶ added in v1.77.0
func (ie *IfExpression) Parse(s string) error
Parse parses `if` expression from s and stores it to ie.
func (*IfExpression) String ¶ added in v1.78.0
func (ie *IfExpression) String() string
String returns string representation of ie.
func (*IfExpression) UnmarshalJSON ¶ added in v1.77.1
func (ie *IfExpression) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals ie from JSON data.
func (*IfExpression) UnmarshalYAML ¶ added in v1.74.0
func (ie *IfExpression) UnmarshalYAML(f func(interface{}) error) error
UnmarshalYAML unmarshals ie from YAML passed to f.
type MultiLineRegex ¶ added in v1.66.0
type MultiLineRegex struct {
S string
}
MultiLineRegex contains a regex, which can be split into multiple lines.
These lines are joined with "|" then. For example:
regex: - foo - bar
is equivalent to:
regex: "foo|bar"
func (*MultiLineRegex) MarshalYAML ¶ added in v1.66.0
func (mlr *MultiLineRegex) MarshalYAML() (interface{}, error)
MarshalYAML marshals mlr to YAML.
func (*MultiLineRegex) UnmarshalYAML ¶ added in v1.66.0
func (mlr *MultiLineRegex) UnmarshalYAML(f func(interface{}) error) error
UnmarshalYAML unmarshals mlr from YAML passed to f.
type ParsedConfigs ¶ added in v1.55.0
type ParsedConfigs struct {
// contains filtered or unexported fields
}
ParsedConfigs represents parsed relabel configs.
func LoadRelabelConfigs ¶
func LoadRelabelConfigs(path string) (*ParsedConfigs, error)
LoadRelabelConfigs loads relabel configs from the given path.
func ParseRelabelConfigs ¶
func ParseRelabelConfigs(rcs []RelabelConfig) (*ParsedConfigs, error)
ParseRelabelConfigs parses rcs to dst.
func ParseRelabelConfigsData ¶ added in v1.55.0
func ParseRelabelConfigsData(data []byte) (*ParsedConfigs, error)
ParseRelabelConfigsData parses relabel configs from the given data.
func (*ParsedConfigs) Apply ¶ added in v1.55.0
func (pcs *ParsedConfigs) Apply(labels []prompbmarshal.Label, labelsOffset int) []prompbmarshal.Label
Apply applies pcs to labels starting from the labelsOffset.
func (*ParsedConfigs) ApplyDebug ¶ added in v1.85.0
func (pcs *ParsedConfigs) ApplyDebug(labels []prompbmarshal.Label) ([]prompbmarshal.Label, []DebugStep)
ApplyDebug applies pcs to labels in debug mode.
It returns DebugStep list - one entry per each applied relabeling step.
func (*ParsedConfigs) Len ¶ added in v1.55.0
func (pcs *ParsedConfigs) Len() int
Len returns the number of relabel configs in pcs.
func (*ParsedConfigs) String ¶ added in v1.55.0
func (pcs *ParsedConfigs) String() string
String returns human-readabale representation for pcs.
type RelabelConfig ¶
type RelabelConfig struct { If *IfExpression `yaml:"if,omitempty"` Action string `yaml:"action,omitempty"` SourceLabels []string `yaml:"source_labels,flow,omitempty"` Separator *string `yaml:"separator,omitempty"` TargetLabel string `yaml:"target_label,omitempty"` Regex *MultiLineRegex `yaml:"regex,omitempty"` Modulus uint64 `yaml:"modulus,omitempty"` Replacement *string `yaml:"replacement,omitempty"` // Match is used together with Labels for `action: graphite`. For example: // - action: graphite // match: 'foo.*.*.bar' // labels: // job: '$1' // instance: '${2}:8080' Match string `yaml:"match,omitempty"` // Labels is used together with Match for `action: graphite`. For example: // - action: graphite // match: 'foo.*.*.bar' // labels: // job: '$1' // instance: '${2}:8080' Labels map[string]string `yaml:"labels,omitempty"` }
RelabelConfig represents relabel config.
See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config