mirror of https://github.com/grafana/loki
Tag:
Branch:
Tree:
2c0cc01fa1
18060-enhance-log-level-detection-for-unstructured-logs
2.9.15RN
2.9.x-bump-golang
2005.12.08-limits
2023-03-16-new-query-limits
2025.08.04_metricsQuery
2025.12.02_troubleshooting-ingest
56quarters/vendor-updates
7139-json-properties-in-log-line-is-not-sorted
Alex3k-patch-1
Alex3k-patch-2
Alex3k-patch-3
Alex3k-patch-5
Alex3k-patch-6
JStickler-patch-1
RN-35
RemoveAgent
SE_16669
TR-query4
TR-query5
add-10055-to-release-notes
add-10193-to-release-notes
add-10213-to-release-notes
add-10281-to-release-notes
add-10417-to-release-notes
add-12403-to-release-notes
add-9063-to-release-notes
add-9484-to-release-notes
add-9568-to-release-notes
add-9704-to-release-notes
add-9857-to-release-notes
add-blooms-flag-to-index-lookup
add-bucket-name-to-objclient-metric
add-claude-github-actions-1755010590637
add-claude-github-actions-1755010669077
add-containerSecurityContext-to-statefulset-backend-sidecar
add-max-flushes-retries
add-page-count-to-dataobj-inspect
add-per-scope-limits
add-time-snap-middleware
add_metrics_namespace_setting
add_series_chunk_filter_test
add_vector_to_lokitool_tests
added-hints-to-try-explore-logs
adeverteuil-patch-1
aengusrooneygrafana-update-doc-pack-md
akhilanarayanan/dountilquorum
akhilanarayanan/query-escaping
akhilanarayanan/replace-do-with-dountilquorum2
alt-err-prop
andrewthomas92-patch-1
andrii/fix_default_value_for_sasl_auth
arrow-engine/stitch-store-and-engine
arve/remove_global_name_validation
ashwanth/remove-unordered-writes-config
ashwanth/restructure-query-section
ashwanth/skip-tsdb-load-on-err
attempt-count-streams-per-query
auto-remove-unhealthy-distributors
auto-triager
automated-helm-chart-update/2023-02-01-05-30-47
automated-helm-chart-update/2023-04-05-19-46-39
automated-helm-chart-update/2023-04-24-20-56-21
automated-helm-chart-update/2023-04-24-22-40-04
automated-helm-chart-update/2023-09-07-18-09-02
automated-helm-chart-update/2023-09-14-16-23-44
automated-helm-chart-update/2023-10-16-14-20-07
automated-helm-chart-update/2023-10-18-10-10-52
automated-helm-chart-update/2023-10-18-13-14-43
automated-helm-chart-update/2024-01-24-16-05-59
automated-helm-chart-update/2024-04-08-19-24-50
aws-bug
azuretaketwo
backport-10090-to-k160
backport-10101-to-release-2.9.x
backport-10221-to-release-2.8.x
backport-10318-to-k163
backport-10687-to-release-2.9.x
backport-11251-to-k175
backport-11827-to-k186
backport-13116-to-release-3.2.x
backport-13116-to-release-3.3.x
backport-13225-to-main
backport-14221-to-release-3.2.x
backport-14780-to-release-3.2.x
backport-15483-to-release-3.3.x
backport-16045-to-k239
backport-16203-to-k242
backport-16954-to-main
backport-17054-to-k249
backport-17129-to-k277
backport-18538-to-release-3.4.x
backport-8893-to-release-2.6.x
backport-8971-to-release-2.7.x
backport-9176-to-release-2.8.x
backport-9757-to-release-2.8.x
backport-9978-to-k158
backport-9978-to-k159
backport-b57d260dd
benclive/add-alternative-int64-encoder-dataobj
benclive/add-index-ptr-to-inspect
benclive/add-unique-parsed-keys-to-pointers
benclive/customize-client-params
benclive/dont-apply-limit-under-filter-exp
benclive/exp-query-comparator
benclive/fix-index-entries-for-single-tenant-objects
benclive/fix-some-data-races
benclive/hedge-requests-exp
benclive/implement-strict-logfmt-parsing-main
benclive/index-testing-wip
benclive/multi-tenant-toc
benclive/parquet-bench-experiment
benclive/query-fixes
benclive/respect-encoding-flags-compat
benclive/scan-kafka
benclive/serialize-stats-on-wire
benclive/sort-descriptions-before-return
benclive/sort-descriptors
benclive/test-fix-empty-matchers
benton/loki-mixin-updates
benton/loki-mixin-v2
better-batches
better-log-line-level-detection
blockbuilder-timespan
blockscheduler-track-commits
bound-parallelism-slicefor
buffered-kafka-reads
build-samples-based-on-num-chunks-size
callum-builder-basemap-lock
callum-explainer-hack
callum-hackathon-explainer
callum-iterator-arrow-record
callum-k136-jsonnet-fix
callum-lambda-promtail-test
callum-parallelize-first-last
callum-pipeline-sanitize-sm-values
callum-prob-step-eval
callum-quantile-inner-child
callum-query-limits-validation
callum-querylimit-pointers
callum-remove-epool
callum-ruler-local-warn
callum-s3-prefix-metric
callum-shard-last
callum-snappy-exp
callum-stream_limit-insights
callum-track-max-labels
chaudum/batch-log-enqueue-dequeue
chaudum/benchmark-reassign-queriers
chaudum/bloomfilter-e2e-parallel-requests
chaudum/bloomfilter-jsonnet
chaudum/bloomgateway-client-tracing
chaudum/bloomgateway-testing
chaudum/bloomstore-cache-test
chaudum/bloomstore-fetch-blocks
chaudum/bump-helm-4.4.3
chaudum/canary-actor
chaudum/chaudum/query-execution-pull-iterators
chaudum/chunk-compression-read-benchmark
chaudum/cleanup-ingester
chaudum/cmp-fix
chaudum/compactor-list-objects
chaudum/cri-config
chaudum/day-chunks-iter-test
chaudum/debug-compat
chaudum/debug-skipped
chaudum/distributor-healthcheck
chaudum/dockerfmt
chaudum/fix-flaky-multitenant-e2e-test
chaudum/fix-generate-benchmark-data-for-new-indexes
chaudum/fix-max-query-range-limit
chaudum/fix-predicate-from-matcher
chaudum/fixed-size-memory-ringbuffer
chaudum/generic-dataobj-section
chaudum/grpc-transport
chaudum/hackathon-analyze-pipelines
chaudum/hackathon-analyze-pipelines-v2
chaudum/hackathon-analyze-pipelines-v3
chaudum/hashwithoutlabels
chaudum/helm-remove-image-override-for-gel
chaudum/improve-git-fetch-makefile
chaudum/improve-timestamp-parsing
chaudum/index-gateway-instrumentation-k204
chaudum/instant-query-benchmarks
chaudum/integration-test-startup-timeout
chaudum/k204-index-gateway
chaudum/k259
chaudum/linked-map
chaudum/local-index-query
chaudum/logcli-load-multiple-schemaconfig
chaudum/loki-query-engine-ui
chaudum/make-bloomfilter-task-cancelable
chaudum/metastore-caching
chaudum/native-docker-builds
chaudum/new-engine-sharding
chaudum/page-cache
chaudum/physical-plan-optimizer-visitor-pattern
chaudum/querier-worker-cpu-affinity
chaudum/query-execution
chaudum/query-executor-4
chaudum/query-skip-factor
chaudum/remove-bigtable-backend
chaudum/remove-boltdb-backend
chaudum/remove-cassandra-backend
chaudum/remove-deprecated-storage-backends
chaudum/remove-dynamodb-backend
chaudum/rewrite-runtime-config
chaudum/run-query-engine-in-frontend
chaudum/seek-panic
chaudum/shard-by-section-k258
chaudum/shared-compressors
chaudum/sort-by-timestamp
chaudum/sort-dataobj-sections-by-timestamp-desc-parallelise
chaudum/syslog-udp-cleanup-idle-streams
chaudum/topk-popall
check-inverse-postings
cherrypick-9484-k151
chunk-inspect-read-corrupt
chunk-query
chunks-inspect-v4-read-corrupt
chunks_compaction_research
chunkv5
cle_updates
cleanup-campsite/removing-deprecations
cleanup-migrate
codeowners-mixins-20240925
context-cause-usage
correct-kafka-metric-names
correctly-propagates-ctx
crypto
crypto2
cursor/analyze-index-gateway-performance-changes-between-branches-4f9d
cursor/audit-license-change-commits-de87
cursor/compare-grafana-database-architectures-6434
cursor/compare-grafana-database-architectures-9478
cursor/compare-grafana-database-architectures-bc02
cursor/create-lightweight-loki-client-module-74c9
cursor/create-lightweight-loki-client-module-e1fe
cursor/extract-loki-client-utilities-to-new-module-2891
cursor/investigate-recent-api-response-changes-82fb
cursor/update-loki-opentelemetry-dependencies-efe4
custom-headers
dannykopping/groupcache-instrument
dannykopping/memcached-slab-allocator
dannykopping/remove-cache-stats
danstadler-pdx-patch-1
danstadler-pdx-patch-2
data-race-fix-01
dataobj
dataobj-compression-ratio-and-final-size
dataobj-comsumer-metastore-orig
dataobj-log-batches
dataobj-logs-sort
dataobj-logs-sortorder
dataobj-querier-logger
dataobj-reader-stats
dataobj-shard-debug
dataobj-store-sort-order
dataset-reader-fill-fail
debug-bloomgateway
dedup-only-partitions
del-ashwanth-custom
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
deprecatable-metrics-example
deps-update/main-alpine
deps-update/main-fluentfluent-bit
deps-update/main-github.comapachearrow-gov18
deps-update/main-github.comawsaws-sdk-go-v2config
deps-update/main-github.comawsaws-sdk-go-v2servicedynamodb
deps-update/main-github.comawsaws-sdk-go-v2services3
deps-update/main-github.combaidubcebce-sdk-go
deps-update/main-github.comgrafanalokiv3
deps-update/main-github.cominfluxdatatelegraf
deps-update/main-github.comparquet-goparquet-go
deps-update/main-github.compierreclz4v4
deps-update/main-go.opentelemetry.iocontribinstrumentationgoogle.golang.orggrpcotelgrpc
deps-update/main-go.opentelemetry.iocontribinstrumentationnethttphttptraceotelhttptrace
deps-update/main-go.opentelemetry.iocontribinstrumentationnethttpotelhttp
deps-update/main-go.opentelemetry.iootel
deps-update/main-go.opentelemetry.iootelsdk
deps-update/main-go.opentelemetry.iooteltrace
deps-update/main-golang.orgxcrypto
deps-update/main-golang.orgxnet
deps-update/main-golang.orgxtext
deps-update/main-google.golang.orgprotobuf
deps-update/main-hashicorpaws
deps-update/main-hashicorpgoogle
deps-update/main-https-github.comgrafanaloki.git
deps-update/main-rollout-operator
detected-labels-add-limits-param
detected-labels-from-store
detected-labels-minor-enhancements
dev-rel-workshop
dfinnegan-fgh-patch-1
digitalemil-patch-1
digitalemil-patch-2
digitalemil-patch-3
digitalemil-patch-4
dimitarvdimitrov-patch-1
dirlldown-config-endpoint__devenv
distributed-helm-chart
distributed-helm-demo
distributors-exp-avg
do-not-retry-enforced-labels-error
do-until-quorom-wip
doanbutar-patch-1
doanbutar-patch-2
docs-ipv6
docs-nvdh-log-queries
dodson/admonitions
dont-log-every-indexset-call-
dont-sync-old-tables
dont-tee-unsampled
ej25a-patch-1
emit-events-without-debuggnig
enable-hedging-on-ingester-requests
enable-limitedpusherrorslogging-by-default
enable-stream-sharding
enforce-sharding-of-approx-topk-queries
engine-batchsize-metric
engine-v2-simplify-regex
exceeds-rate-limit-check
executor-lazypipeline
explore-logs-fallback-query-path
faster-cleanupexpired
faster-truncate-log-lines
fastest-path-return
fcjack/image-workflows
fcjack/test-agent-lables
feat-multi-tenant-topics
feat/drain-format
feat/pattern-pattern-mining
feat/syslog-rfc3164-defaultyear
feat/usage-tracker
filter-node-pushdown
fix-2.8-references
fix-discarded-otlp-volume
fix-headers
fix-helm-bucket-issue
fix-helm-enterprise-values
fix-helmchart
fix-igw-job
fix-image-tag-script
fix-legacy-panels
fix-object-storage
fix-orphan-spans
fix-otlp-exporter-metric
fix-promtail-cves
fix-release-lib-shellcheck
fix-stream-generator-locks
fix/pattern-merge
fix_more_dashboards
fix_windowsserver_version
fmt-jsonnet-fix
force-loki-helm-publish
get-marked-for-deletions
gh-action-labeler-fix
gh-readonly-queue/main/pr-11793-215b5fd2fd71574e454529b1b620a295f1323dac
goldfish-rds-args-k279
goldfish-ui-improvements-2
goldfish-ui-k263
grafana-dylan-patch-1
grobinson/add-kafkav2
grobinson/add-metric-flush-duration
grobinson/add-metric-processed-bytes
grobinson/fix-race-condition-in-tracker
grobinson/move-appends-metric-into-builder
grobinson/namespace-subsystem-deprecated
grobinson/rate-metric-to-compare
grobinson/segmentation-key-demo
grobinson/track-consumption-lag-offsets
grobinson/use-local-distributor-rate-store-segmentation-keys
grobinson/wip-flush-in-background
groupcache
gtk-grafana/drilldown-config-endpoint__devenv
guard-againts-non-scheduler-request
guard-ingester-detected-field-errors
hackathon-2023-08-events-in-graphite-proxy
hackathon/demo
hackathon/hackathon-2023-12-arrow-engine
handle-errors-per-category
hedge-index-gateway
hedge-index-gateway-220
helm-5.47.3
helm-5.48
helm-chart-tagged-6.20.0
helm-chart-tagged-6.26.0
helm-chart-tagged-6.27.0
helm-chart-tagged-6.28.0
helm-chart-tagged-6.30.0
helm-chart-tagged-6.31.0
helm-chart-tagged-6.32.0
helm-chart-tagged-6.47.0
helm-chart-weekly-6.24.0-weekly.233
helm-chart-weekly-6.25.0-weekly.234
helm-chart-weekly-6.25.0-weekly.235
helm-chart-weekly-6.25.0-weekly.236
helm-chart-weekly-6.25.0-weekly.237
helm-chart-weekly-6.26.0
helm-chart-weekly-6.26.0-weekly.238
helm-chart-weekly-6.26.0-weekly.239
helm-chart-weekly-6.26.0-weekly.240
helm-chart-weekly-6.26.0-weekly.241
helm-chart-weekly-6.28.0-weekly.242
helm-chart-weekly-6.28.0-weekly.243
helm-chart-weekly-6.28.0-weekly.244
helm-chart-weekly-6.29.0-weekly.245
helm-chart-weekly-6.29.0-weekly.246
helm-chart-weekly-6.29.0-weekly.247
helm-chart-weekly-6.30.0
helm-chart-weekly-6.47.0
helm-chart-weekly-6.50.0
helm-loki-values-backend-target
high-load-gateway
hot-fix-breaking-change
ignore-yaml-errors
improve-benchtest-dataset
improve-cleanup-stats
improve-distributor-latency
index-gateways/reduce-goroutines
index-stats
ingest-limits-reader-client-optimization
ingest-pipelines
inline-tsdb-on-cache
integrate-laser
intentional-failure
is-this-qfs-cure
ivkalita/metastore-distributed-plus-scheduler
ivkalita/metastore-merge-nodes
jdb/2022-10-enterprise-logs-content-reuse
jdb/2023-03-update-doc.mk
jdb/2025-05/add-docs-license
jnewbigin/otlp-unbounded-reads
jsonnet-update/2023-01-31-10-09-02
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
k131-no-validate-matchers-labels
k132
k133
k135
k135-sharding-hotfix
k136
k137
k138
k139
k14
k140
k141
k142
k143
k144
k145
k146
k146-with-chunk-logging
k147
k148
k149
k15
k150
k150-merge-itr-fix
k151
k152
k153
k154
k155
k156
k157
k158
k159
k16
k160
k161
k162
k163
k164
k165
k166
k167
k168
k168-ewelch-concurrency-limits
k169
k17
k170
k171
k171-with-retry
k172
k173
k174
k174-fixes2
k175
k176
k177
k178
k179
k18
k180
k181
k182
k183
k183-quantile-patch
k184
k185
k185-fix-previous-tsdb
k186
k187
k188
k189
k19
k190
k191
k192
k193
k194
k195
k195-backup
k196
k197
k198
k199
k199-debug
k20
k200
k201
k202
k203
k203-with-samples
k204
k204-separate-download
k205
k205-with-samples
k206
k207
k207-ingester-profiling-2
k208
k209
k209-ewelch-idx-gateway-hedging
k21
k210
k210-ewelch-idx-gateway-hedge
k210-ewelch-shard-limited
k211
k211-ewelch-congestion-control
k211-ewelch-datasample
k211-ewelch-test-frontend-changes
k212
k213
k213-ewelch
k214
k215
k216
k217
k217-alloy-v1.7-fork
k217-without-promlog
k218
k219
k22
k220
k220-index-sync
k220-move-detected-fields-logic-to-qf
k220-with-detected-fields-guard
k221
k221-index-sync-fixes
k221-with-stream-logging
k222
k222-shard-volume-queries
k228
k229
k23
k230
k231
k232
k233
k234
k235
k236
k236-with-agg-metric-payload-fix
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
k256-ewelch-distributor
k257
k257-ewelch-max-query-series
k258
k259
k26
k260
k261
k262
k262-limit-patterns-2
k262-limit-patterns-test
k263
k263-log-labels-string
k264
k265
k266
k267
k268
k269
k27
k270
k271
k271-pattern-volume
k272
k272-ewelch
k273
k274
k274-7a1d4f729e
k275
k276
k276-dataobj-sort
k277
k278
k278-ewelch
k278-goldfish-storage
k279
k28
k280
k281
k282
k283
k284
k284-ewelch
k284-metastore-improv
k285
k286
k287
k288
k29
k30
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
kadjoudi-patch-1
kafka-usage-wip
kafka-wal-block
karsten/dedup-overlapping-chunks
karsten/first-over-time
karsten/fix-grpc-error
karsten/protos-query-request
karsten/test-ops
kaviraj/changelog-logql-bug
kaviraj/memcached-backup-tmp
kaviraj/single-gomod
kavirajk/backport-10319-release-2.9.x
kavirajk/bug-fix-memcached-multi-fetch
kavirajk/cache-instant-queries
kavirajk/cache-test
kavirajk/experiment-instant-query-bug
kavirajk/fix-engine-literalevaluator
kavirajk/linefilte-path-on-top-of-k196
kavirajk/memcache-cancellation-bug-fix
kavirajk/metadata-cache-with-k183
kavirajk/promtail-use-inotify
kavirajk/script-to-update-example
kavirajk/update-go-version-gomod
kavirajk/upgrade-prometheus-0.46
kavirajk/url-encode-aws-url
label-filter-predicate-pushdown
lambda-promtail-generic-s3
leizor/latest-produce-ts
leizor/rate-limiter-hack
leizor/rate-limiter-hack-clean
limit-patterns-k263
limit-streams-chunks-subquery
logcli-copy-chunks
logcli_object_store_failure_logging
logfmt-unwrap-queries
logql-correctness-memlimit
loki-bench-tool
loki-config-json
loki-mixin-parallel-read-path
loki-streaming-query-api
lru-symbols-cache
lru-symbols-cache-w-conn-limits
main
make-section-filter-tenant-aware
map-streams-to-ingestion-scope
marinnedea-patch-1
mdc-loki-helm
mdsgrafana-patch-1
meher/handle-wal-corruption-on-startup
meher/log-partition-ring-cache-map-size
meher/parition-ring-manual-disable
meher/query-lab
meher/regexp-engine-v2
merge-pipeline-parallelism
mess-with-multiplegrpcconfigs
meta-monitoring-v2-p2
metadata-decoder-corrections
metastore-bootstrap
metastore-experiments
metric-query-testing
metricq-benchmark-delete-later
more-date-functions
more-details-tracing-for-distributors
more-release-testing
multi-zone-topology-support
new-index-spans
new-tests
no-extents-no-problem
operator-loki-v3
optimize-otlp-efficiency
otlp-severity-detection
owen-d/fix/nil-ptr-due-to-empty-resp
pablo/lambda-promtail-event-bridge-setup
pablo/promtail-wal-support
pablo/refactor-client-manager
pablo/refactor-http-targets
panic-if-builder-fails-to-init
panic_query_frontend_test
parallelise-merge-tables
parser-hints/bug
paul1r/ingester_startup
paul1r/poc_partition_inactive
paul1r/republish_lambda_promtail
periklis/k280-max-query-bytes-read
periklis/max-query-bytes-read
pooling-decode-buffers-dataobj
poyzannur/add-pdb-idx-gws
poyzannur/fix-blooms-checksum-bug
poyzannur/fix-compactor-starting-indexshipper-in-RW-mode
poyzannur/fix-errors-introduced-by-10748
poyzannur/fix-flaky-test
poyzans-query
pr-19328
pr-logfmt-1-foundation
pr-logfmt-2-planner
pr-logfmt-3-tokenizer
pr-logfmt-4-executor
pr_11086
pre-build-predicates
prepare-2.8-changelog
promtail-go-gelf
ptodev/reset-promtail-metrics-archive-23-april-2024
ptodev/update-win-eventlog
pub-sub-cancel
query-limits-validation
query-splitting-api
query-timestamp-validation
ratestore-standalone
rbrady/16330-fix-rolebinding-provisioner
read-corrupt-blocks
read-path-improvement-wal
reenable-ipv6-for-memberlist
refactor-extractors-multiple-samples-2
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-notes-appender
release-please--branches--add-major-release-workflow
release-please--branches--fix-vuln-scanning
release-please--branches--k195
release-please--branches--k196
release-please--branches--k197
release-please--branches--k198
release-please--branches--k199
release-please--branches--k200
release-please--branches--k201
release-please--branches--k202
release-please--branches--k203
release-please--branches--k204
release-please--branches--k205
release-please--branches--k206
release-please--branches--k208
release-please--branches--k209
release-please--branches--k210
release-please--branches--k211
release-please--branches--k212
release-please--branches--k215
release-please--branches--k216
release-please--branches--k221
release-please--branches--k222
release-please--branches--k228
release-please--branches--k234
release-please--branches--k235
release-please--branches--k236
release-please--branches--k237
release-please--branches--k238
release-please--branches--k239
release-please--branches--k240
release-please--branches--k241
release-please--branches--k242
release-please--branches--k243
release-please--branches--k244
release-please--branches--k246
release-please--branches--k247
release-please--branches--k249
release-please--branches--k250
release-please--branches--k251
release-please--branches--k253
release-please--branches--k254
release-please--branches--k255
release-please--branches--k256
release-please--branches--k257
release-please--branches--k260
release-please--branches--k261
release-please--branches--k262
release-please--branches--k263
release-please--branches--k264
release-please--branches--k265
release-please--branches--k266
release-please--branches--k267
release-please--branches--k268
release-please--branches--k270
release-please--branches--k271
release-please--branches--k272
release-please--branches--k273
release-please--branches--k278
release-please--branches--main
release-please--branches--main--components--operator
release-please--branches--release-2.9.x
release-please--branches--release-3.0.x
release-please--branches--release-3.1.x
release-please--branches--release-3.2.x
release-please--branches--release-3.3.x
release-please--branches--update-release-pipeline
remove-early-eof
remove-loki-ui
remove-override
remove_lokitool_binary
retry-limits-middleware
reuse-server-index
revert-7179-azure_service_principal_auth
revert-8662
revert-map-pooling
rfratto/protobuf-physical-plans
rgnvldr-patch-1
rk/update-helm-docs
salvacorts/2.9.12/fix-vulns
salvacorts/backport-3.4.x
salvacorts/compator-deletes-acache
salvacorts/debugging-forward-log-queries
salvacorts/log-small-results-cache
salvacorts/query-bucket-rate-limit
samu6851-patch-1
samu6851-patch-2
scheduler-assignlock-granular
scheduler_contentions
scope-usage
shantanu/add-to-release-notes
shantanu/dedupe-with-sm
shantanu/fix-scalar-timestamp
shantanu/otlp-push-optimizations
shantanu/otlp_dots_support
shantanu/prom-upgrade-and-fixes
shantanu/remove-ruler-configs
shantanu/utf8-queries-no-quotes
shard-parsing
shard-volume-queries
shipper/skip-notready-on-sync
simulate-retention-endpoint
singleflight
sjwlabelfmt
sjwnodeproto
sjwpoolmemory
skip-worktrees
snyk-monitor-workflow
sp/logged_trace_id
spiridonov-bifunc-alloc
spiridonov-blast-test
spiridonov-style-chore
split-rules-into-more-groups
split-tests-by-package
split-with-header
steven_2_8_docs
stop-using-retry-flag
store-aggregated-metrics-in-loki
store-aggregated-metrics-in-loki-3
store-calls-stat
stream-limit-fixes
stripe-lock-ctx-cancelation
structured-metadata-indexing
structured-metadata-push-down-3
svennergr-patch-1
svennergr/structured-metadata-api
tch/bestBranchEvverrrrrrrrrr
temp-fluentbit-change
temp-proto-fix
test-docker-plugin-publish
test-failcheck
test-gateway
test-helm-release
test-query-limits-fixes
test-release
test-workflow
test_PR
test_branch
testing-drain-params
testing-drain-params-2
thor-ingestion
thor-query-parser-correctness
tpatterson/cache-json-label-values
tpatterson/chunk-iterator
tpatterson/expose-partition-ring
tpatterson/generate-drone-yaml
tpatterson/label-matcher-optimizations
tpatterson/reporder-filters
tpatterson/revert-async-store-change
tpatterson/size-based-compaction-with-latest
tpatterson/space-compaction
tpatterson/stats-estimate
trace-labels-in-distributor
transform_mixin
trevorwhitney/detect-only-no-parser
trevorwhitney/how-to-make-a-pr
trevorwhitney/index-stats-perf-improvement
trevorwhitney/logcli-client-test
trevorwhitney/refactor-nix-folder
trevorwhitney/respect-tsdb-version-in-compactor
trevorwhitney/series-volume-fix
trevorwhitney/structured-metadata-push-down
trevorwhitney/upgrade-dskit
trevorwhitney/use-tsdb-version-from-schema-config
trevorwhitney/volume-memory-fix-k160
trigger-ci
try-new-span-chagnes
try-reverting-pr9404
tsdb-benchmark-setup
tulmah-patch-1
twhitney/query-tee-enable-racing
twhitney/refactor-parse-2
twhitney/structured-metadata-push-down
twhitney/thor-unwrap-2
undelete
update-docs-Running-Promtail-on-AWS-EC2-tutorial
update-workflows
updateCHANGELOG
upgrade-golang-jwt-2.9
upgrade33
usage-poc-combined
use-worker-pool-for-kafka-push
use-worker-pool-kafka-push
use_constant_for_loki_prefix
use_go_120_6
validate-retention-api
wip-stringlabels
wrap-downloading-file-errors
wrapped-http-codes-propagate
x160-ewelch-cache
x161-ewelch-l2-cache
x162-ewelch-memcached-connect-timeout
xcap-coverage
xcap-pipeline-exec-timings
xcap-pipeline-inject
yinkagr-patch-1
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.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
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.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.2
v3.6.3
${ noResults }
1859 Commits (2c0cc01fa1ea46d9cc36f96864f0cb6c21bb89c8)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
4a3e6f9d95
|
Bump go modules GitHub.com prometheus alertmanager 0.25.0 (#8100)
This PR required some code changes: https://github.com/grafana/loki/pull/8095 We have all the information, it's just plumbed in a little different now. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
3 years ago |
|
|
361e7f7f8a
|
scheduler: fix panic on hitting /scheduler/ring when ring is disabled (#8120)
Fixes nil pointer dereference that occurs on calling `/scheduler/ring`
endpoint when `use_scheduler_ring` is set to false.
```
/usr/local/go/src/runtime/panic.go:884 +0x212
github.com/grafana/dskit/ring.(*Ring).ServeHTTP(...)
/src/enterprise-logs/vendor/github.com/grafana/dskit/ring/ring.go:858
github.com/grafana/loki/pkg/scheduler.(*Scheduler).ServeHTTP(0xc00056ba00?, {0x2ca0068?, 0xc001d95140?}, 0xc0005752a8?)
/src/enterprise-logs/vendor/github.com/grafana/loki/pkg/scheduler/scheduler.go:765 +0x25
```
Signed-off-by: Ashwanth Goli <iamashwanth@gmail.com>
|
3 years ago |
|
|
4464abbb70
|
Use GiB and bytes for sizing tool. (#8078)
|
3 years ago |
|
|
b3e038c7a8
|
config_wrapper: Add support for named stores (#7946)
Signed-off-by: Ashwanth Goli <iamashwanth@gmail.com>
**What this PR does / why we need it**:
This PR adds support for named stores which allows users to define
multiple object store configurations for a storage type. Named stores
can be referred to from other sections of the config similar to how
provider type is being used `i.e aws, gcs...`. Named store reference
should be of the format: `<store_type>.<key_name>`
Below is an example configuration with two named stores defined for aws
`store-1, store-2`. Schema config is referring to one of them as
`aws.store-1`
```
storage_config:
aws:
endpoint: s3://common-bucket
region: us-east1
access_key_id: abc123
secret_access_key: def789
named_stores:
aws:
store-1:
endpoint: s3://foo-bucket
region: us-west1
access_key_id: 123abc
secret_access_key: 789def
store-2:
endpoint: s3://bar-bucket
region: us-west2
access_key_id: 456def
secret_access_key: 789abc
schema_config:
configs:
- from: "2020-07-31"
index:
period: 24h
prefix: loki_prod_index_
object_store: aws.store-1
schema: v11
store: boltdb-shipper
```
**Which issue(s) this PR fixes**:
Fixes #7276
**Special notes for your reviewer**:
Configuration defined in common storage config has no effect on the
named stores. Common storage config only overrides storageConfig if it's
not explicitly set - same behavior as before. This should be a
non-intrusive change.
Signed-off-by: Ashwanth Goli <iamashwanth@gmail.com>
|
3 years ago |
|
|
dbf09246d5
|
Avoid failing tests on gRPC server shutdown errors (#8060)
|
3 years ago |
|
|
2b66c6b126
|
Loki: add a 'since' query parameter for easier querying using relative time (#7964)
Signed-off-by: Edward Welch <edward.welch@grafana.com> **What this PR does / why we need it**: logcli has a command line parameter called `since` which makes it easy to query logs relative to the current time, however this is some syntactic sugar used in logcli to calculate `start` and `end` query parameters for the query sent to Loki. This PR adds native support for a `since` query parameter to make it a little easier to consume the Loki query API without having to calculate precise start/end times with every request. This is useful if you are polling the Loki API from a third party app which doesn't let you easily build dynamic URL's and all you want to do is poll for say the last 3 hours of logs. **Which issue(s) this PR fixes**: Fixes #<issue number> **Special notes for your reviewer**: **Checklist** - [x] Reviewed the `CONTRIBUTING.md` guide - [x] Documentation added - [x] Tests updated - [x] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` Signed-off-by: Edward Welch <edward.welch@grafana.com> Co-authored-by: Owen Diehl <ow.diehl@gmail.com> |
3 years ago |
|
|
a08a7324f4
|
fix(logql): fix caseinsensitive search in filter (#8037)
**What this PR does / why we need it**: Fix caseinsensitive search in filter **Which issue(s) this PR fixes**: Fixes #7904 #7837 **Checklist** - [x] Reviewed the `CONTRIBUTING.md` guide - [ ] Documentation added - [x] Tests updated - [ ] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` |
3 years ago |
|
|
b4440911e0
|
[new feature] logql:support sort and sort_desc (#7989)
**What this PR does / why we need it**:
sort()
sort(v instant-vector) returns vector elements sorted by their sample
values, in ascending order.
sort_desc()
Same as sort, but sorts in descending order.
ex:
`sort(rate(({app=~"foo|bar"} |~".+bar")[1m])) without (app) `
prometheud doc:
https://prometheus.io/docs/prometheus/latest/querying/functions/#sort
**Which issue(s) this PR fixes**:
Fixes #7933
**Special notes for your reviewer**:
**Checklist**
- [x] Reviewed the `CONTRIBUTING.md` guide
- [x] Documentation added
- [x] Tests updated
- [x] `CHANGELOG.md` updated
- [ ] Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`
Co-authored-by: Owen Diehl <ow.diehl@gmail.com>
|
3 years ago |
|
|
24deb6ed3b
|
fix bugs in logs results caching and its tests (#7925)
**What this PR does / why we need it**:
When a logs query results in an empty response, we cache it to avoid
doing that query again and respond straight away with an empty response.
However, we cache a single entry per time split interval with the query
itself to keep things simple. For example, if the time split config for
tenant `A` is `30m`, then queries for intervals `10m`-`20m` and
`21m`-`25m` would have the same cache key.
Here is roughly how cache hit is handled:
* If the new query is within the cached query bounds, return empty
results
* If the start of new query is before the start time of the cached
query, do a query from `newQuery.Start` to `cachedQuery.Start`
* If the response of last query is also empty, set `cachedQuery.Start` =
`newQuery.Start`
* If the end of new query is after the end time of the cached query, do
a query from `cachedQuery.End` to `newQuery.Start`
* If the response of last query is also empty, set `cachedQuery.End` =
`newQuery.End`
* If we have changes in `cachedQuery.Start/End`, update it in the cache.
The problem here is when we do queries to fill the gap, we sometimes do
queries for the range outside of what the user requested and respond
back without reducing the response to what the user requested. For
example, if the cached query is from `21m`-`25m` and the user query is
from `10m`-`15m`, we will query for the whole gap i.e `10m`-`21m`. If
there are logs from `15m`-`21m` in the response, we will unexpectedly
send it back to the user.
This PR takes care of this issue by extracting the data and sending back
only the user's requested logs.
I have also found the tests for logs results cache were incorrect. They
heavily use
[mergeLokiResponse](
|
3 years ago |
|
|
dad39f7ea6
|
Improve comments on sample timestamp validation errors (#8018)
This has come up time and time again, I have tried to write it up a bit better in code first, I would also strongly suggest that we improve the error messaging and the documentation of this. |
3 years ago |
|
|
17577b4d47
|
Shut down query frontend gracefully (#7978)
**What this PR does / why we need it**: This PR fixes a bug in the shutdown process of the query frontend. In order to shut down the frontend gracefully without cancelling any in-flight operations/sub-requests, the frontend service has to wait until all in-flight operations are finished. Only then its sub-services may be stopped. In order to control the deterministic order of the shutdown of the service and its child services, child services need to be started with their own context (not with their parent context). Otherwise, if the context of the frontend is cancelled, also the contexts of the child services are cancelled, leading to a parallel stopping of the parent and its child services. During the time of the shutdown, the `RoundTripGRCP` function still needs to accept any round-tripping requests. This is, because the frontend round tripper is wrapped into a query range tripper ware, which splits incoming (HTTP) query requests into multiple (gRPC) query requests if needed. **Which issue(s) this PR fixes**: This fixes a race condition where queries fail, because the query frontend shut down before the queriers that processed in-flight request could send the query response to the frontend. This manifested in an increased error rate of queries during restarts (rollouts) of the query frontend. **Special notes for your reviewer**: **Checklist** - [x] Reviewed the `CONTRIBUTING.md` guide - [x] Documentation added - [x] Tests updated - [x] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` Signed-off-by: Danny Kopping <danny.kopping@grafana.com> Signed-off-by: Christian Haudum <christian.haudum@gmail.com> Co-authored-by: Danny Kopping <danny.kopping@grafana.com> |
3 years ago |
|
|
59eff5ca58
|
Add count to template functions (#7951)
**What this PR does / why we need it**:
Add a `count` template function to count occurrences of a substring. For
example if `label="abc abd abc"`
```
{{ .label | count "abc" }}
```
would return 2.
Signed-off-by: Michel Hollands <michel.hollands@grafana.com>
Co-authored-by: Danny Kopping <dannykopping@gmail.com>
|
3 years ago |
|
|
dc5cc4c494
|
store: write overlapping chunks to multiple stores (#7988)
Signed-off-by: Ashwanth Goli <iamashwanth@gmail.com> **What this PR does / why we need it**: When a chunk falls on the period boundary it should be written to both the stores as it gets referred to by the indexes on both sides. But we currently skip the writes for subsequent periods if the chunk is found in the cache. This PR ensures that overlapping chunks get written to both the stores **Which issue(s) this PR fixes**: Fixes #7847 **Special notes for your reviewer**: Downside of this approach is that we end up writing the overlapping chunk multiple times, once from each instance in the replica set. But these duplicate writes would be infrequent given this occurs only on schema changes **Checklist** - [X] Reviewed the `CONTRIBUTING.md` guide - [X] Tests updated - [x] `CHANGELOG.md` updated Signed-off-by: Ashwanth Goli <iamashwanth@gmail.com> |
3 years ago |
|
|
089ec1b05f |
Fix various linter errors
These changes have been generated using `make lint`. ```console $ golangci-lint --version golangci-lint has version 1.50.0 built from 704109c6 on 2022-10-04T10:25:07Z ``` Signed-off-by: Christian Haudum <christian.haudum@gmail.com> |
3 years ago |
|
|
92fca94bb5
|
Revert "Update Ingester Rate Calculations (#7652)" (#7991)
This change was supposed to smooth out the per-second rate of streams so distributors could react more uniformly to streams with variable rates. In practice, it resulted in drastically more resource usage on distributors because `GetStreamRates` now responds with all streams on an ingester rather than only the streams seen in the last second. This change also didn't seem to affect sharding precision one way or another. If we'd still like to implement exponential smoothing for stream rates, it should be implemented in distributors to keep communication overhead to a minimum. |
3 years ago |
|
|
d086c237df
|
Add missing period_config root block to doc generator (#7981)
**What this PR does / why we need it**: Update doc generator tool to validate if slice element is a root block. Add missing `period_config` root block to doc generator tool. **Special notes for your reviewer**: **Checklist** - [ ] Documentation updated |
3 years ago |
|
|
a4f306399a
|
Add store & cache download statistics (#7982)
|
3 years ago |
|
|
209b281593
|
Fix min and max aggregations when using instant queries. (#7957)
Instant queries use the new `streamRangeVectorIterator` which has a new set of `aggregators`. Before, aggregations were based on the first point in the range to be aggregated. With `streamRangeVectorIterator`, points are instead treated one at a time. The aggregations were simply checking whether the value was less than the min or greater than the max without any initialization. This PR fixes these aggregations by initializing `min` or `max` to `math.Nan` so the first point is always considered. |
3 years ago |
|
|
0f3eecd209
|
Show help tooltip on hover in sizing tool. (#7919)
|
3 years ago |
|
|
5fe9c964db
|
Fix validation for pattern and rexexp parsers to they don't panic in query-frontend (#7926)
Running the query `topk(10,sum
by(namespace)(count_over_time({application="nginx",
site!="eu-west-1-dev"} |= "/artifactory/" != "api" != "binarystore" |
regexp `` [1d])))` causes a panic.
This PR adds validation for regexp and pattern parsers at parse time. If
they don't have a (valid) parameter an error will be returned.
Signed-off-by: Michel Hollands <michel.hollands@grafana.com>
Co-authored-by: Susana Ferreira <ssncferreira@gmail.com>
|
3 years ago |
|
|
86d33a4e4a
|
Add CI step to check generated documentation to check pipeline (#7938)
**What this PR does / why we need it**: Follow up from PR: https://github.com/grafana/loki/pull/7916 to add a CI step to check if the configuration flag documentation file `doc/sources/configuration/_index.md` was generated successfully. Requirements: * CI `check` pipeline should fail if the documentation file is updated manually * CI `check` pipeline should fail if registration flags are changed in the code, but the documentation file is not generated. **Which issue(s) this PR fixes**: Fixes https://github.com/grafana/loki-private/issues/83 **Special notes for your reviewer**: **Checklist** - [ ] Reviewed the `CONTRIBUTING.md` guide - [ ] Documentation added - [ ] Tests updated - [x] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` |
3 years ago |
|
|
e07fe7c338
|
Deprecate CLI flag -ruler.wal-cleaer.period in favor of CLI flag -ruler.wal-cleaner.period (#7937)
**What this PR does / why we need it**:
Deprecate CLI flag `-ruler.wal-cleaer.period` in favor of CLI flag
`-ruler.wal-cleaner.period`.
**Which issue(s) this PR fixes**:
Fixes https://github.com/grafana/loki/pull/7916#issuecomment-1348276269
and https://github.com/grafana/loki/pull/7916#discussion_r1047043534
**NOTE:** correctly registring the `ruler.wal-cleaner` configuration
flags is not a breaking change and doesn't require an upgrade guide,
because the ruler WAL cleaner initialization code already guarantees
that the default values are used:
|
3 years ago |
|
|
cbd6ec15ce
|
feat(logql): Supporting prettifying LogQL expressions (#7906)
**What this PR does / why we need it**:
Changes
1. Added `Pretty()` method to `Expr` interface. So that every expression
would know how to render themselfs as pretty :)
2. Implemented `Pretty()` for every single LogQL expressions
3. Exposed `/api/v1/format_query` endpoint that takes `query` argument
and returns formatted version.
4. Integerated into `logcli`. echo `'<query>' | logcli fmt` would format
the query.
Why?
1. Readability, helpful in debugging and **more importantly, to
understand the execution flow**
example
**before**
```
quantile_over_time(0.99,{container="ingress-nginx",service="hosted-grafana"}| json| unwrap response_latency_seconds| __error__=""[1m]) by (cluster)
```
```
sum(rate({job="loki", namespace="loki", cluster="loki-dev-us"} |= "err" [5m])) + sum(rate({job="loki-dev", namespace="loki", cluster="loki-dev-eu"}|logfmt | level != "info" [5m])) / sum(rate({job="loki-prod", namespace="loki", cluster="loki-prod-us"} |logfmt | level="error"[5m]))
```
```
label_replace(rate({job="api-server",service="a:c"}|= "err" [5m]), "foo", "$1", "service", "(.*):.*")
```
**after**
```
quantile_over_time(
0.99,
{container="ingress-nginx", service="hosted-grafana"} | json
| unwrap response_latency_seconds
| __error__="" [1m]
) by (cluster)
```
```
sum(
rate(
{job="loki", namespace="loki", cluster="loki-dev-us"} |= "err" [5m]
)
)
+
sum(
rate(
{job="loki-dev", namespace="loki", cluster="loki-dev-eu"}
| logfmt
| level!="info" [5m]
)
)
/
sum(
rate(
{job="loki-prod", namespace="loki", cluster="loki-prod-us"}
| logfmt
| level="error" [5m]
)
)
```
```
label_replace(
rate({job="api-server", service="a:c"} |= "err"[5m]),
"foo",
"$1",
"service",
"(.*):.*"
)
```
You can find more examples in the `prettier_test.go`
Future plans
* Integerate into LogQL analyzer
* Integrate into Grafana UI.
**Which issue(s) this PR fixes**:
Fixes # NA
**Special notes for your reviewer**:
This whole idea was inspired from last [PromCon lighting
talk](https://youtu.be/pjkWzDVxWk4?t=24469)
**Checklist**
- [x] Reviewed the `CONTRIBUTING.md` guide
- [x] Documentation added
- [x] Tests updated
- [x] `CHANGELOG.md` updated
Signed-off-by: Kaviraj <kavirajkanagaraj@gmail.com>
Co-authored-by: Christian Haudum <christian.haudum@gmail.com>
Co-authored-by: Christian Simon <simon@swine.de>
|
3 years ago |
|
|
c71620ae94
|
Flush buffered logger on exit. (#7924)
**What this PR does / why we need it**: I ran into this issue several times. No error logs were printed or no generated token for GEL. This is because crashing runs can be much faster than the flush period. **Special notes for your reviewer**: **Checklist** - [ ] Reviewed the `CONTRIBUTING.md` guide - [ ] Documentation added - [ ] Tests updated - [ ] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` |
3 years ago |
|
|
10b869c82e
|
Move to fork github.com/grafana/gomemcache (#7936)
|
3 years ago |
|
|
68a4d3271a
|
Fix documentation typos from #7916 (#7934)
**What this PR does / why we need it**: Fix documentation typos from https://github.com/grafana/loki/pull/7916#pullrequestreview-1217192817 **Which issue(s) this PR fixes**: Fixes https://github.com/grafana/loki/pull/7916#pullrequestreview-1217192817 **Special notes for your reviewer**: **Checklist** - [ ] Reviewed the `CONTRIBUTING.md` guide - [ ] Documentation added - [ ] Tests updated - [ ] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` |
3 years ago |
|
|
f93b91bfb5
|
Add configuration documentation generation tool (#7916)
**What this PR does / why we need it**: Add a tool to generate configuration flags documentation based on the flags properties defined on registration on the code. This tool is based on the [Mimir doc generation tool](https://github.com/grafana/mimir/tree/main/tools/doc-generator) and adapted according to Loki configuration specifications. Prior to this PR, the configuration flags documentation was dispersed across two sources: * [_index.md]( |
3 years ago |
|
|
f5fbfabd84
|
Add 3rd target (`backend`) to SSD/Scalable mode (#7650)
**What this PR does / why we need it**: This adds a 3rd target to SSD/Scalable mode, as well as a config flag to run the legacy `read` mode from the original 2 target configuration in order to give people time to migrate before we remove this option in Loki 3.0 (hopefully). The 3rd target has the two major advantages: 1. Allows the read path to be run as a deployment and thus auto-scaled using our existing auto-scaling logic for queriers 2. Creates consistency with Mimir since they went with a 3 target model for their SSD deployment. |
3 years ago |
|
|
b773a7a3cf
|
promtail: ratelimiting by label (#7597)
Limit stage can now takes optional `by_label_name` param, which tracks distinct values of that label and ratelimit entries independently. Log lines without expected label are not considered for ratelimiting and passed to the next pipeline stage. |
3 years ago |
|
|
95ec710168
|
Introduce sizing tool to documentation page. (#7830)
**What this PR does / why we need it**: The sizing tool should help to find a good cluster sizing when starting out with Loki. It's a dynamic form withing the documentation.  This pull request will be followed by help on hover. **Special notes for your reviewer**: **Checklist** - [ ] Reviewed the `CONTRIBUTING.md` guide - [x] Documentation added - [x] Tests updated - [ ] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` Co-authored-by: Karsten Jeschkies <karste.jeschkies@grafana.com> |
3 years ago |
|
|
e9c93cd0f5
|
consider range and offset in queries while looking for schema config for query sharding (#7880)
**What this PR does / why we need it**:
We disable query sharding when a query touches multiple schema configs
since they might have different sharding factors and might handle
sharding differently. This check was done purely on the start and end
time of the query without considering `range` and `offset`, which would
change the length of the actual data being queried.
Besides being incorrect, it also causes us to fail queries when
migrating between tsdb and non-tsdb stores since both handle query
sharding differently. For e.g., if the prev schema is `boltdb-shipper`
and starting today, `tsdb` index is being used, so if we do a query
`sum(rate({foo="bar"}[24h])` even with start and end within `tsdb`
range, we will fail the query with error `incompatible index shard` if
dynamic sharding goes with shard factor other than `32`(default shard
factor in ingester for inverted index). The reason being the `range`
here is `24h` which causes us to process data from previous schema as
well.
This PR takes care of the issue by factoring in `range` and `offset` in
the queries while looking for schema config for query sharding.
**Checklist**
- [x] `CHANGELOG.md` updated
|
3 years ago |
|
|
03a34db8eb
|
Fix alertmanager per tenant override config behavior (#7805)
**Context:** #7359 implement multi tenancy for the alertmanager config. However, the behavior of the per-tenant alertmanager config is erroneous, as it tries to merge the global alertmanager config with the per-tenant config. This does not work because there is no way of knowing if certain values were set by the user or if they were undefined and have the default Golang zero value (typically booleans). This PR changes the behavior of the alertmanager config to override all the configuration instead of trying to merge the global config with the per-tenant config. It also applies default values when appropriate. |
3 years ago |
|
|
2e496ddff2
|
Loki: Add one additional bucket to `rate_store_stream_shards` (#7856)
**What this PR does / why we need it**: Add one additional bucket (value=1) to the `rate_store_stream_shards`. By jumping from 0 to 2 we can't distinguish between streams that were minimally sharded (shards=2) to non-sharded ones (shards=1). |
3 years ago |
|
|
85392a9728
|
Update Prometheus dependency to latest release (v2.40.4) (#7826)
Closes #7811, which is needed for Grafana Agent to update to v2.40 and add support for native histograms. I did not add support for native histograms to Loki, sorry :) |
3 years ago |
|
|
a1e9e4cdd0
|
Revert "Make some stream shard metrics per-tenant (#7838)" (#7842)
Because these metrics will be coming from each distributor, this is going to have an adverse impact on cardinality. Consider doing this with logging |
3 years ago |
|
|
96fc2abfff
|
Make some stream shard metrics per-tenant (#7838)
This PR just adds tenant information so some of our per-stream-rate-limit metrics. |
3 years ago |
|
|
feaf9c3232
|
Log query string on retry alongside the error (#7834)
**What this PR does / why we need it**: For better observability of query retries. Signed-off-by: Christian Haudum <christian.haudum@gmail.com> |
3 years ago |
|
|
25f4dda811
|
fix(memcached): use `default` branch avoid writing to closed chan (#7833)
Signed-off-by: Kaviraj <kavirajkanagaraj@gmail.com> **What this PR does / why we need it**: Follow up to https://github.com/grafana/loki/pull/7817 This PR uses `default` branch instead of `inputCh <- work` to make sure we are writing to closed `inputCh`. Gist is, `default` run [only when none of the branch is ready](https://go.dev/tour/concurrency/6). which makes more sense rather than to have `inputCh <- work` (writing to closed channel on the branch condition) These can be explained by these two tiny snippets. * [with `default`](https://go.dev/play/p/-FspbTZd20I) * [without `default`](https://go.dev/play/p/Ag4WznOaEq0) **Which issue(s) this PR fixes**: Fixes #NA **Special notes for your reviewer**: We already have test `TestMemcached_fetchKeysBatched` to catch this behaviour. In fact this test caught this probabilistic behaviour in some CI failures. [here ](https://drone.grafana.net/grafana/loki/17853/3/4) and[ here](https://drone.grafana.net/grafana/loki/17854/3/4) Thanks @DylanGuedes for catching this CI failures. **Checklist** Signed-off-by: Kaviraj <kavirajkanagaraj@gmail.com> |
3 years ago |
|
|
37b1c0fce0
|
guard against divide by 0 when splitting parallelism (#7831)
**What this PR does / why we need it**: **Which issue(s) this PR fixes**: We saw a spike in divide by zero panics in the code introduced in #7769. I was able to reproduce this error via a test that calculates `WeightedParallelism` with a start that's after the end. Not sure if this is possible, but we definitely saw this happening in our ops environment, so something is causing it, and the fix should guard against it in any case. **Special notes for your reviewer**: **Checklist** - [X] Tests updated Co-authored-by: Sandeep Sukhani <sandeep.d.sukhani@gmail.com> |
3 years ago |
|
|
eb7fbfe0b4
|
Improve ratestore performance (#7810)
This PR changes the Rate Store to use multi-level maps rather than `tenant+stream-fingerprint` key. Benchmarks: *old* ``` goos: linux goarch: amd64 pkg: github.com/grafana/loki/pkg/distributor cpu: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz BenchmarkRateStore-8 117 10420080 ns/op 3201761 B/op 200025 allocs/op PASS ok github.com/grafana/loki/pkg/distributor 14.646s ``` *new* ``` goos: linux goarch: amd64 pkg: github.com/grafana/loki/pkg/distributor cpu: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz BenchmarkRateStore-8 320 3811906 ns/op 2660 B/op 26 allocs/op ``` *stats* ``` name old time/op new time/op delta RateStore-8 10.7ms ± 8% 4.1ms ± 8% -61.42% (p=0.000 n=10+10) name old alloc/op new alloc/op delta RateStore-8 3.20MB ± 0% 0.00MB ± 0% -99.92% (p=0.000 n=8+9) name old allocs/op new allocs/op delta RateStore-8 200k ± 0% 0k ± 0% -99.99% (p=0.000 n=9+10) ``` |
3 years ago |
|
|
63a57c7b5c
|
[bugfix] scheduler: Gracefully shutdown querier when using query-scheduler (#7735)
**What this PR does / why we need it**: Gracefully shutdown querier when using query-scheduler This PR is an attempt to fix a bug that my loki cluster is unavailable for logql. The source code and ideas are from mimir of LGTM. Thanks mimir and pr author @pracucci **Which issue(s) this PR fixes**: Fixes #7722 **Special notes for your reviewer**: mimir PR https://github.com/grafana/mimir/pull/1756 https://github.com/grafana/mimir/pull/1767 **Checklist** - [x] Reviewed the `CONTRIBUTING.md` guide - [ ] Documentation added - [x] Tests updated - [ ] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` Co-authored-by: Karsten Jeschkies <k@jeschkies.xyz> |
3 years ago |
|
|
4efdc131be
|
fix(memcached): panic on `send on closed channel`. (#7817)
|
3 years ago |
|
|
2ff6f13c8b
|
Better error message for empty selector queries (#6936)
This improves the error when an empty label selector is given:
Before:
```sh-session
# Before
$ logcli query "{}"
Error response from server: parse error at line 1, col 2: syntax error: unexpected }, expecting IDENTIFIER
# After
$ logcli query "{}"
Error response from server: parse error : queries require at least one regexp or equality matcher that does not have an empty-compatible value. For instance, app=~".*" does not meet this requirement, but app=~".+" will
```
I fear that might have wider implications, so it would be great to get a
lot of eyes on this.
In theory I think we should remove the restriction on querying all log
streams, but this should maybe discussed in a follow up PR
🙂
Co-authored-by: Karsten Jeschkies <karsten.jeschkies@grafana.com>
|
3 years ago |
|
|
89d81020ce
|
fix lint issues from PR 7804 (#7814)
**What this PR does / why we need it**: I had enabled auto-merge in PR #7804, but somehow it still merged the PR without all the checks passing. This PR fixes the failing lint and tests. |
3 years ago |
|
|
1410808ee9
|
use grpc for communicating with compactor for query time filtering of data requested for deletion (#7804)
**What this PR does / why we need it**: Add grpc support to compactor for getting delete requests and gen number for query time filtering. Since these requests are internal to Loki, it would be good to use grpc instead of HTTP same as all the internal requests we do in Loki. I have added a new config for accepting the grpc address of the compactor. I tried having just the existing config and detecting if it is a grpc server, but it was hard to do it reliably, considering the different deployment modes we support. I think it is safe to keep it the same and eventually deprecate the existing config. **Checklist** - [x] Documentation added - [x] Tests updated - [x] `CHANGELOG.md` updated |
3 years ago |
|
|
30ddd77150
|
loki-canary: respect `useTLS` flag when `push` mode is enabled. (#7701)
**What this PR does / why we need it**: Currently `useTLS` flag is ignored on the push writer. This PR consider that flag and adjust the schema (http -> https) when that flag is enabled. **Which issue(s) this PR fixes**: Fixes #7692 **Special notes for your reviewer**: **Checklist** |
3 years ago |
|
|
b05f4fced3
|
Remove hardwired '127.0.0.1' values in default addresses (#7784)
While running all-in-one Loki instance, it's not possible to listen on anything other than IPv4 since compactor_address is then set to http://127.0.0.1. This enables listening on only IPv6. Also if frontend_address, scheduler_ring and scheduler_address is not set, the default value is to connect to '127.0.0.1:<grpc_listen_port>'. Which means that grpc_listen_address is ignored. **What this PR does / why we need it**: It's not possible to use compactor while using an all-in-one instance and listening to IPv6. Let's not ignore grpc_listen_address to not confuse users. **Special notes for your reviewer**: As noted in the first commit, the default behavior is changed from defaulting to `127.0.0.1` to `localhost`. Not sure how major that change is though. My /etc/hosts says ``` $ grep localhost /etc/hosts 127.0.0.1 localhost ``` Signed-off-by: Josef Johansson <josef@oderland.se> |
3 years ago |
|
|
4567d01ac6
|
Loki: Add new sharding metrics (histogram based) (#7762)
**What this PR does / why we need it**: Add histogram-version of two existing stream sharding metrics. The new metrics are: - `rate_store_stream_shards`: Will show us the distribution of shards reported by ingesters. This will help us on monitoring the number of shards we're dealing with. As of now we only have access to the max number of shards seen, which is helpful but not enough. - `rate_store_stream_rate_bytes`: Same as below: will help us understand the distribution of stream sizes instead of only showing us the max stream size seen. |
3 years ago |
|
|
6d05ade6a8
|
[performance] metrics query: range vector support streaming agg when no overlap (#7380)
metrics query: range vector support streaming agg when no overlap |
3 years ago |
|
|
7ec51e8b9d
|
Log rule changes through API. (#7790)
**What this PR does / why we need it**: This change should make it easier to detect changes to rules via the API. **Which issue(s) this PR fixes**: Fixes #7789 **Special notes for your reviewer**: **Checklist** - [ ] Reviewed the `CONTRIBUTING.md` guide - [ ] Documentation added - [ ] Tests updated - [ ] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` Co-authored-by: Christian Haudum <christian.haudum@gmail.com> |
3 years ago |