Open
Description
Prometheus has different label implementations. Its stringlabels
can help Loki avoid allocation in its pipeline. This issue tracks the effort to migrate to the new Prometheus labels.Labels
signature to enable support for stringlabels
.
A prototype is available at https://github.com/jeschkies/loki/tree/karsten/stringlabels
Note: labels.Labels
is not an interface. stringlabels
are enabled with a build tag.
Tests
-
./pkg/analytics
-
./pkg/compactor
-
./pkg/distributor
refactor(stringlabels): Support stringlabels distributor tests #17123 -
./pkg/indexgateway
-
./pkg/logqlanalyzer
-
./pkg/kafka
refactor(stringlabels): Support stringlabels distributor tests #17123 -
./pkg/ingester
-
./pkg/loghttp
-
./pkg/ruler
-
./pkg/runtime
-
./pkg/storage
-
./pkg/pattern
-
./pkg/querier
-
./pkg/engine
-
./pkg/logproto
-
./pkg/logqlmodel
-
./pkg/queue
-
./pkg/chunkenc
-
./pkg/dataobj
-
./pkg/logql
-
./pkg/push
Production Code
-
filter.FilterFunc
-
log.StreamPipeline
refactor(stringlabels): Support stringlabels in log.StreamPipeline #17216 -
logproto.FromLabelAdaptersToLabels