mirror of https://github.com/grafana/loki
Tag:
Branch:
Tree:
54edb2143f
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-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/push-build-artifacts-to-gar
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/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-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-google.golang.orgapi
deps-update/main-google.golang.orggrpc
deps-update/main-k8s.ioapimachinery
deps-update/main-lock-file-maintenance
deps-update/main-major-github.comtwmbfranz-gopkgkmsg
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/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-gar-upload/1
test-gar-upload/v0.0.1
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
workflow-helm-docs-install
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 }
716 Commits (54edb2143f9dbf8280e1cfa1c8efbfef1bb3e5bb)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
766f27645d
|
config: remove flags & YAML settings deprecated in 2.9.x (#11151)
**What this PR does / why we need it**: - remove `-ruler.evaluation-delay-duration` - remove `boltdb.shipper.compactor.deletion-mode` - remove compactor flags with prefix`-boltdb.shipper.compactor.*` - remove `validation.enforce-metric-name` - remove `log.use-buffered`, `log.use-sync` **Special notes for your reviewer**: `log.use-buffered`, `log.use-sync` are not mentioned in the upgrade guide since they were hidden fields **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 |
|
|
c4ed0d0b7f
|
Tokenizer tests and TokenizeLine updates (#11133)
**What this PR does / why we need it**: The thrust of this PR is to ensure we have tests for each major function of the Bloom Tokenizer. In addition, there was some cleanup, in that constants are used to set some common parameters. Lastly, the TokenizeLine() call was updated to correctly tokenize a line when a "skip tokenizer" is utilized. **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/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 |
|
|
cc6f0eca98
|
Return checksum from BuildFrom function (#11178)
**What this PR does / why we need it**: Follow up from https://github.com/grafana/loki/pull/11115 We want to know the checksum of the bloom blocks before uploading them to storage. Instead of opening the file and reading it, this PR returns the checksum from where it's created. |
3 years ago |
|
|
fa378ac0ec
|
Add first step for creating a single bloom from series (#11115)
**What this PR does / why we need it**: This is the first step to create a bloom from a series. The logic to get tenants and tables is a temporary hack and will be replaced by the ring logic in https://github.com/grafana/loki/pull/11154 **Which issue(s) this PR fixes**: Fixes #<issue number> **Special notes for your reviewer**: It does not handle appending multiple blooms into blocks. It does not handle creating and uploading of meta files. **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 |
|
|
30fbe38341
|
Revert "Introduces cache to TSDB postings (#9621)" (#11157)
This reverts commit
|
3 years ago |
|
|
e93f5bfd93
|
Add dashboard changes for migrating from cortex_ metrics to loki_ metrics (#11082)
**What this PR does / why we need it**: - add missing namespace param for ruler manager metrics - update the loki mixin to use the renamed metrics so both are supported - created the compiled mixin - make the prefix of the cortex_distributor_ingester_clients metrics configurable **Checklist** - [X] 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 |
|
|
6bfd2baec4
|
Bloom/fuse queries (#11088)
Introduces a "Fuse" operation on a single block querier which multiplexes queries against a single block. This is advantageous for a few reasons: * A "query" contains one of more series, with each series needing to test one or more chunks for some search string(s). * Blocks are sorted by fingerprint, which are the result of a hash function. This means series are ~uniformly distributed across the hash keyspace (`uint64` in our case). Because of this, a query for some number of series are likely to be spread out across the block itself. * Blocks are organized into individually compressed "pages". In essence, querying them requires Seeking to the correct offset, decompressing the page, then seeking within the page to the actual offset for a particular series. * Since the series for any query are likely spread out across the block, performing `n` queries decompresses each page `n` times. * By multiplexing many queries into a single pass iteration of the block, we amortize the cost of loading & decompressing Misc: Also introduces a bunch of generic-powered iterators. These can probably be optimized (I bet they use dynamic dispatch under the hood), but they're very convenient to prototype with and we can improve them in the future if it proves warranted. |
3 years ago |
|
|
df9c6fcac4
|
Add series population to tokenizer (#11070)
**What this PR does / why we need it**:
I started to use tokenizer module for bloom creation and populating the
SBF without the series with chunk ref is weird, as we populate only half
of a data structure.
I modified it to populate entire `SeriesWithBloom` as it has all the
information.
**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/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 |
|
|
45b10effac
|
embedded cache refactoring (#10989)
**What this PR does / why we need it**: refactored embedded cache to allow using it for any types, not only for `string -> []byte`. Also, the new implementation allows passing the callback that will be called for the removed entry. --------- Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com> |
3 years ago |
|
|
fb6f6d2e2f
|
Stop using global logger in modules (#11051)
**What this PR does / why we need it**:
Refactors Loki to inject logger from the constructors instead of using
global logger variable. It is generally considered a good practice.
**Which issue(s) this PR fixes**:
[Fixes #<issue
number>](https://github.com/grafana/loki-private/issues/810)
**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
- [ ] 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 |
|
|
4b750cc0cc
|
Storage: Allow setting a constant prefix for all created keys (#10096)
**What this PR does / why we need it**:
Adds a new option under the aws stanza named key_prefix. This is useful
if you have many Loki installations and do not want to create a million
buckets. This is different than `compactor.shared_store_key_prefix`
because it also affects eg the `loki_cluster_seed.json` file.
**Which issue(s) this PR fixes**:
Fixes #5889
**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
- [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 |
|
|
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 |
|
|
a118e994d8
|
Remove shared_store and shared_store_key_prefix from shipper and compactor (#10840)
**What this PR does / why we need it**:
#### Removes `shared_store` and `shared_store_key_prefix` from index
shipper and compactor configs and their corresponding CLI flags.
- `-tsdb.shipper.shared-store`
- `-boltdb.shipper.shared-store`
- `-tsdb.shipper.shared-store.key-prefix`
- `-boltdb.shipper.shared-store.key-prefix`
- `-boltdb.shipper.compactor.shared-store`
- `-boltdb.shipper.compactor.shared-store.key-prefix`
`shared_store` has been a confusing option allowing users to easily
misconfigure Loki.
Going forward `object_store` setting in the
[period_config](https://grafana.com/docs/loki/latest/configure/#period_config)
(which already configured the store for chunks) will be used to
configure store for the index.
And the newly added `path_prefix` option under the `index` key in
`period_config` will configure the path under which index tables are
stored.
This change enforces chunks and index files for a given period reside
together in the same storage bucket. More details in the upgrade guide.
---
`-compactor.delete-request-store` has to be **explicitly configured**
going forward. Without setting this, loki wouldn't know which object
store to use for storing delete requests. Path prefix for storing
deletes is decided by `-compactor.delete-request-store.key-prefix` which
defaults to `index/`.
**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
- [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 |
|
|
c7eb757ed8
|
Initial loki bloom creation library (#10957)
**What this PR does / why we need it**:
Optimization and benchmarking of various LRUs that sit in front of the
bloom filters.
Initial creation of a library that can be used to create blooms from
chunks
**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/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 |
|
|
a550b767d3
|
config: Remove already deprecated `store.max-look-back-period`. (#11038)
This is already been deprecated longback. Decided to remove in next versions of Loki Signed-off-by: Kaviraj <kavirajkanagaraj@gmail.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 |
|
|
0a7737e7c7
|
adds a merge-builder for building blocks from other blocks+storage (#10974)
Some minor refactoring + a (simple) `MergeBuilder` struct to build bloom blocks from other blocks and storage, depending on what's already been indexed into the blocks. |
3 years ago |
|
|
cbc0df3241
|
Add NewBlockOptions constructor (#10955)
Adds a `NewBlockOptions()` constructor plus a quick fix for a missed err check. |
3 years ago |
|
|
2abb472e7e
|
Unify ring managers across components (#10931)
**What this PR does / why we need it**: This PR creates a re-usable `RingManager` implementation that is then used by * Query Scheduler ring * Index Gateway ring * Bloom Gateway ring * Bloom Compactor ring **Which issue(s) this PR fixes**: Every component had its own implementation of the ring manager which only really differed in the log messages containing the component name. --------- Signed-off-by: Christian Haudum <christian.haudum@gmail.com> |
3 years ago |
|
|
89829065e7
|
Use lazy bloom filter (#10896)
**What this PR does / why we need it**: When querying bloom filters, use lazy decoders from https://github.com/owen-d/BoomFilters/pull/1 so we don't make a copy of bloom filters. |
3 years ago |
|
|
d84026cab6
|
Adjust bloom gateway request structure (#10926)
**What this PR does / why we need it**: Since we already group chunkRefs by fingerprint on the client side to determine the correct bloom gateway to send the request to, we can keep the grouping for the gRPC request. This will not only optimize the request size, but also helps to reduce complexity of querying blooms on the bloom gateway itself. There is still conversion between `[]*logproto.ShortRef` and `v1.ChunkRefs` required, which could be removed by sending `v1.ChunkRefs` over the wire. **Special notes for your reviewer**: Signed-off-by: Christian Haudum <christian.haudum@gmail.com> |
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 |
|
|
ad0f7ab845
|
Blooms/merge-iters (#10923)
Adds a bunch of bloom filterutilities in preparation for merging & extending bloom blocks with new chunks/series |
3 years ago |
|
|
0832256d7b
|
Add basic structure of bloom compactor (#10748)
This pull request adds the basic structure for the new bloom compactor component. - Adds new `bloom-compactor` target that runs with with multiple instances joined by a ring - Adds boilerplate functions to index blooms and compact blocks The main goal of this PR is to provide a basic functionality on which future smaller PRs can build upon. Since the code path is completely separate in a new component, it is not used anywhere at the moment. |
3 years ago |
|
|
f861068df4
|
moves boomfilters lib into loki (#10898)
In an effort to speed up development, this moves a subset of [my fork](https://github.com/owen-d/BoomFilters) of the https://github.com/tylertreat/BoomFilters library into loki itself. I've done my best to preserve original license headers/etc. |
3 years ago |
|
|
b49b3ce6e1
|
Add basic structure of bloom gateways (#10782)
### Summary
This pull requests adds the basic structure for the new bloom gateway component.
- Adds new `bloom-gateway` target that runs with multiple instances joined by a ring
- Adds a querier and client component on the index gateway to filter chunk refs
- Adds the gRPC protobuf definitions for commication between index gateways and bloom gateways
- Adds a store component used on the bloom gateways to query binary bloom files
```
Querier Query Frontend
| |
................................... service boundary
| |
+----+------+
|
indexgateway.Gateway**
|
bloomgateway.BloomQuerier
|
bloomgateway.GatewayClient
|
logproto.BloomGatewayClient
|
................................... service boundary
|
bloomgateway.Gateway
|
bloomshipper.Store
|
bloomshipper.Shipper
|
bloomshipper.BloomFileClient**
|
ObjectClient**
|
................................... service boundary
|
object storage
** not part of this PR
```
This PR still contains a lot of TODOs and possibilities for optimisations, which will be addressed in subsequent pull requests.
Signed-off-by: Christian Haudum <christian.haudum@gmail.com>
|
3 years ago |
|
|
b52d836867
|
Blooms/chunk check (#10886)
[WIP] Adds ability to return the list of chunks needed to be downloaded by a query based on bloom membership results |
3 years ago |
|
|
127a8e27e7
|
[BloomShipper] updated bloom shipper to extract the block using the library (#10876)
Initial implementation was done based on the assumption that we would use ZIP to archive the blocks. However, we will use `.tar.gz` archives, so, the implementation has been adjusted to use helpers from the library that allow to archive/unarchive `.tar.gz` files. re: https://github.com/grafana/loki/pull/10849 Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com> |
3 years ago |
|
|
7f02ef3fa7
|
helpers for tar+gz over bloom blocks (#10849)
Simple start, but helpful for building & extracting tar+gz archives over bloom block directories. |
3 years ago |
|
|
8bb615c2cc
|
config: loki better defaults (#10793)
**What this PR does / why we need it**:
Updates some of the configuration defaults to provide a better
experience for users out of the box.
I tried to add notes for non-trivial changes explaining the reason.
| configuration | new default | old default | notes |
| ------------------------------------------------------ | ----------- |
----------- | --------
| `compactor.delete-max-interval` | 24h | 0 | splits the delete requests
into intervals no longer than `delete_max_interval` |
| `distributor.max-line-size` | 256KB | 0 | - |
| `ingester.sync-period` | 1h | 0 | ensures that the chunk cuts for a
given stream are synchronized across the ingesters in the replication
set. Helps with deduplicating chunks. |
| `ingester.sync-min-utilization` | 0.1 | 0 | ^ |
| `frontend.max-querier-bytes-read` | 150GB | 0 | - |
| `frontend.max-cache-freshness` | 10m | 1m | avoid caching results for
data that is still in churn |
| `frontend.max-stats-cache-freshness` | 10m | 0 | avoid caching results
for data that is still in churn |
| `memcached.batchsize` | 256 | 1024 | - |
| `memcached.parallelism` | 10 | 100 | - |
| `querier.tsdb-max-query-parallelism` | 128 | 512 | avoid over
parallelising queries for smaller installations |
| `querier.split-queries-by-interval` | 1h | 30m | avoid over
parallelising queries for smaller installations |
| `querier.compress-http-responses` | true | false | compress response
if the request accepts gzip encoding |
| `query-scheduler.max-outstanding-requests-per-tenant` | 32000 | 100 |
current default is too small, opening a big dashboard could hit this
limit |
| `validation.max-label-names-per-series` | 15 | 30 | reducing this to
avoid blowing up the series count and index size. Also enforces users to
think about what labels are being added. |
**Special notes for your reviewer**:
regarding `TestQueryTSDB_WithCachedPostings`:
removed the assert on get calls as this is hard to get right (splits,
querySize mw making stats calls)
validating additions to the cache and misses is more important here I
think.
**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
- [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 |
|
|
fc13c9843b
|
Fix some typos (#10845)
**What this PR does / why we need it**:
Fix some typos, no behavioral changes.
**Checklist**
- [x] 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 |
|
|
489ca25bab
|
Upgrade to Prometheus@4b9c19fe5510 (#10843)
**What this PR does / why we need it**:
Upgrade to Prometheus@4b9c19fe5510. Since also golang.org/x/exp gets
upgraded, calls to e.g. `slices.SortFunc` need updating (due to changed
comparison function signature). I'm not aware of any functional changes
from Prometheus (or otherwise), but please review carefully.
**Special notes for your reviewer**:
The Mimir team needs for Loki to be compatible with the latest
Prometheus, so we can vendor mimir-prometheus@main into GEM.
**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [na] Documentation added
- [x] Tests updated
- [na] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [na] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/setup/upgrade/_index.md`
- [na] 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 |
|
|
8b94439434
|
Bloom Shipper (#10806)
implemented bloom shipper that allows to iterates over all active blocks This new component will be used by the bloom-compactor and bloom-gateway. #### How BloomShipper works 1. looks up all Metas 2. from metas gets list of all blocks 3. from metas gets list of tombstones 4. removes tombstoned blocks from the list of all blocks 5. passes all active blockReferences to bloomClient 6. once bloomClient returns the downloaded block, it extracts all files from bloom block archive into working directory 7. creates `*BlockQuerier` and run a callback function with it **Note:** `BlockQuerier` will be created using `BloomDirectoryReader` that will be created using the past from step #6 --------- Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com> |
3 years ago |
|
|
7ccec83926
|
Index gateway simple mode connection pool (#10783)
**What this PR does / why we need it**:
The current implementation of "simple mode" (which does not use the ring
for gateway discovery) only makes a single connection at startup to a
single query. This doesn't lend to the best load balancing when running
with many gateways.
This PR introduces the same pool we use for ring mode with a DNS based
discovery mechanism.
Note: outside of the scope of this PR, we create a connection pool per
index schema period. This isn't really a problem but I think it would be
better to revisit this some day to only have a single connection pool
per querier.
**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/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 |
|
|
b31ed050ae
|
Bloom Client (#10697)
Implemented BloomClient that allows : 1. fetch all meta.json files that satisfy the search criteria 2. upload meta.json 3. delete meta.json 4. fetch bloom blocks in bulk 5. upload bloom blocks in bulk 6. delete bloom blocks in bulk Bloom shipper was extracted to a separate PR https://github.com/grafana/loki/pull/10806 --------- Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com> |
3 years ago |
|
|
c405db4317
|
Format + Library for building bloom filter "blocks" from chunks (#10780)
This PR introduces both a binary format for bloom filter "blocks" and a library for building/querying them. Each "block" consists of two files: 1) `Index`. This is a list of individually compressed pages of stream+chunk information sorted in ascending fingerprint order. Each series lists both the chunks indexed in the bloom filters as well as the relevant offsets for said series in the bloom file. 2) `Blooms`. This is a list of individually compressed pages of bloom filters for each series, again sorted in ascending fingerprint order. There is still more work to do, but I'm opening this PR as an initial pass. |
3 years ago |
|
|
0c58c78828
|
Index Gateway: Set some concurrency limits around concurrent index table processing (#10768)
**What this PR does / why we need it**:
This addresses an issue we've seen with index gateways when handling
queries that touch a large number of series, although these are
improvements not necessarily solutions.
We've seen a tremendous amount of goroutines being spawned while
processing GetChunkRefs requests, specifically when the gateways have
recently found a lot of uncompacted recent ingester tables.
This PR puts some limits on the parallelism of processing tables, the
implementation is a bit arbitrary, we limit the concurrent iterations to
GOMAXPROCS/2
In practice this is potentially still too much as an index gateway will
be serving many requests in parallel witch each able to do parallel
table iteration, however it's a more reasonable line in the sand than
having no limits and eases some pressure on the Go scheduler.
**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/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 |
|
|
07cbef9226
|
Update Prometheus dependency to v2.46.0 (#10777)
This PR updates the Prometheus dependency to v2.46.0. We need this to update the Agent to use Prometheus' Native Histograms after some bug fixes in the latest version. I bumped the version in go.mod, ran `go mod tidy && go mod vendor` and fixed compilation issues. **Special notes for your reviewer**: The only changes needed to have `make all` successfully compile was to use the new `wlog.NewSize` to use wlog.CompressionNone (instead of false), and wlog.CompressionSnappy (the default, instead of true), as well as add a new argument to the textparse.New constructor to work as it did without scraping native histograms via protobuf. I don't think there are any other user-facing changes or changes related to Loki. --------- Signed-off-by: Paschalis Tsilias <paschalis.tsilias@grafana.com> |
3 years ago |
|
|
91cae03fe1
|
chore: restructure compactor package (#10775)
**What this PR does / why we need it**:
This pr moves the compactor pkg from
`pkg/storage/stores/shipper/indexshipper/compactor` to `pkg/compactor` -
same level as other high level components (querier, distributor...)
table compaction code however resides in the respective store pkg closer
to other store specific code.
`pkg/storage/stores/shipper/indexshipper/boltdb/compactor/table_compactor.go`
`pkg/storage/stores/shipper/indexshipper/tsdb/compactor.go`
**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
- [ ] `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 |
|
|
3038170aee
|
Add deprecation node for write dedupe cache (#10736)
**What this PR does / why we need it**:
Adds a deprecation node for write dedupe cache. This cannot be fully
removed yet as legacy indexes rely on this.
**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 |
|
|
fcdd55b6c9
|
embedded cache: update metric namespace and remove duplicate metrics (#10693)
**What this PR does / why we need it**: Removes the following embedded cache metrics since `loki_cache_request_duration_seconds` (which instruments requests made to all the caches) [already covers them]( |
3 years ago |
|
|
2e775f3f44
|
chore(storage): Restructure shipper packages (#10729)
**What this PR does / why we need it**:
This PR restructures the code for the shipper component of the Loki storage layer.
New package layout:
```console
$ tree -d pkg/storage/stores/shipper
pkg/storage/stores/shipper
└── indexshipper
├── boltdb
│ └── compactor
├── compactor
│ ├── client
│ │ └── grpc
│ ├── deletion
│ ├── deletionmode
│ ├── generationnumber
│ └── retention
├── downloads
├── gatewayclient
├── index
├── indexgateway
├── storage
├── testutil
├── tsdb
│ ├── index
│ ├── testdata
│ └── testutil
├── uploads
└── util
23 directories
```
* TSDB and BoltDB specific code is under `./pkg/storage/stores/shipper/indexshipper/tsdb` and `./pkg/storage/stores/shipper/indexshipper/boltdb` respectively.
* Common code for both TSDB and BoltDB is directly under `./pkg/storage/stores/shipper/indexshipper` and subdirectories, such as `uploads/`, `downloads/`, `compactor/`, ...
**Special notes for your reviewer**:
This PR is identical to https://github.com/grafana/loki/pull/10724 except of the package `pkg/storage/stores/indexshipper` the package is `pkg/storage/stores/shipper/indexshipper` (one level deeper).
Signed-off-by: Christian Haudum <christian.haudum@gmail.com>
|
3 years ago |
|
|
76842262c7
|
Rename NewShipper to NewIndexClient (#10700)
The constructor function name is misleading as it suggests that the returned object is a [shipper](https://github.com/grafana/loki/blob/main/pkg/storage/stores/shipper/index/table_manager.go#L48), rather than an index client. Also, change the return type to be a struct pointer, rather than an interface. Signed-off-by: Christian Haudum <christian.haudum@gmail.com> |
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 |
|
|
5fb1cdb5dd
|
azure: add connection-string (#10187)
**What this PR does / why we need it**:
Adds a connection-string option to the azure blob storage config. So the
[Azurite](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite)
emulator can be used in local test environments (my use case). But also
to support the use of a SAS token. See the (future) addition of this
option to the Thanos object storage client:
https://github.com/thanos-io/objstore/pull/51
**Which issue(s) this PR fixes**:
n/a
**Special notes for your reviewer**:
https://github.com/thanos-io/objstore/pull/51 isn't merged yet. But I'm
already creating this PR to see what others think.
**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/setup/upgrade/_index.md`
- [x] 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 |
|
|
641c9ee48a
|
Don't allow unbounded parallelism when downloading indices (#10634)
Index Gateways can stall when certain queries try to download tons of indices because. `ErrGroup` needs an explicit limit set on it. This PR sets the limit provisionally until a more configurable solution can be introduced. --------- Co-authored-by: Dylan Guedes <dylan.guedes@grafana.com> |
3 years ago |
|
|
3a8a5e54dd
|
Fix object store type for table manager (#10632)
**What this PR does / why we need it**: This commit fixes a regression in the object store client creation introduced with #10518 Signed-off-by: Christian Haudum <christian.haudum@gmail.com> |
3 years ago |
|
|
769979c9f6
|
chore(storage): Refactor store factory (#10518)
**What this PR does / why we need it**: This PR makes a clearer distinction between supported and deprecated index/chunk storage types. There are individual commits for the different factory functions: * Refactor table client factory * Refactor index client factory * Refactor chunk client factory * Split initStore function --------- Signed-off-by: Christian Haudum <christian.haudum@gmail.com> |
3 years ago |