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
refactor(stringlabels): Support stringlabels in filter.Func #17233 -
log.StreamPipeline
refactor(stringlabels): Support stringlabels in log.StreamPipeline #17216 -
logproto.FromLabelAdaptersToLabels
-
./client
-
./pkg/querier
refactor(stringlabels): Support stringlabels in querier #17238 -
./pkg/ingester
refactor(stringlabels): Support stringlabels in ingester #17243 -
./pkg/storage
-
./pkg/logql
-
./pkg/chunkenc
refactor(stringlabels): Support stringlabels in chunkenc #17263