diff --git a/pkg/logql/log/fmt.go b/pkg/logql/log/fmt.go index c69aa3d40bb0..74eb0262d39d 100644 --- a/pkg/logql/log/fmt.go +++ b/pkg/logql/log/fmt.go @@ -391,9 +391,9 @@ func (lf *LabelsFormatter) Process(ts int64, l []byte, lbs *LabelsBuilder) ([]by defer smp.Put(m) for _, f := range lf.formats { if f.Rename { - v, category, ok := lbs.GetWithCategory(f.Value) + v, _, ok := lbs.GetWithCategory(f.Value) if ok { - lbs.Set(category, f.Name, v) + lbs.Set(ParsedLabel, f.Name, v) lbs.Del(f.Value) } continue diff --git a/pkg/logql/log/fmt_test.go b/pkg/logql/log/fmt_test.go index 2028d2e00bf8..9cb449a7bfdd 100644 --- a/pkg/logql/log/fmt_test.go +++ b/pkg/logql/log/fmt_test.go @@ -515,6 +515,22 @@ func Test_labelsFormatter_Format(t *testing.T) { in labels.Labels want labels.Labels }{ + { + "rename label", + mustNewLabelsFormatter([]LabelFmt{ + NewRenameLabelFmt("baz", "foo"), + }), + labels.FromStrings("foo", "blip", "bar", "blop"), + labels.FromStrings("bar", "blop", "baz", "blip"), + }, + { + "rename and overwrite existing label", + mustNewLabelsFormatter([]LabelFmt{ + NewRenameLabelFmt("bar", "foo"), + }), + labels.FromStrings("foo", "blip", "bar", "blop"), + labels.FromStrings("bar", "blip"), + }, { "combined with template", mustNewLabelsFormatter([]LabelFmt{NewTemplateLabelFmt("foo", "{{.foo}} and {{.bar}}")}),