Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
4d5ca6e
Accept byte slice isntead of string
jeschkies Jul 22, 2025
dd044a4
Make labels compile
jeschkies Jul 22, 2025
c1a1004
todo for string search
jeschkies Jul 22, 2025
1249c7d
Make most tests compile
jeschkies Jul 22, 2025
cd07a0e
Simplify columnar creation
jeschkies Jul 22, 2025
aa52859
Test columnar strings
jeschkies Jul 22, 2025
392b9e6
Test columnar labels
jeschkies Jul 22, 2025
cf2c492
Pass labels test
jeschkies Jul 22, 2025
2d24502
Pass parser tests
jeschkies Jul 22, 2025
9d54b28
Pass all but one pipeline test
jeschkies Jul 22, 2025
e596dd5
Fix keep labels
jeschkies Jul 22, 2025
b80a028
Reduce UnsortedLabels
jeschkies Jul 22, 2025
71930c6
Add benchmark
jeschkies Jul 23, 2025
23f92d4
Disable caching
jeschkies Jul 23, 2025
562a507
Reuse buffers
jeschkies Jul 23, 2025
aa5d042
Benchmark highcardinality logfmt
jeschkies Jul 25, 2025
f4527ea
Merge remote-tracking branch 'grafana/main' into karsten/parser-const…
jeschkies Jul 25, 2025
5da55cc
Fix logfmt labels
jeschkies Jul 28, 2025
b1e5ce2
Use unsafe
jeschkies Jul 29, 2025
8c163a0
Faster labels get
jeschkies Jul 29, 2025
6e94d75
Switch indexing
jeschkies Jul 29, 2025
06ccf48
Disable validation
jeschkies Jul 29, 2025
c0f5df5
Format code
jeschkies Aug 6, 2025
3a30d34
Merge remote-tracking branch 'grafana/main' into karsten/parser-const…
jeschkies Aug 19, 2025
2d0b7c0
Merge remote-tracking branch 'refs/remotes/origin/karsten/parser-cons…
jeschkies Aug 19, 2025
8b8d435
Sort labels
jeschkies Aug 19, 2025
5fdbdbc
Fix error label issue
jeschkies Aug 19, 2025
26832ae
Merge remote-tracking branch 'grafana/main' into karsten/parser-const…
jeschkies Aug 25, 2025
5c97a51
Merge remote-tracking branch 'grafana/main' into karsten/parser-const…
jeschkies Aug 29, 2025
9dc3ce6
Address feedback
jeschkies Sep 1, 2025
ca59bc4
Merge remote-tracking branch 'grafana/main' into karsten/parser-const…
jeschkies Sep 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pkg/logql/log/fmt.go
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ func (lf *LabelsFormatter) Process(ts int64, l []byte, lbs *LabelsBuilder) ([]by
if f.Rename {
v, _, ok := lbs.GetWithCategory(f.Value)
if ok {
lbs.Set(ParsedLabel, f.Name, v)
lbs.Set(ParsedLabel, unsafeGetBytes(f.Name), v)
lbs.Del(f.Value)
}
continue
Expand All @@ -428,7 +428,7 @@ func (lf *LabelsFormatter) Process(ts int64, l []byte, lbs *LabelsBuilder) ([]by
lbs.SetErrorDetails(err.Error())
continue
}
lbs.Set(ParsedLabel, f.Name, lf.buf.String())
lbs.Set(ParsedLabel, unsafeGetBytes(f.Name), lf.buf.Bytes())
}
return l, true
}
Expand Down
17 changes: 10 additions & 7 deletions pkg/logql/log/keep_labels.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,31 @@ func (kl *KeepLabels) Process(_ int64, line []byte, lbls *LabelsBuilder) ([]byte
return line, true
}

// TODO: Reuse buf?
for _, lb := range lbls.UnsortedLabels(nil) {
if isSpecialLabel(lb.Name) {
continue
del := make([]string, 0, 10)
lbls.Range(func(name, value []byte) {
if isSpecialLabel(unsafeGetString(name)) {
return
}

var keep bool
for _, keepLabel := range kl.labels {
if keepLabel.Matcher != nil && keepLabel.Matcher.Name == lb.Name && keepLabel.Matcher.Matches(lb.Value) {
if keepLabel.Matcher != nil && keepLabel.Matcher.Name == unsafeGetString(name) && keepLabel.Matcher.Matches(unsafeGetString(value)) {
keep = true
break
}

if keepLabel.Name == lb.Name {
if keepLabel.Name == unsafeGetString(name) {
keep = true
break
}
}

if !keep {
lbls.Del(lb.Name)
del = append(del, unsafeGetString(name))
}
})
for _, name := range del {
lbls.Del(name)
}

return line, true
Expand Down
1 change: 1 addition & 0 deletions pkg/logql/log/label_filter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"reflect"
"strings"
"testing"

"time"

"github.com/prometheus/prometheus/model/labels"
Expand Down
Loading
Loading