mirror of https://github.com/grafana/loki
Tag:
Branch:
Tree:
0bc38e5775
2005.12.08-limits
2025.08.04_metricsQuery
add-cleanup-branches-workflow
add-fallback-batcher
add-time-snap-middleware
aggregator-columnar
alt-err-prop
arrow-batch-agg-sorting
arve/add-claude.md
arve/remove_global_name_validation
ashwanth/restructure-query-section
auto-triager
aws-bug
backport-13116-to-release-3.3.x
backport-14221-to-release-3.2.x
backport-14780-to-release-3.2.x
backport-16045-to-k239
backport-17054-to-k249
backport-17129-to-k277
backport-21254-to-k297
backport-21990-to-release-3.6.x
backport-21990-to-release-3.7.x
backport-21995-to-release-3.6.x
backport-21995-to-release-3.7.x
backport-22000-to-release-3.7.x
benchmark-improvements
benclive/add-unique-parsed-keys-to-pointers
benclive/batch-aggregator-add
benclive/buffer-nodesource-channel
benclive/caching-logs
benclive/cleanup-partial-downloads
benclive/columnar-reader-impl
benclive/custom-stream-tools
benclive/dataobj-consumer-autoresearch
benclive/fix-engine-admission-lane-leak
benclive/fix-range-agg-without-by
benclive/hedge-requests-exp
benclive/implement-tsdb-writer-for-dataobj-consumers
benclive/index-compaction-poc
benclive/index-compaction-poc-2
benclive/index-testing-wip
benclive/k289-backport
benclive/k305-predicate-error
benclive/refactor-aggregator-tests
benclive/respect-encoding-flags-compat
benclive/scan-kafka
benclive/update-github-runners-to-use-free-or-self-hosted
benton/loki-mixin-updates
bound-parallelism-slicefor
callum-pipeline-sanitize-sm-values
callum-stream_limit-insights
callum-track-max-labels
cancel-delete-request-with-details-handler
chaudum/cleanup-ingester
chaudum/fix-blocked-query-edgecase
chaudum/generic-dataobj-section
chaudum/go-yaml
chaudum/inmemory-kafka
chaudum/k259
chaudum/metastore-toc-bucket
chaudum/module-cleanup
chaudum/move-state-workflow
chaudum/remove-deprecated-api-endpoints
chaudum/remove-deprecated-storage-backends
chaudum/remove-write-read-backend-targets
chaudum/renovate-rules-for-dependencies
chaudum/update-renovate-json
check-inverse-postings
columnar-agg
compare-igw-metastore
compare-igw-metastore2
config-parsing-hooks-refactor
dahoppe/claude/shuffle-shard-optimisation
dahoppe/heap-usage-metrics
dahoppe/load-shed-while-decompressing
dahoppe/pattern-tee-bytes-metric
dahoppe/shuffle-sharding-experimentation
danhopper/automemlimit
danhopper/colliding-metric-names
danhopper/fewer-goroutines-distributor
danhopper/no-more-shuffle-sharding
dataobj-compactor/consolidation-slo-metrics
dataobj-compactor/coordinator-loop
dataobj-compactor/index-merge-executor
dataobj-compactor/marker-management
dataobj-inspect-upgrade-otel
dataobj-store-sort-order
dedupe-metric-queries
dedupe-ranges
dependabot/go_modules/golang.org/x/crypto-0.45.0
dependabot/go_modules/operator/api/loki/golang.org/x/net-0.38.0
dependabot/go_modules/operator/golang.org/x/crypto-0.45.0
deps-update/main-actions-checkout-4.x
deps-update/main-actions-download-artifact-4.x
deps-update/main-anchore-sbom-action-0.x
deps-update/main-cachix-install-nix-action-31.x
deps-update/main-create-github-app-token-grafana-shared-workflows-0.x
deps-update/main-docker-build-push-action-6.x
deps-update/main-docker-login-action-4.x
deps-update/main-docker-setup-buildx-action-3.x
deps-update/main-github.comalecthomaschromav2
deps-update/main-github.comalicebobminiredisv2
deps-update/main-github.comawsaws-sdk-go-v2services3
deps-update/main-github.combaidubcebce-sdk-go
deps-update/main-github.combugerjsonparser
deps-update/main-github.comgo-sql-drivermysql
deps-update/main-github.comklauspostcompress
deps-update/main-github.comleodidogo-syslogv4
deps-update/main-github.compresslygoosev3
deps-update/main-github.comredisgo-redisv9
deps-update/main-github.comshirougopsutilv4
deps-update/main-github.comtwmbfranz-go
deps-update/main-github.comtwmbfranz-gopkgkadm
deps-update/main-go-github.com-apache-thrift-vulnerability
deps-update/main-go-github.com-containerd-containerd-v2-vulnerability
deps-update/main-go-go.opentelemetry.io-otel-vulnerability
deps-update/main-go-golang.org-x-crypto-vulnerability
deps-update/main-go-golang.org-x-net-vulnerability
deps-update/main-go-golang.org-x-sys-vulnerability
deps-update/main-go.opentelemetry.iocollectorpdata
deps-update/main-golangci-golangci-lint-2.x
deps-update/main-google.golang.orgapi
deps-update/main-google.golang.orggrpc
deps-update/main-googleapis-release-please-action-4.x
deps-update/main-k8s.ioapimachinery
deps-update/main-lock-file-maintenance
deps-update/main-logstash-9.3.4
deps-update/main-major-github.comtwmbfranz-gopkgkmsg
deps-update/main-memcached-1.x
deps-update/main-ruby-4.0.2
deps-update/main-ruby-4.x
deps-update/release-3.5.x-go-golang.org-x-crypto-vulnerability
deps-update/release-3.5.x-go-google.golang.org-grpc-vulnerability
deps-update/release-3.6.x-go
deps-update/release-3.6.x-go-github.com-containerd-containerd-v2-vulnerability
deps-update/release-3.6.x-go-github.com-grafana-loki-v3-vulnerability
deps-update/release-3.6.x-go-github.com-prometheus-prometheus-vulnerability
deps-update/release-3.6.x-go-go.opentelemetry.io-otel-vulnerability
deps-update/release-3.6.x-go-golang.org-x-crypto-vulnerability
deps-update/release-3.6.x-go-golang.org-x-net-vulnerability
deps-update/release-3.6.x-go-golang.org-x-sys-vulnerability
deps-update/release-3.6.x-golang-version-go-vulnerability
deps-update/release-3.7.x-go-github.com-apache-thrift-vulnerability
deps-update/release-3.7.x-go-github.com-containerd-containerd-v2-vulnerability
deps-update/release-3.7.x-go-go.opentelemetry.io-otel-sdk-vulnerability
deps-update/release-3.7.x-go-go.opentelemetry.io-otel-vulnerability
deps-update/release-3.7.x-go-golang.org-x-crypto-vulnerability
deps-update/release-3.7.x-go-golang.org-x-net-vulnerability
deps-update/release-3.7.x-go-golang.org-x-sys-vulnerability
deps-update/release-3.7.x-golang-version-go-vulnerability
docs-nvdh-log-queries
dont-log-every-indexset-call-
emit-events-without-debuggnig
enable-az-limits
fcjack/image-workflows
feat/dataobj-tsdb
find-correctness-bugs
fix-discarded-otlp-volume
fix/range-agg-step-alignment-v2
gerboland/loki-data-chunk-fetcher
grobinson/add-cluster-namespace-segmentation-key
grobinson/add-ctx-builder-flush
grobinson/add-estimated-rate-metric
grobinson/add-gauge-buffered-events
grobinson/add-gauge-num-sections
grobinson/add-lag-collector
grobinson/add-metric-time-partition-estimate
grobinson/add-rate-service
grobinson/add-separate-rate-store-limits-service
grobinson/approx-shuffle-shard-within-tenant-shuffle
grobinson/avoid-map-regrow
grobinson/avoid-map-regrow-k289
grobinson/build-image-ops-17-03-2026
grobinson/dedicated-first-two-partitions-late-logs
grobinson/dont-increment-atomic-just-to-check-limit
grobinson/drop-traffic-when-buffer-full
grobinson/experiment-different-builders-for-old-logs
grobinson/experiment-shard-stream-hash-within-segment-subring
grobinson/fix-limits-kafka-backoff
grobinson/fix-misnamed-metric
grobinson/fix-race-condition-in-tracker
grobinson/fix-race-in-builder-tests
grobinson/include-labels-in-size-calc
grobinson/limited-reader-claude
grobinson/no-cancel-producer
grobinson/rateservice
grobinson/remove-kotel
grobinson/run-gc-after-flush
grobinson/run-gc-after-flush-2
grobinson/split-partitions-into-old-and-new-entries
grobinson/support-parallel-flush
grobinson/test-lag-collector-ingesters
grobinson/test-optimizations-shuffle-shard
grobinson/test-p95-rate
grobinson/track-buffered-bytes-pattern-tee
grobinson/track-consumption-lag-offsets
grobinson/use-consumer-index-builders
grobinson/use-default-size-maps-to-avoid-reallocs
grobinson/use-local-distributor-rate-store-segmentation-keys
grobinson/use-stream-size-in-update-rates
grobinson/use-xxhash-for-better-avalanche-effect
grobinson/wip
grobinson/wip-flush-in-background
grobinson/wip2
handle-errors-per-category
hay-kot/loki-replay-compaction-research
helm-chart-tagged-6.30.0
helm-chart-tagged-6.44.0
helm-chart-tagged-6.56.0
helm-chart-tagged-7.1.0
helm-chart-weekly-6.55.0
helm-chart-weekly-7.1.0
helm-chart-weekly-7.2.0
hundredwatt/dataobj-consumer-autoresearch
ignore-yaml-errors
index-builder-lag-report-only
index-gateway-dataobj-tsdb-dualresolve
ingest-pipelines
isolate-sort-metrics
ivkalita/metastore-distributed-plus-scheduler
ivkalita/toc-aligned-logsobj-builders
jnewbigin/build-images
jnewbigin/lbac
jnewbigin/partition-metrics
k100
k101
k102
k103
k104
k105
k106
k107
k108
k109
k110
k111
k112
k113
k114
k115
k116
k117
k118
k119
k12
k120
k121
k122
k123
k124
k125
k126
k127
k128
k129
k13
k130
k131
k132
k133
k135
k136
k137
k138
k139
k14
k140
k141
k142
k143
k144
k145
k146
k147
k148
k149
k15
k150
k151
k152
k153
k154
k155
k156
k157
k158
k159
k16
k160
k161
k162
k163
k164
k165
k166
k167
k168
k169
k17
k170
k171
k172
k173
k174
k175
k176
k177
k178
k179
k18
k180
k181
k182
k183
k184
k185
k186
k187
k188
k189
k19
k190
k191
k192
k193
k194
k195
k195-backup
k196
k197
k198
k199
k20
k200
k201
k202
k203
k204
k205
k206
k207
k208
k209
k21
k210
k211
k212
k213
k214
k215
k216
k217
k218
k219
k22
k220
k221
k222
k228
k229
k23
k230
k231
k232
k233
k234
k235
k236
k237
k238
k239
k24
k240
k241
k242
k243
k244
k245
k246
k246-with-per-tenant-ruler-wal-replay
k247
k248
k248-distributor-lvl-detection
k248-level-detection-debugging
k248-levels-as-index
k249
k25
k250
k251
k252
k253
k254
k255
k256
k257
k258
k259
k26
k260
k261
k262
k263
k264
k265
k266
k267
k268
k269
k27
k270
k271
k272
k273
k274
k275
k276
k277
k278
k279
k28
k280
k281
k282
k283
k284
k284-ewelch
k284-metastore-improv
k285
k286
k287
k288
k289
k29
k290
k291
k291-rangeagg-shard
k292
k293
k294
k295
k296
k297
k298
k299
k30
k300
k301
k302
k303
k304
k305
k306
k307
k308
k31
k32
k33
k34
k35
k36
k37
k38
k39
k40
k41
k42
k43
k44
k45
k46
k47
k48
k49
k50
k51
k52
k53
k54
k55
k56
k57
k58
k59
k60
k61
k62
k63
k64
k65
k66
k67
k68
k69
k70
k71
k72
k73
k74
k75
k76
k77
k78
k79
k80
k81
k82
k83
k84
k85
k86
k87
k88
k89
k90
k91
k92
k93
k94
k95
k96
k97
k98
k99
kk/test
label-filter-predicate-pushdown
leizor/policy-reject-old-samples
logql-analyzer-wasm
main
meher/a-separate-trace-for-engine-execution
meher/fix-goroutine-leak-tailer
meher/local-worker-setup
meher/log-partition-ring-cache-map-size
meher/parition-ring-manual-disable
meher/persistent-workerLoop-per-worker-connection
meher/query-lab
meher/remove-frontend-rule
meher/worker-phases-histogram
paul1r/k294_dupes
periklis/k280-max-query-bytes-read
periklis/max-query-bytes-read
push-rnvszrozvuoq
query-tee-mismatch-analysis-tool
query-timestamp-validation
rangeaggonly
rebase-idiomatic-worker-pattern
release-2.0.1
release-2.2
release-2.2.1
release-2.3
release-2.4
release-2.5.x
release-2.6.x
release-2.7.x
release-2.8.x
release-2.8.x-fix-failing-test
release-2.9.x
release-3.0.x
release-3.1.x
release-3.2.x
release-3.3.x
release-3.4.x
release-3.5.x
release-3.6.x
release-3.7.0-from-k
release-3.7.x
release-please--branches--k300
release-please--branches--k301
release-please--branches--k303
release-please--branches--k304
release-please--branches--k305
release-please--branches--k306
release-please--branches--k307
release-please--branches--k308
release-please--branches--main--components--operator
release-please--branches--release-2.9.x
release-please--branches--release-3.5.x
remote-rule-evaluator-middleware
remove-early-eof
reuse-labels-in-aggregator
salvacorts/k289/debub-lbac-volume
salvacorts/multi-merge
salvacorts/over-sophie-predicateclamp
salvacorts/reuse-forward-allo-headers
salvacorts/scan-cache-stats
salvacorts/sjwtaskclamp›-with-ashwanth-changes
salvacorts/task_ids
scantimerangepushup
scheduler-assignlock-granular
scheduler_contentions
shantanu/dataobj-compactor
shantanu/dedupe-with-sm
shantanu/fix-k290-deps
shantanu/fix-patterns-newlines
shantanu/tmp-fix-proj-pushdown
shantanu/tmp-proj-pushdown-bug
shantanu/update-go-deps
shantanu/use-yarn-release-workflows
sjwbillingtest
sjwpoolmemory
sjwtaskclamp
sjwtaskclamp2
skip-recent-queries-comparison
solid-moon-2
sophiewaldman-patch-1
sp/fix-discover-service-name
spiridonov-agg-perf-2
spiridonov-agg-sharding
spiridonov-agg-sharding-2
spiridonov-engine-sandbox
start-replay-support
stop-using-retry-flag
structured-metadata-push-down-3
svennergr-patch-1
task-batch-assign
test-labeler
test-query-limits-fixes
test-workflow
thor-ingestion
thor-working-version
tinitiuset/ft-loki-mixin
tpatterson/expose-partition-ring
trevorwhitney/structured-metadata-push-down
twhitney/goldfish-mcp
update-prometheus
update-version-to-1.26.3
wire-dispatch
wire-metrics
wrap-downloading-file-errors
xcap-coverage
xcap-pipeline-inject
2.8.3
helm-loki-3.0.0
helm-loki-3.0.1
helm-loki-3.0.2
helm-loki-3.0.3
helm-loki-3.0.4
helm-loki-3.0.5
helm-loki-3.0.6
helm-loki-3.0.7
helm-loki-3.0.8
helm-loki-3.0.9
helm-loki-3.1.0
helm-loki-3.10.0
helm-loki-3.2.0
helm-loki-3.2.1
helm-loki-3.2.2
helm-loki-3.3.0
helm-loki-3.3.1
helm-loki-3.3.2
helm-loki-3.3.3
helm-loki-3.3.4
helm-loki-3.4.0
helm-loki-3.4.1
helm-loki-3.4.2
helm-loki-3.4.3
helm-loki-3.5.0
helm-loki-3.6.0
helm-loki-3.6.1
helm-loki-3.7.0
helm-loki-3.8.0
helm-loki-3.8.1
helm-loki-3.8.2
helm-loki-3.9.0
helm-loki-4.0.0
helm-loki-4.1.0
helm-loki-4.10.0
helm-loki-4.2.0
helm-loki-4.3.0
helm-loki-4.4.0
helm-loki-4.4.1
helm-loki-4.4.2
helm-loki-4.5.0
helm-loki-4.5.1
helm-loki-4.6.0
helm-loki-4.6.1
helm-loki-4.6.2
helm-loki-4.7.0
helm-loki-4.8.0
helm-loki-4.9.0
helm-loki-5.0.0
helm-loki-5.1.0
helm-loki-5.10.0
helm-loki-5.11.0
helm-loki-5.12.0
helm-loki-5.13.0
helm-loki-5.14.0
helm-loki-5.14.1
helm-loki-5.15.0
helm-loki-5.17.0
helm-loki-5.18.0
helm-loki-5.18.1
helm-loki-5.19.0
helm-loki-5.2.0
helm-loki-5.20.0
helm-loki-5.21.0
helm-loki-5.22.0
helm-loki-5.22.1
helm-loki-5.22.2
helm-loki-5.23.0
helm-loki-5.23.1
helm-loki-5.24.0
helm-loki-5.25.0
helm-loki-5.26.0
helm-loki-5.27.0
helm-loki-5.28.0
helm-loki-5.29.0
helm-loki-5.3.0
helm-loki-5.3.1
helm-loki-5.30.0
helm-loki-5.31.0
helm-loki-5.32.0
helm-loki-5.33.0
helm-loki-5.34.0
helm-loki-5.35.0
helm-loki-5.36.0
helm-loki-5.36.1
helm-loki-5.36.2
helm-loki-5.36.3
helm-loki-5.37.0
helm-loki-5.38.0
helm-loki-5.39.0
helm-loki-5.4.0
helm-loki-5.40.1
helm-loki-5.41.0
helm-loki-5.41.1
helm-loki-5.41.2
helm-loki-5.41.3
helm-loki-5.41.4
helm-loki-5.41.5
helm-loki-5.41.6
helm-loki-5.41.7
helm-loki-5.41.8
helm-loki-5.41.9-distributed
helm-loki-5.41.9-distributed-rc2
helm-loki-5.42.0
helm-loki-5.42.1
helm-loki-5.42.2
helm-loki-5.42.3
helm-loki-5.43.0
helm-loki-5.43.1
helm-loki-5.43.2
helm-loki-5.43.3
helm-loki-5.43.4
helm-loki-5.43.5
helm-loki-5.43.6
helm-loki-5.43.7
helm-loki-5.44.0
helm-loki-5.44.1
helm-loki-5.44.2
helm-loki-5.44.3
helm-loki-5.44.4
helm-loki-5.45.0
helm-loki-5.46.0
helm-loki-5.47.0
helm-loki-5.47.1
helm-loki-5.47.2
helm-loki-5.48.0
helm-loki-5.5.0
helm-loki-5.5.1
helm-loki-5.5.10
helm-loki-5.5.11
helm-loki-5.5.12
helm-loki-5.5.2
helm-loki-5.5.3
helm-loki-5.5.4
helm-loki-5.5.5
helm-loki-5.5.6
helm-loki-5.5.7
helm-loki-5.5.8
helm-loki-5.5.9
helm-loki-5.6.0
helm-loki-5.6.1
helm-loki-5.6.2
helm-loki-5.6.3
helm-loki-5.6.4
helm-loki-5.7.1
helm-loki-5.8.0
helm-loki-5.8.1
helm-loki-5.8.10
helm-loki-5.8.11
helm-loki-5.8.2
helm-loki-5.8.3
helm-loki-5.8.4
helm-loki-5.8.5
helm-loki-5.8.6
helm-loki-5.8.7
helm-loki-5.8.8
helm-loki-5.8.9
helm-loki-5.9.0
helm-loki-5.9.1
helm-loki-5.9.2
helm-loki-6.0.0
helm-loki-6.1.0
helm-loki-6.10.0
helm-loki-6.10.1
helm-loki-6.10.2
helm-loki-6.11.0
helm-loki-6.12.0
helm-loki-6.15.0
helm-loki-6.16.0
helm-loki-6.18.0
helm-loki-6.19.0
helm-loki-6.19.0-weekly.227
helm-loki-6.2.0
helm-loki-6.2.1
helm-loki-6.2.2
helm-loki-6.2.3
helm-loki-6.2.4
helm-loki-6.2.5
helm-loki-6.20.0
helm-loki-6.20.0-weekly.229
helm-loki-6.21.0
helm-loki-6.22.0
helm-loki-6.22.0-weekly.230
helm-loki-6.23.0
helm-loki-6.23.0-weekly.231
helm-loki-6.24.0
helm-loki-6.24.0-weekly.232
helm-loki-6.24.1
helm-loki-6.25.0
helm-loki-6.25.1
helm-loki-6.26.0
helm-loki-6.27.0
helm-loki-6.28.0
helm-loki-6.29.0
helm-loki-6.3.0
helm-loki-6.3.1
helm-loki-6.3.2
helm-loki-6.3.3
helm-loki-6.3.4
helm-loki-6.30.0
helm-loki-6.30.1
helm-loki-6.31.0
helm-loki-6.32.0
helm-loki-6.33.0
helm-loki-6.34.0
helm-loki-6.35.0
helm-loki-6.35.1
helm-loki-6.36.0
helm-loki-6.36.1
helm-loki-6.37.0
helm-loki-6.38.0
helm-loki-6.39.0
helm-loki-6.4.0
helm-loki-6.4.1
helm-loki-6.4.2
helm-loki-6.40.0
helm-loki-6.41.0
helm-loki-6.41.1
helm-loki-6.42.0
helm-loki-6.43.0
helm-loki-6.44.0
helm-loki-6.45.0
helm-loki-6.45.1
helm-loki-6.45.2
helm-loki-6.46.0
helm-loki-6.48.0
helm-loki-6.49.0
helm-loki-6.5.0
helm-loki-6.5.1
helm-loki-6.5.2
helm-loki-6.50.0
helm-loki-6.51.0
helm-loki-6.52.0
helm-loki-6.53.0
helm-loki-6.54.0
helm-loki-6.55.0
helm-loki-6.6.0
helm-loki-6.6.1
helm-loki-6.6.2
helm-loki-6.6.3
helm-loki-6.6.4
helm-loki-6.6.5
helm-loki-6.6.6
helm-loki-6.7.0
helm-loki-6.7.1
helm-loki-6.7.2
helm-loki-6.7.3
helm-loki-6.7.4
helm-loki-6.8.0
helm-loki-6.9.0
helm-loki-7.0.0
operator/v0.0.1-test
operator/v0.0.2-test
operator/v0.10.0
operator/v0.10.1
operator/v0.4.0
operator/v0.5.0
operator/v0.6.0
operator/v0.6.1
operator/v0.6.2
operator/v0.7.0
operator/v0.7.1
operator/v0.8.0
operator/v0.9.0
pkg/logql/syntax/v0.0.1
v0.1.0
v0.2.0
v0.3.0
v0.4.0
v1.0.0
v1.0.1
v1.0.2
v1.1.0
v1.2.0
v1.3.0
v1.4.0
v1.4.1
v1.5.0
v1.6.0
v1.6.1
v2.0.0
v2.0.1
v2.1.0
v2.2.0
v2.2.1
v2.3.0
v2.4.0
v2.4.1
v2.4.2
v2.5.0
v2.6.0
v2.6.1
v2.7.0
v2.7.1
v2.7.2
v2.7.3
v2.7.4
v2.7.5
v2.7.6
v2.7.7
v2.8.0
v2.8.1
v2.8.10
v2.8.11
v2.8.2
v2.8.3
v2.8.4
v2.8.5
v2.8.6
v2.8.7
v2.8.8
v2.8.9
v2.9.0
v2.9.1
v2.9.10
v2.9.11
v2.9.12
v2.9.13
v2.9.14
v2.9.15
v2.9.16
v2.9.17
v2.9.2
v2.9.3
v2.9.4
v2.9.5
v2.9.6
v2.9.7
v2.9.8
v2.9.9
v3.0.0
v3.0.1
v3.1.0
v3.1.1
v3.1.2
v3.2.0
v3.2.1
v3.2.2
v3.3.0
v3.3.1
v3.3.2
v3.3.3
v3.3.4
v3.4.0
v3.4.1
v3.4.2
v3.4.3
v3.4.4
v3.4.5
v3.4.6
v3.5.0
v3.5.1
v3.5.10
v3.5.11
v3.5.12
v3.5.2
v3.5.3
v3.5.4
v3.5.5
v3.5.6
v3.5.7
v3.5.8
v3.5.9
v3.6.0
v3.6.1
v3.6.10
v3.6.11
v3.6.2
v3.6.3
v3.6.4
v3.6.5
v3.6.6
v3.6.7
v3.6.8
v3.6.9
v3.7.0
v3.7.1
v3.7.2
${ noResults }
265 Commits (0bc38e5775464fa2327e2b2cd548bcbe2e46b075)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
979530b6b9
|
Propagate query metrics and cache num information. (#11176)
**What this PR does / why we need it**: https://github.com/grafana/loki/pull/10858 removed the extraction of the query time header on the querier side and the generation of the cache number. This change adds them back and uses the headers of the response format. **Checklist** - [ ] Reviewed the [`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md) guide (**required**) - [ ] Documentation added - [ ] Tests updated - [ ] `CHANGELOG.md` updated - [ ] If the change is worth mentioning in the release notes, add `add-to-release-notes` label - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/setup/upgrade/_index.md` - [ ] For Helm chart changes bump the Helm chart version in `production/helm/loki/Chart.yaml` and update `production/helm/loki/CHANGELOG.md` and `production/helm/loki/README.md`. [Example PR]( |
3 years ago |
|
|
b1f9be5171
|
always align volume range timestamp to end of step (#11136)
**What this PR does / why we need it**: We had originally assumed that it would be weird for a user to get back a timeseries response from `volume_range` that didn't include a datapoint with a timestamp at the start of their requested range. This was a bad assumption. The `volume_range` endpoint is inherently doing aggregations. For each step, a datapoint is calculated representing the percent of chunk volumes that the selector appeared in. It therefore stands to reason that the steps volume was not that value until the end of the step time range, as we are to assume volume is monotonically increasing. The fact that we were using the start of the range made it difficult to turn this data into a per-second rate, which this PR aims to fix. **Which issue(s) this PR fixes**: Fixes #11134 |
3 years ago |
|
|
6d95a86ae2
|
Extract query tags from HTTP requests. (#11147)
**What this PR does / why we need it**: https://github.com/grafana/loki/pull/10858 removed the code that would inject query tags into the context of the querier. This change adds an extraction in the decode method. |
3 years ago |
|
|
91ec2fc2bb
|
add tests for log volume middleware (#11126)
**What this PR does / why we need it**: This adds some tests around the volume middleware, which were very useful in understanding a recent issue |
3 years ago |
|
|
1c56aa91ef
|
Check switches on syntax.Expr for exhaustiveness. (#11113)
**What this PR does / why we need it**: In preparation to serlialize the LogQL AST as JSON we are declaring the `syntax.Expr` as a "sum type" and test all switch statements on it to be exhaustive. **Special notes for your reviewer**: **Checklist** - [ ] Reviewed the [`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md) guide (**required**) - [ ] Documentation added - [ ] Tests updated - [ ] `CHANGELOG.md` updated - [ ] If the change is worth mentioning in the release notes, add `add-to-release-notes` label - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/setup/upgrade/_index.md` - [ ] For Helm chart changes bump the Helm chart version in `production/helm/loki/Chart.yaml` and update `production/helm/loki/CHANGELOG.md` and `production/helm/loki/README.md`. [Example PR]( |
3 years ago |
|
|
4ed3b117d2
|
Use newest build image 0.31.2 with golangci-lint update. (#11118)
**What this PR does / why we need it**: This just updates the Loki build imaage changed in #11114. **Checklist** - [ ] Reviewed the [`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md) guide (**required**) - [ ] Documentation added - [ ] Tests updated - [ ] `CHANGELOG.md` updated - [ ] If the change is worth mentioning in the release notes, add `add-to-release-notes` label - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/setup/upgrade/_index.md` - [ ] For Helm chart changes bump the Helm chart version in `production/helm/loki/Chart.yaml` and update `production/helm/loki/CHANGELOG.md` and `production/helm/loki/README.md`. [Example PR]( |
3 years ago |
|
|
33b7e51342
|
Bring back RED metrics for querier when processing scheduler requests. (#11097)
**What this PR does / why we need it**: A previous change removed the RED metrics for the querier. This adds them back as part of a middleware. **Checklist** - [ ] Reviewed the [`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md) guide (**required**) - [ ] Documentation added - [ ] Tests updated - [ ] `CHANGELOG.md` updated - [ ] If the change is worth mentioning in the release notes, add `add-to-release-notes` label - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/setup/upgrade/_index.md` - [ ] For Helm chart changes bump the Helm chart version in `production/helm/loki/Chart.yaml` and update `production/helm/loki/CHANGELOG.md` and `production/helm/loki/README.md`. [Example PR]( |
3 years ago |
|
|
8742599be1
|
Instrument querier inflight requests. (#11085)
**What this PR does / why we need it**: #10858 removed the HTTP and gRPC server from the querier workers. That means inflight requests are not instrumented anymore. This change adds a middleware that does that. This will add metrics such as ``` # HELP cortex_inflight_requests Current number of inflight requests. # TYPE cortex_inflight_requests gauge cortex_inflight_requests{method="gRPC",route="*logproto.IndexStatsRequest"} 0 cortex_inflight_requests{method="gRPC",route="*queryrange.LabelRequest"} 0 cortex_inflight_requests{method="gRPC",route="*queryrange.LokiRequest"} 0 cortex_inflight_requests{method="gRPC",route="*queryrange.LokiSeriesRequest"} 0 ``` **Checklist** - [ ] Reviewed the [`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md) guide (**required**) - [ ] Documentation added - [ ] Tests updated - [ ] `CHANGELOG.md` updated - [ ] If the change is worth mentioning in the release notes, add `add-to-release-notes` label - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/setup/upgrade/_index.md` - [ ] For Helm chart changes bump the Helm chart version in `production/helm/loki/Chart.yaml` and update `production/helm/loki/CHANGELOG.md` and `production/helm/loki/README.md`. [Example PR]( |
3 years ago |
|
|
8628b15624
|
Use metrics namespace for more metrics (#11025)
**What this PR does / why we need it**:
Use the metrics namespace setting instead of hardcoding to `cortex`.
This is a follow up to (and based on)
https://github.com/grafana/loki/pull/11014.
**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [X] Tests updated
- [x] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
34b9b9a11f
|
Improve observability of index queries (#11064)
**What this PR does / why we need it**: Requests to the following APIs previously had limited or incorrect logging, which made understanding their behaviour at runtime difficult. [GET /loki/api/v1/labels](https://grafana.com/docs/loki/latest/reference/api/#list-labels-within-a-range-of-time) [GET /loki/api/v1/label/<name>/values](https://grafana.com/docs/loki/latest/reference/api/#list-label-values-within-a-range-of-time) [GET /loki/api/v1/series](https://grafana.com/docs/loki/latest/reference/api/#list-series) [GET /loki/api/v1/index/stats](https://grafana.com/docs/loki/latest/reference/api/#index-stats) [GET /loki/api/v1/index/volume](https://grafana.com/docs/loki/latest/reference/api/#volume) [GET /loki/api/v1/index/volume_range](https://grafana.com/docs/loki/latest/reference/api/#volume) All of these APIs now have querier and query-frontend logs; sharding and time-based splitting are applied to these requests, and it's valuable to see all requests. |
3 years ago |
|
|
edae9d32ea
|
Stop processing split queries on first error. (#11067)
**What this PR does / why we need it**:
The `TestMetricsTripperware` became flaky after #10688. The race
condition in the splitter has been there before but the change exposed
it. When an error occurs, e.g. when query would be too large, the
splitter would return. However, there was a small time window when the
loop could still be fed a new request. #10688 just amplified this effect
because it removed the serialization of requests and responses.
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [ ] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
aedf6dfc21
|
Remove `GetHeaders` from `logproto.VolumeResponse`. (#11049)
**What this PR does / why we need it**:
Replaces https://github.com/grafana/loki/pull/11048/. We would return
`logproto.VolumeResponse` but not match it in the codec.
**Special notes for your reviewer**:
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [ ] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
0d7b6b2622
|
Return empty responses for logproto request types from (#11029)
We need to return empty responses for logproto request types from NewEmptyResponse based on types that can be returned from DecodeRequest. --------- Signed-off-by: Callum Styan <callumstyan@gmail.com> |
3 years ago |
|
|
7fa2f6ea9e
|
Add span logFields: wait_goroutine_capacity_time_ms and min_weighted_parallism (#10846)
**What this PR does / why we need it**: https://github.com/grafana/loki/issues/5316 |
3 years ago |
|
|
557b516b66
|
Refactor the proto Request interface to return time.Time (#11018)
Part of our query path improvements. In addition to Karstens new protobuf formats for all the query request and responses, plus our use of just proto grpc rather than httpgrpc, we'd like refactor the proto Request interface to return time.Time for start and end instead of int64. This will allow his protobuf formats to use more `logproto` proto types. There's still one or two tests that I need to fix. --------- Signed-off-by: Callum Styan <callumstyan@gmail.com> Co-authored-by: Karsten Jeschkies <karsten.jeschkies@grafana.com> |
3 years ago |
|
|
52a3f16039
|
Flag categorize labels on streams response (#10419)
We recently introduced support for ingesting and querying structured metadata in Loki. This adds a new dimension to Loki's labels since now we arguably have three categories of labels: _stream_, _structured metadata_, and _parsed_ labels. Depending on the origin of the labels, they should be used in LogQL expressions differently to achieve optimal performance. _stream_ labels should be added to stream matchers, _structured metadata_ labels should be used in a filter expression before any parsing expression, and _parsed_ labels should be placed after the parser expression extracting them. The Grafana UI has a hard time dealing with this same problem. Before https://github.com/grafana/grafana/pull/73955, the filtering functionality in Grafana was broken since it was not able to distinguish between _stream_ and _structured metadata_ labels. Also, as soon as a parser expression was added to the query, filters added by Grafana would be appended to the end of the query regardless of the label category. The PR above implements a workaround for this problem but needs a better API on Loki's end to mitigate all corner cases. Loki currently returns the following JSON for log queries: ```json ... { "stream": { "cluster": "us-central", "container": "query-frontend", "namespace": "loki", "level": "info", "traceID": "68810cf0c94bfcca" }, "values": [ [ "1693996529000222496", "1693996529000222496 aaaaaaaaa.....\n" ], ... }, { "stream": { "cluster": "us-central", "container": "query-frontend", "namespace": "loki", "level": "debug", "traceID": "a7116cj54c4bjz8s" }, "values": [ [ "1693996529000222497", "1693996529000222497 bbbbbbbbb.....\n" ], ... }, ... ``` As can be seen, there is no way we can distinguish the category of each label. This PR introduces a new flag `X-Loki-Response-Encoding-Flags: categorize-labels` that makes Loki return categorized labels as follows: ```json ... { "stream": { "cluster": "us-central", "container": "query-frontend", "namespace": "loki", }, "values": [ [ "1693996529000222496", "1693996529000222496 aaaaaaaaa.....\n", { "structuredMetadata": { "traceID": "68810cf0c94bfcca" }, "parsed": { "level": "info" } } ], [ "1693996529000222497", "1693996529000222497 bbbbbbbbb.....\n", { "structuredMetadata": { "traceID": "a7116cj54c4bjz8s" }, "parsed": { "level": "debug" } } ], ... }, ... ``` Note that this PR only supports log queries, not metric queries. From a UX perspective, being able to categorize labels in metric queries doesn't have any benefit yet. Having said that, supporting this for metric queries would require some minor refactoring on top of what has been implemented here. If we decide to do that, I think we should do it on a separate PR to avoid making this PR even larger. I also decided to leave out support for Tail queries to avoid making this PR even larger. Once this one gets merged, we can work to support tailing. --- **Note to reviewers** This PR is huge since we need to forward categorized all over the codebase (from parsing logs all the way to marshaling), fortunately, many of the changes come from updating tests and refactoring iterators. Tested out in a dev cell with query `'{stream="stdout"} | label_format new="text"`. - Without the new flag: ``` $ http http://127.0.0.1:3100/loki/api/v1/query_range\?direction\=BACKWARD\&end\=1693996529322486000\&limit\=30\&query\=%7Bstream%3D%22stdout%22%7D+%7C+label_format+new%3D%22text%22\&start\=1693992929322486000 X-Scope-Orgid:REDACTED { "data": { "result": [ { "stream": { "new": "text", "pod": "loki-canary-986bd6f4b-xqmb7", "stream": "stdout" }, "values": [ [ "1693996529000222496", "1693996529000222496 pppppppppppp...\n" ], [ "1693996528499160852", "1693996528499160852 pppppppppppp...\n" ], ... ``` - With the new flag ``` $ http http://127.0.0.1:3100/loki/api/v1/query_range\?direction\=BACKWARD\&end\=1693996529322486000\&limit\=30\&query\=%7Bstream%3D%22stdout%22%7D+%7C+label_format+new%3D%22text%22\&start\=1693992929322486000 X-Scope-Orgid:REDACTED X-Loki-Response-Encoding-Flags:categorize-labels { "data": { "encodingFlags": [ "categorize-labels" ], "result": [ { "stream": { "pod": "loki-canary-986bd6f4b-xqmb7", "stream": "stdout" }, "values": [ [ "1693996529000222496", "1693996529000222496 pppppppppppp...\n", { "parsed": { "new": "text" } } ], [ "1693996528499160852", "1693996528499160852 pppppppppppp...\n", { "parsed": { "new": "text" } } ], ... ``` |
3 years ago |
|
|
6948c4a179
|
Turn frontend Tripperware into a Middleware. (#10688)
**What this PR does / why we need it**:
Currently, a request to Loki's frontend API goes through these
conversions:
```
http.Request
↓ limitedRoundTripper
queryrangebase.Request
↓ queryrangebase.Middlware
…
↓
queryrangebase.Request
↓ limitedRoundTripper
http.Request
↓ grpcRoundTripperAdapter
httpgrpc
↓ grpcRoundTripperAdapter
http.Response
↓ limitedRoundTripper
queryrangebase.Response
↓ limitedRoundtripper
http.Response
```
Since `httgrpc` and `queryrangebase.Request` are Protobufs there's no
good reason to encode and decode them to HTTP responses/requests.
Furthermore, the encoding to HTTP makes it harder for us to encode query
plans.
Thus the conversions are changed to the following:
```
http.Request
↓
queryrangebase.Request
↓ queryrangebase.Middlware
…
↓
queryrangebase.Request
↓
httpgrpc
↓
queryrangebase.Response
↓
http.Response
```
In order to achieve this the `http.RoundTripper` is pushed to the
outside. Only the serialization layer from `http.Request` to
`queryrangebase.Request` and `http.Response` to
`queryrangebase.Response` will be an `http.RoundTripper`. Everything
else is either a `queryrangebase.Handler` or
`queryrangebase.Middleware`.
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [x] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
d66dd30c17
|
Loki: introduce an exponential backoff on failed query retries. (#10959)
**What this PR does / why we need it**:
Currently any subquery which fails with a 5xx status code is retried by
the query frontend immediately, and by default will make a total of 5
attempts to execute the subquery, ultimately failing the query if you
exhaust those attempts.
We notice there are times when subqueries can fail extremely quickly,
mostly around queriers handling various GRPC related issues between
components like ingesters or index gateways.
In these cases a query will exhaust all the retries in less than a
second and fail back to the user.
Also in cases where a query is causing a lot of memory pressure on a
pool of queriers leading to OOM crashes of queriers, the lack of a
backoff on retries can make this behavior quite aggressive and
potentially cause disruption if you don't have enough queriers
available.
This PR introduces a simple exponential backoff on retries of failed
queries to allow for the downstream GRPC issues to have time to sort out
as well as causing queries causing a lot of memory pressure and OOMing
to be slowed down and minimize their impact slightly.
**Which issue(s) this PR fixes**:
Fixes #<issue number>
**Special notes for your reviewer**:
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [ ] Tests updated
- [x] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
9fcc42dc48
|
Support protobuf `QueryRequest` in querier. (#10858)
**What this PR does / why we need it**:
This is one step to support pure protobuf encoding without `httpgrpc`.
It is only on the scheduler and is fully backwards compatible.
**Which issue(s) this PR fixes**:
This is a sub change of https://github.com/grafana/loki/pull/10688
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [x] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
56437fa0c4
|
Replace `LokiLabelNamesRequest` with `logproto.LabelRequest`. (#10801)
**What this PR does / why we need it**:
This is an attempt to unify our API models and use the definitions in
`logproto` which is helpful for #10688.
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [ ] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
183d6f2c39
|
Upgrade prometheus to 0.47.1 and dskit (#10814)
|
3 years ago |
|
|
1415a97296
|
remove queryrange.VolumeRequest as it is not used (#10685)
This does not appear to be used anywhere, so removing it. I think we only need the `VolumeResponse` wrapper here. |
3 years ago |
|
|
2902f986a4
|
cache: Enable embedded cache if no other cache is configured. (#10620)
**What this PR does / why we need it**:
FIFO cache is replaced by embedded-cache in
https://github.com/grafana/loki/pull/6821
This PR enables embedded cache for query range results, chunks cache,
index_stats_results and volume_results if no other cache is explicitly
configured (redis, memcache).
**Special notes for your reviewer**:
Also removes a deprecated flag `cache-split-interval`
**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [x] Tests updated
- [x] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [x] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
b9c9394dc1
|
Define sketches for quantiles. (#10659)
|
3 years ago |
|
|
00a3c5b026
|
renamed `non indexed labels` feature to `structured metadata` (#10432)
Loki team has made a decision to rename the feature because the new name is more precise. --------- Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com> Co-authored-by: Salva Corts <salva.corts@grafana.com> |
3 years ago |
|
|
a05744a385
|
Enable results cache for volume queries (#10403)
This PR enables the results cache for volume queries to the `index/volume` and `index/volume_range` endpoints |
3 years ago |
|
|
f1bbdc51dc
|
Remove split_queries_by_interval and forward_headers_list (#10395)
…range config
Removed split_queries_by_interval and forward_headers_list from
query_range config
The fields were deprecated and hence going to be removed in the next
major version
**What this PR does / why we need it**:
**Which issue(s) this PR fixes**:
Fixes #<issue number>
**Special notes for your reviewer**:
**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [ ] Tests updated
- [x] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [x] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
c725de6035
|
Querier: add chunk refs fetch time to metrics (#10362)
**What this PR does / why we need it**: Adds an entry to the `metrics.go` log line to track how long a query waits for its chunk references to be returned by the index. This is useful when trying to understand where processing time is being spent. |
3 years ago |
|
|
cc6634972f
|
config: deprecates unordered-writes and few unused configs (#10324)
**What this PR does / why we need it**:
Deprecates the following configs:
out of order writes will be the default and the only format with the
next major release
- ingester.unordered-writes
these need not be configurable, were added for testing
- log.use-buffered
- log.use-sync
unused
- frontend.forward-headers-list
**Which issue(s) this PR fixes**:
Fixes #<issue number>
**Special notes for your reviewer**:
**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [x] Documentation added
- [ ] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
470cbbf118
|
querier: remove query_timeout and engine timeout from querier conf (#10302)
**What this PR does / why we need it**:
Removes `query_timeout` and `engine:timeout` from querier's config
section
Both these configs have been deprecated in 2.7.0 release in favor of
`query_timeout` in `limits_config` which also allows applying per-tenant
overrides at runtime.
CLI flag `-querier.engine.timeout` is also removed
**Checklist**
- [X] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [X] Documentation added
- [ ] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [X] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
9097f1ff42
|
Sharding optimizations (#10101)
A few bugfixes and more sharding optimizations * fix bug on `<aggr> by|without ()` groupings which removed the grouping while downstreaming * shardable implementations for `max+min`, operation specific merge strategies which enable many more types of sharded requests, even when label-reduction is performed at edge. |
3 years ago |
|
|
a3741d1068
|
Include response type in merging error message and merge already merged views. (#10218)
|
3 years ago |
|
|
bde65667f7
|
Upgrade dskit to use packages migrated from weaveworks/common (#10164)
**What this PR does / why we need it**:
This PR upgrades dskit and replaces use of packages from
weaveworks/common with their migrated equivalents in dskit. See
https://github.com/grafana/dskit/pull/342 for more details.
Note that Loki still uses some packages from weaveworks/common that I
haven't migrated (`aws` and `test`) - I'll migrate these separately.
If this PR needs to be rebuilt, I used `rewrite.sh`
([source](https://gist.github.com/charleskorn/48efe62a09d6d70f3de30327003df5c5#file-rewrite-sh))
to generate most of these changes.
**Which issue(s) this PR fixes**:
(none)
**Special notes for your reviewer**:
(none)
**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [n/a] Documentation added
- [n/a] Tests updated
- [n/a] `CHANGELOG.md` updated
- [n/a] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [n/a] Changes that require user attention or interaction to upgrade
are documented in `docs/sources/setup/upgrade/_index.md`
- [n/a] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
fbcaa1d5d8
|
Lazily decode series protobuf. (#10071)
**What this PR does / why we need it**:
The protobuf decoding for series responses runs into a memory issue for
many series. The response is only merged and passed through the front
end. It is more efficient to decode the protobuf encoded series lazily.
And `decode`, `merge`, `encode` benchmark shows the benefit of
transcoding the protobuf series message into a JSON response directly.
This change will not impact production code since it only applies to
protobuf encoding messaging between the querier and query frontend that
must be explicitly enabled.
```
› go test -v -run=^$ -bench "Benchmark_DecodeMergeEncodeCycle" -memprofile memory_base.prof -count=10 ./pkg/querier/queryrange > before.txt
› go test -v -run=^$ -bench "Benchmark_DecodeMergeEncodeCycle" -memprofile memory_base.prof -count=10 ./pkg/querier/queryrange > before.txt
› benchstat before.txt after.txt
before.txt:5: missing iteration count
after.txt:5: missing iteration count
goos: linux
goarch: amd64
pkg: github.com/grafana/loki/pkg/querier/queryrange
cpu: AMD Ryzen 7 3700X 8-Core Processor
│ before.txt │ after.txt │
│ sec/op │ sec/op vs base │
_DecodeMergeEncodeCycle-16 2537.7m ± 2% 934.2m ± 1% -63.19% (p=0.000 n=10)
│ before.txt │ after.txt │
│ B/op │ B/op vs base │
_DecodeMergeEncodeCycle-16 1723.4Mi ± 0% 641.1Mi ± 0% -62.80% (p=0.000 n=10)
│ before.txt │ after.txt │
│ allocs/op │ allocs/op vs base │
_DecodeMergeEncodeCycle-16 20240.6k ± 0% 203.0k ± 0% -99.00% (p=0.000 n=10)
```
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [x] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
77b04b7963
|
Logging improvements for volume requests (#10099)
I noticed we were logging volume requests as metric requests in `metrics.go`. This PR logs volume requests on their own with relevant data. |
3 years ago |
|
|
bfd196aa66
|
sort sort log volumes by size (#10045)
To save some frontend work, this PR sorts all the log volumes by volume rather than name. For range queries, only the first value is used. |
3 years ago |
|
|
a12311c5c8
|
Allow volume to be aggregated by label (#9988)
Add a `aggregateBy` query parameter to the `series_volume` endpoint, and rename that endpoint to just `volume`. This allows users to get volumes aggregated into top level labels, rather label+value pairs. --------- Co-authored-by: Travis Patterson <travis.patterson@grafana.com> |
3 years ago |
|
|
3f161f5c1a
|
Improve observability for non-indexed labels usage (#9993)
**What this PR does / why we need it**:
In https://github.com/grafana/loki/pull/9700, we support encoding and
decoding metadata for each entry into the chunks.
In this PR we:
- Update the bytes processed stats to account for the bytes from those
non-indexed labels
- Add new stats for bytes processed for those non-indexed labels
- Add new ingestion metrics to track ingested non-indexed bytes
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [x] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
efac690328
|
Use series hash to identify uniques in merge. (#9985)
**What this PR does / why we need it**:
A run of the protobuf encoding for the querier showed a spike in memory
usage in the `codec.MergeResponse` method. The routine was allocating a
lot of memory for the `series.String()` method which is then hashed.
Instead, we can use a `uint64` hash.
```
› go test -v -run=^$ -bench "Benchmark_MergeResponses$" -count=10 ./pkg/querier/queryrange
...
│ before.txt │ after.txt │
│ sec/op │ sec/op vs base │
_MergeResponses-16 4.563 ± 1% 1.197 ± 1% -73.77% (p=0.000 n=10)
│ before.txt │ after.txt │
│ B/op │ B/op vs base │
_MergeResponses-16 6578.715Mi ± 0% 2.362Mi ± 0% -99.96% (p=0.000 n=10)
│ before.txt │ after.txt │
│ allocs/op │ allocs/op vs base │
_MergeResponses-16 40500.1k ± 0% 100.1k ± 0% -99.75% (p=0.000 n=10)
```
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [x] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
fa6f9c638a
|
Loki: add 'post_filter_lines' stat for tracking how many lines are match a queries filter expression(s) (#9983)
**What this PR does / why we need it**:
To better understand query behavior and labeling strategies of users,
logging the number of log lines "post filtering" can be very useful, we
already log the total_lines processed in a query so this will allow us
to see how many lines in the label selector matched what the query was
looking for.
**Which issue(s) this PR fixes**:
Fixes #<issue number>
**Special notes for your reviewer**:
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [ ] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
a09cb07e98
|
Define protobufs for topk and cms. (#9933)
**What this PR does / why we need it**:
This change introduces Protobuf models for the sketch data structures
which will be used to shard topk queries.
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [x] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
c2c5249676
|
Remove goroutines from limiter middleware. (#9923)
**What this PR does / why we need it**: The `limitedRoundTripper` would spawn thousands if not millions of goroutines. However, they were mostly idle waiting for downstream calls. This would congest the Go scheduler. A semaphore is more suitable to control concurrency as the [example](https://pkg.go.dev/golang.org/x/sync/semaphore#example-package-WorkerPool) in the documentation illustrates. |
3 years ago |
|
|
aae13c376d
|
Add metadata to push payload (#9694)
**What this PR does / why we need it**: We are adding support for attaching labels to each log line. This is one of the series of the PRs broken up to make it easier to review changes. This PR updates the push payload to send labels with each log entry optionally. The log labels are supposed to be in the same format as the stream labels. Just to put it out, here is how it would look for proto and json push payload with same data: **proto(`endpoint`: `(/loki/api/v1/push|/api/prom/push)`, `Content-Type`: `application/x-protobuf`)**(payload built using [push.Stream]( |
3 years ago |
|
|
9e19ff006c
|
Add targetLabels to SeriesVolume requests (#9878)
Adds optional `targetLabels` parameter to `series_volume` and `series_volume_range` requests that controls how volumes are aggregated. When provided, volumes are aggregated into the intersections of the provided `targetLabels` only. |
3 years ago |
|
|
e2e695e8cd
|
Get basic statistics from series volume requests (#9832)
The `series_volume` endpoint returns stats about the call. This PR wires things up such that basic stats are returned: - Execution time - Number of responses |
3 years ago |
|
|
f5992274f4
|
Switch on pointer `*logproto.SeriesResponse` in JSON serialization. (#9868)
**What this PR does / why we need it**: Commit |
3 years ago |
|
|
b35bbd80d6
|
Support content negotiation between query frontend and querier. (#9813)
**What this PR does / why we need it**:
Currently, the querier sends results to the query frontend in JSON which
is then decoded to Protobuf. It is more efficient to send the results as
Protobuf.
This will also allow to extend the results with custom data structures.
The change is backwards compatible through content negotiation.
**Special notes for your reviewer**:
**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [x] Documentation added
- [x] Tests updated
- [x] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |
|
|
b251a10234
|
uses lowercase standard for logging and adds total bytes to shard res… (#9828)
Minor logging cleanup + helpful to have total bytes on this log line to correlate without needing to derive total bytes from factor * bytes_per_shard |
3 years ago |
|
|
d4cfbaac4f
|
Implement series volume range queries (#9812)
This PR adds a `series_volume_range` endpoint which allows for series volume queries over time with a specified step, returning timeseries data in the form of a Prometheus matrix response. The existing `series_volume` endpoint still returns Prometheus vector responses, and hardcodes the step to 0. |
3 years ago |
|
|
6cc581bd26
|
Add back cache stats for index stats requests (#9816)
**What this PR does / why we need it**:
In https://github.com/grafana/loki/pull/9536, we added cache stats for
index stats requests. That PR had a bug that inflated the query stats
due to reusing the stats context in the query engine. Therefore, we had
to revert the PR at https://github.com/grafana/loki/pull/9721.
This PR brings back the changes from
https://github.com/grafana/loki/pull/9536 but fixes the inflated starts
by no longer reusing the same context in the query engine, but rather
creating a new one for the shard resolver.
I tested it on a dev cluster and seems to be working fine. here's the
output for the same query:
**Stats with the bug from #9536**:
```
...
Cache.StatsResult.Requests 980
Cache.StatsResult.EntriesRequested 490
Cache.StatsResult.EntriesFound 0
Cache.StatsResult.EntriesStored 490
Cache.StatsResult.BytesSent 0 B
Cache.StatsResult.BytesReceived 0 B
...
Summary.BytesProcessedPerSecond 43 GB
Summary.LinesProcessedPerSecond 93305142
Summary.TotalBytesProcessed 945 GB
Summary.TotalLinesProcessed 2059694183
```
**Stats from _main_**
```
...
Summary.BytesProcessedPerSecond 1.6 GB
Summary.LinesProcessedPerSecond 3403718
Summary.TotalBytesProcessed 95 GB
Summary.TotalLinesProcessed 207971404
```
**Stats with fix in this PR**
```
..
Cache.StatsResult.Requests 132
Cache.StatsResult.EntriesRequested 66
Cache.StatsResult.EntriesFound 0
Cache.StatsResult.EntriesStored 66
Cache.StatsResult.BytesSent 0 B
Cache.StatsResult.BytesReceived 0 B
...
Summary.BytesProcessedPerSecond 4.3 GB
Summary.LinesProcessedPerSecond 9468900
Summary.TotalBytesProcessed 95 GB
Summary.TotalLinesProcessed 207793816
```
As can be seen, with the changes in this PR, the summary stats are no
longer inflated.
**Which issue(s) this PR fixes**:
Fixes https://github.com/grafana/loki/pull/9536
**Special notes for your reviewer**:
I think it's ok to skip reviewing the changes from the commit
cherry-picking the changes from
https://github.com/grafana/loki/pull/9536
**Checklist**
- [ ] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [ ] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`
- [ ] For Helm chart changes bump the Helm chart version in
`production/helm/loki/Chart.yaml` and update
`production/helm/loki/CHANGELOG.md` and
`production/helm/loki/README.md`. [Example
PR](
|
3 years ago |