diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index b923f6159c..ab00f46852 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -75,7 +75,6 @@ The following tip changes can be tested by building VictoriaMetrics components f * BUGFIX: [vmbackup](https://docs.victoriametrics.com/vmbackup.html): fix compatibility with Windows OS. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/70). * BUGFIX: [vmctl](https://docs.victoriametrics.com/vmctl.html): fix performance issue when migrating data from VictoriaMetrics according to [these docs](https://docs.victoriametrics.com/vmctl.html#migrating-data-from-victoriametrics). Add the ability to speed up the data migration via `--vm-native-disable-retries` command-line flag. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4092). * BUGFIX: [stream aggregation](https://docs.victoriametrics.com/stream-aggregation.html): fix bug with duplicated labels during stream aggregation via single-node VictoriaMetrics. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4277). -* BUGFIX: [relabeling](https://docs.victoriametrics.com/relabeling.html): properly validate labels input on Metric Relabel Debug page in [VMUI](https://docs.victoriametrics.com/#vmui). See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4284). ## [v1.90.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.90.0) diff --git a/lib/promrelabel/debug.go b/lib/promrelabel/debug.go index 41b4411712..956777d047 100644 --- a/lib/promrelabel/debug.go +++ b/lib/promrelabel/debug.go @@ -4,7 +4,6 @@ import ( "fmt" "io" - "github.com/VictoriaMetrics/VictoriaMetrics/app/vmselect/searchutils" "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" ) @@ -19,33 +18,20 @@ func WriteTargetRelabelDebug(w io.Writer, targetID, metric, relabelConfigs, form } func writeRelabelDebug(w io.Writer, isTargetRelabel bool, targetID, metric, relabelConfigs, format string, err error) { - targetURL := "" if metric == "" { - WriteRelabelDebugSteps(w, targetURL, targetID, format, nil, metric, relabelConfigs, err) - return + metric = "{}" } + targetURL := "" if err != nil { WriteRelabelDebugSteps(w, targetURL, targetID, format, nil, metric, relabelConfigs, err) return } - selectors, err := searchutils.ParseMetricSelector(metric) + labels, err := promutils.NewLabelsFromString(metric) if err != nil { err = fmt.Errorf("cannot parse metric: %s", err) WriteRelabelDebugSteps(w, targetURL, targetID, format, nil, metric, relabelConfigs, err) return } - - var labels promutils.Labels - for _, selector := range selectors { - key := string(selector.Key) - value := string(selector.Value) - if key == "" { - labels.Add("__name__", value) - continue - } - labels.Add(key, value) - } - pcs, err := ParseRelabelConfigsData([]byte(relabelConfigs)) if err != nil { err = fmt.Errorf("cannot parse relabel configs: %s", err) @@ -53,7 +39,7 @@ func writeRelabelDebug(w io.Writer, isTargetRelabel bool, targetID, metric, rela return } - dss, targetURL := newDebugRelabelSteps(pcs, &labels, isTargetRelabel) + dss, targetURL := newDebugRelabelSteps(pcs, labels, isTargetRelabel) WriteRelabelDebugSteps(w, targetURL, targetID, format, dss, metric, relabelConfigs, nil) }