promrelabel

package
v1.87.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2023 License: Apache-2.0 Imports: 19 Imported by: 5

Documentation

Index

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 RelabelDebugSteps(isTargetRelabel bool, targetID string, dss []DebugStep, metric, relabelConfigs string, err error) string

func SanitizeName added in v1.82.0

func SanitizeName(name string) string

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 StreamRelabelDebugSteps(qw422016 *qt422016.Writer, isTargetRelabel bool, targetID string, dss []DebugStep, metric, relabelConfigs string, err error)

func WriteMetricRelabelDebug added in v1.86.0

func WriteMetricRelabelDebug(w io.Writer, targetID, metric, relabelConfigs string, err error)

WriteMetricRelabelDebug writes /metric-relabel-debug page to w with the corresponding args.

func WriteRelabelDebugSteps added in v1.86.0

func WriteRelabelDebugSteps(qq422016 qtio422016.Writer, isTargetRelabel bool, targetID string, dss []DebugStep, metric, relabelConfigs string, err error)

func WriteTargetRelabelDebug added in v1.86.0

func WriteTargetRelabelDebug(w io.Writer, targetID, metric, relabelConfigs string, err error)

WriteTargetRelabelDebug writes /target-relabel-debug page to w with the corresponding args.

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

func (DebugStep) String added in v1.85.0

func (ds DebugStep) String() string

String returns human-readable representation for ds

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL