contribution/compass
grafana/loki

Loki

73 signals · 78 observation events

Open repository ↗

Like Prometheus, but for logs.

28.7K stars4.1K forksGoAGPL-3.0cloudnativegrafanahacktoberfestlogginglokiprometheuskeyword: Grafana Loki
PROJECT NEWS

Release, roadmap, and discussion

All news →
grafana/loki

Loki

Observability & Reliability
Latest stable

v3.7.6

v3.7.6
  • 3.7.6 (2026-08-05)
  • Bug Fixes
  • queryrange: Preserve sketch in MergeLabels [release-3.7.x] (#23770) (d48329d)
Original release notes ↗

Publicly indicated next

  • No public prerelease or open milestone found.

Prereleases and milestones indicate public plans; they are not delivery commitments.

Observation trail

  1. discoveredinitial snapshot
  2. discoveredinitial snapshot
  3. changedupdatedAt, metrics
  4. discoveredinitial snapshot
  5. discoveredinitial snapshot
  6. discoveredinitial snapshot
  7. changedtitle, text, updatedAt
  8. changedtext, updatedAt
  9. changedupdatedAt
  10. discoveredinitial snapshot
  11. changedupdatedAt, labels, state
  12. discoveredinitial snapshot
  13. changedupdatedAt
  14. discoveredinitial snapshot
  15. changedinitial snapshot
  16. changedinitial snapshot
  17. changedinitial snapshot
  18. changedinitial snapshot
  19. changedinitial snapshot
  20. changedinitial snapshot
  21. changedinitial snapshot
  22. changedinitial snapshot
  23. changedinitial snapshot
  24. changedinitial snapshot
  25. changedinitial snapshot
  26. changedinitial snapshot
  27. changedinitial snapshot
  28. changedinitial snapshot
  29. changedinitial snapshot
  30. changedinitial snapshot
50 shown
issue

Duplicate log lines can be introduced by automatic stream sharding

There may be other issues describing this but with a brief search I didn't find any. Loki currently has de-duplication logic which follows these rules: Lines are removed from results as duplicates when: * Are in the same stream * They have the exact same timestamp to the nanosecond * Have the exact same log content Not related to this issue directly but a di

importance 31@slim-beanopentype/bugOriginal evidence ↗
issue

grafana-loki lacks basic feature of extracting nested json labels

<!-- Please keep the structure below, or your issue may be closed. --> **Is your feature request related to a problem? Please describe.** I am running a java spring-boot application on AWS ECS and want to ship logs to loki/grafana. In order to have the java stack trace as a single log line in grafana I log as json to console using ```xml <encoder class="net.

importance 28@sschmiedleitneropentype/featuregood first issuecomponent/fluent-bit-pluginOriginal evidence ↗
issue

[Bug] PutObject fails with 400 InvalidArgument on non-AWS S3 (NetApp ONTAP, others) after PR #21848/#21849 - x-amz-content-sha256 PAYLOAD-TRAILER not supported

Summary PRs #21849 (3.7.2) and #21848 (3.6.11) introduced a regression that causes complete data loss on S3-compatible storage that does not support the STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER value in the x-amz-content-sha256 header. Ingesters fail to flush chunks to object storage after 8 retries and silently drop data. Affected versions ``` ┌──────────

importance 8@adamw-linadmopenOriginal evidence ↗
issue

Replace `go.uber.go/atomic` with Go standard library `sync/atomic`

## Summary We currently have a linter rule that blocks usage of `sync/atomic` and forces us to use `go.uber.go/atomic` instead. This rule was originally added because `sync/atomic` required atomic operations on primitive types, which was considered error-prone. However, since **Go 1.19**, the standard library `sync/atomic` package now includes typed wrappers

importance 7@Segflowopengood first issueOriginal evidence ↗
issue

Dependency Dashboard

> ℹ️ **Note** > > This PR body was truncated due to platform limits. This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more. ## Repository Problems Renovate tried to run on this repository, but found these problems. - ⚠️ WARN: GitHub failure: second

importance 4@renovate-sh-app[bot]openOriginal evidence ↗
issue

Sharded avg_over_time(... | unwrap ...) with grouping under-reports the average

## What happens With query sharding enabled, `avg_over_time(... | unwrap ...)` with a `by`/`without` grouping returns a value that is too low whenever some log lines in the range produce no unwrapped sample (missing field, non-numeric value). The unsharded path returns the correct value, so the same query gives two different answers depending on sharding. ##

importance 4@pracucciclosedtype/bugOriginal evidence ↗
pull request

feat(storage): Add OCI Thanos object store backend

## Problem Loki does not currently expose OCI Object Storage as a supported Thanos object-store backend. OCI users therefore have to use the S3-compatible API and static Customer Secret Keys. This prevents using OCI-native authentication mechanisms such as: - OKE Workload Identity - Instance Principal ## Proposed solution Add `oci` to Loki's Thanos object-st

importance 4@felix0102openOriginal evidence ↗
pull request

feat: Introduce tsdb.shipper.index-reader-mode feature flag

- Default mode is mmap (existing implementation) - New mode is stream - New mode is not yet implemented - it delegates all calls to mmap implementation. - Extract Reader interface, renaming existing implementation to ByteSliceReader and adding new StreamReader. - This is a PR that doesn't do much because it's a lot of plumbing! **What this PR does / why we n

importance 3@DanHopperGrafanaclosedtype/docsOriginal evidence ↗
pull request

fix: deduplicate log lines split across stream shards

**What this PR does / why we need it**: Automatic stream sharding splits one stream into shards by adding an internal label (`__stream_shard__`, and `__time_shard__` for time-based sharding). When a client resends a log line, the copy can be assigned to a different shard, so the two copies land in different streams and are not deduplicated at query time (#18

importance 3@17billionopenOriginal evidence ↗
pull request

feat(kafka): support configurable SASL mechanism (PLAIN, SCRAM-SHA-256, SCRAM-SHA-512)

## What this PR does / why we need it Loki's Kafka client hardcodes **SASL PLAIN** as the only authentication mechanism. Brokers configured with `sasl.enabled.mechanisms=SCRAM-SHA-256` or `SCRAM-SHA-512` only (e.g., AWS MSK, Confluent Cloud) immediately reject the handshake with `UNSUPPORTED_SASL_MECHANISM`, making Loki impossible to use with those providers

importance 2@titanericopensize/LkafkaOriginal evidence ↗
pull request

fix(querier): Prevent sample query plan marshal race 🤖🤖🤖

**What this PR does / why we need it**: Concurrent sample queries can share one `QueryPlan` AST between ingester fan-out and store evaluation. `DoUntilQuorum` may return while canceled ingester RPCs are still serializing the request. Store-side extractor construction sorts grouping slices in place, so protobuf sizing and marshaling can observe different AST

importance 2@cpliegeropenOriginal evidence ↗
pull request

[DO NOT MERGE] LogQL metric queries with stream-first iteration (prototype)

**What this PR does / why we need it**: _This draft PR is not intended to be proposed for merge, but just to show a prototype I'm working on and run tests in CI._ In this prototype I'm introducing a different order to consume samples when running LogQL metric queries (currently focused on `<decomposable aggr>_over_time()` cases). See `docs/internal/logql-eng

importance 2@pracucciopentype/docsOriginal evidence ↗
pull request

feat(distributor): add -distributor.extend-writes to keep write quorum during ingester scale-down

**What this PR does / why we need it**: The distributor always builds the ingester write set with `ring.WriteNoExtend`. When an ingester is briefly non-`ACTIVE` (for example `LEAVING` during a graceful scale-down or a rollout) it is dropped from the replica set with no replacement. If there is no quorum slack (RF=2, or RF=3 when several ingesters change at o

importance 2@17billionopenOriginal evidence ↗
pull request

chore: Treat objects as runs in compaction planning

**What this PR does / why we need it**: This updates compaction planning to treat objects are pre-existing indivisible runs when planning. * It isn't possible to consistently re-detect Runs from just looking at the sections, which meant that the planning phase tends to move data around rather than compact it. Said differently, without this change, compaction

importance 2@bencliveopenOriginal evidence ↗
pull request

chore: Run index merge phase multiple times per log merge phase

**What this PR does / why we need it**: This runs 3x index compactions for every log merge we do. Each merge reduces Runs by K, but each log merge increases it again by K * (The K can be different for index & log merge, but in reality they are in the same ballpark) This means index-compaction doesn't make progress if it flip-flops 1-1. This PR improves that

importance 2@bencliveopenOriginal evidence ↗
pull request

chore: Wire up a separate logsobj builder config

**What this PR does / why we need it**: Wires up a separate configuration for logsobj vs indexobj so we don't need to use the same for both. From experience, these are similar but we use smaller page sizes on index objects I updated the defaults against the latest recommendations. This ends up wiring all the way through multiple layers so there a lot of smal

importance 2@bencliveopenOriginal evidence ↗
pull request

chore(deps): Update github.com/go-openapi/analysis (main)

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/go-openapi/analysis](https://redirect.github.com/go-openapi/analysis) | `v0.25.5` → `v0.26.0` | ![age](https://developer.mend.io/api/mc/badges/age/g

importance 2@renovate-sh-app[bot]opendependenciesupdate-patchupdate-minorOriginal evidence ↗
pull request

fix(iter): Fix error handling and resource leaks in chained sample and entry iterators

**What this PR does / why we need it**: Fixes three related bugs in `pkg/iter`'s chaining iterators where a failing or drained sub-iterator was silently dropped instead of being surfaced or closed: 1. `nonOverlappingIterator`/`nonOverlappingSampleIterator.Next()` advanced past a sub-iterator that failed with a real read error instead of stopping, and `Err()`

importance 2@pracucciopenOriginal evidence ↗
pull request

feat: Update Loki / Write Resources dashboard

**What this PR does / why we need it**: This pull request updates the `Loki / Write Resources` dashboard. <img width="1380" height="431" alt="Screenshot 2026-08-12 at 11 43 13" src="https://github.com/user-attachments/assets/3b5dbea2-17b2-411d-96ef-e67d8d847181" /> <img width="1372" height="424" alt="Screenshot 2026-08-12 at 11 43 23" src="https://github.com

importance 2@grobinson-grafanaopenarea/helmOriginal evidence ↗
pull request

chore(deps): Update module go.etcd.io/etcd/client/v3 to v3.7.1 (main)

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [go.etcd.io/etcd/client/v3](https://redirect.github.com/etcd-io/etcd) | `v3.6.14` → `v3.7.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.etcd.io%

importance 1@renovate-sh-app[bot]opendependenciesupdate-minorOriginal evidence ↗
pull request

fix: Recognise thanos/minio S3 throttling errors as retryable and add backoff

**What this PR does / why we need it**: S3 throttling responses (`SlowDown`, `503`, `429`) were not being treated as retryable when the object client runs on the thanos/objstore backend (`use_thanos_objstore: true`), which is the default for our object stores. `IsStorageThrottledErr` only matched the AWS SDK's `smithy.APIError`, but the thanos S3 client is b

importance 1@sandeepsukhaniopentype/docsOriginal evidence ↗
pull request

chore: Implement streaming reading of symbols section

- Remove Symbols() and SymbolTableSize() from Reader interface as it's not actually used - Implement streamSymbols - Test that it behaves the same as Symbols in index.go **What this PR does / why we need it**: Part of our effort to move away from mmap in index gateways. **Which issue(s) this PR fixes**: N/A **Special notes for your reviewer**: This is a reim

importance 1@DanHopperGrafanaopenOriginal evidence ↗
pull request

docs: Add Thanos storage examples 🤖🤖🤖

**What this PR does / why we need it**: Updates the sample storage examples to include Thanos configuration format using `object_store` as requested by @bboreham. This PR - Adds four new examples of Thanos storage configuration files - Updates existing examples to better indicate <REPLACEMENT_VALUES> - Removes some extra lines **Special notes for your review

importance 1@JSticklerclosedtype/docsOriginal evidence ↗
pull request

chore: Implement streaming reading of series

- Add optimisation to FilePoolDecbufFactory to cache fileSize - Cache all label names in memory in streamSymbols (same as mmap) - Add isLabelName to streamPostings, used to populate that cache in streamSymbols - These two optimisations make the new Series and ChunkStats implementations more efficient. **What this PR does / why we need it**: Part of our effor

importance 1@DanHopperGrafanaopenOriginal evidence ↗
pull request

fix(logql): Count unwrapped samples in the sharded avg_over_time denominator

**What this PR does / why we need it**: With sharding enabled, a grouped `avg_over_time(... | unwrap x)` returns a value that is too low whenever a log line yields no unwrapped sample. The shard mapper decomposes the average into a sum leg over samples divided by a count leg over lines, and the count leg counts lines the numerator never saw. A line yields an

importance 1@pracucciclosedOriginal evidence ↗
pull request

fix(docs): correct broken 'pipeline errors' link in log queries

Fixes #20051 The "pipeline errors" link in the label filter expression section pointed to `../#pipeline-errors`, which resolves to a non-existent anchor. The actual section heading in this file is `## Log pipeline`, so the correct link anchor is `#log-pipeline`. This is a one-character fix in the markdown link target.

importance 1@mmustafasenogluclosedtype/docsbackport release-3.6.xbackport release-3.7.xOriginal evidence ↗
pull request

feat(indexgateway): Add admission control to bound concurrent requests

## Summary The index gateway has no bound on concurrent request execution: in-flight requests pile up until the process locks up and can no longer schedule readiness probes or error responses. This PR ports the admission-control mechanism Mimir runs on its store-gateway, using the same dskit building blocks: at most N requests execute at once, excess request

importance 1@trevorwhitneyopentype/docsOriginal evidence ↗
pull request

fix(CI): release scripts add newline

**What this PR does / why we need it**: I previously tried to fix this in https://github.com/grafana/loki/pull/19011 but I now realize that it wasn't 100% correct. It solved an ephemeral issue that was remedied on the next release. Long term we need another newline in the release script. Demonstrated through a git-diff of the output. ``` ## Unreleased + ## 6

importance 0@TheRealNoobclosedsize/XSOriginal evidence ↗
pull request

feat(operator): Watch object storage Services for NetworkPolicy updates and surface ports in status

**What this PR does / why we need it**: - Consolidates port determination logic from `manifest` package to `handlers` - Adds Service watcher that triggers reconciliation when object storage Services change - NetworkPolicies now update automatically when Service ports change **Which issue(s) this PR fixes**: Fixes [LOG-8768](https://redhat.atlassian.net/brows

importance 0@btaaniopensig/operatorOriginal evidence ↗
pull request

chore(deps): Update module go.etcd.io/etcd/api/v3 to v3.7.1 (main)

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [go.etcd.io/etcd/api/v3](https://redirect.github.com/etcd-io/etcd) | `v3.6.14` → `v3.7.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.etcd.io%2fe

importance 0@renovate-sh-app[bot]opendependenciesupdate-minorOriginal evidence ↗
pull request

chore(deps): Update module go.etcd.io/etcd/client/pkg/v3 to v3.7.1 (main)

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [go.etcd.io/etcd/client/pkg/v3](https://redirect.github.com/etcd-io/etcd) | `v3.6.14` → `v3.7.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/go.etcd

importance 0@renovate-sh-app[bot]opendependenciesupdate-minorOriginal evidence ↗
pull request

chore(deps): Update Terraform google to v7.43.0 (main)

This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [google](https://registry.terraform.io/providers/hashicorp/google) ([source](https://redirect.github.com/hashicorp/terraform-provider-google)) | required_provider | minor | `7.38.0` → `7.43.0` | `7.44.0` | --- > [!WARNING] > Some dependencies could

importance 0@renovate-sh-app[bot]opendependenciesupdate-minorOriginal evidence ↗
pull request

fix(querier): Prevent log query plan marshal race 🤖🤖🤖

**What this PR does / why we need it**: `SingleTenantQuerier.SelectLogs` copied `QueryRequest` before splitting ingester and store intervals, but the copy still shared its `QueryPlan`. Store pipeline construction mutates that AST in place through `reorderStages` and `combineFilters`. A canceled or hedged ingester request can still be serializing the same pla

importance 0@cpliegeropenOriginal evidence ↗
pull request

fix(deps): Update module github.com/tjhop/slog-gokit to v0.2.2 (main)

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/tjhop/slog-gokit](https://redirect.github.com/tjhop/slog-gokit) | `v0.2.0` → `v0.2.2` | ![age](https://developer.mend.io/api/mc/badges/age/go/github

importance 0@renovate-sh-app[bot]opendependenciesupdate-patchOriginal evidence ↗
pull request

fix: Include query and query_hash in byte-limit rejection log lines

**What this PR does / why we need it**: When the query-frontend rejects a query for exceeding `max_query_bytes_read` (`MaxQueryBytesRead`) or `MaxQuerierBytesRead`, it logs a `Query exceeds limits` warning containing `limit_name`, `limit_bytes`, and `resolved_bytes` - but not the query itself or its hash. Because the rejection happens before execution, no `m

importance 0@dcoppaOriginal evidence ↗
pull request

fix(deps): Update github.com/prometheus/prometheus digest to 3c82a95 (main)

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/prometheus/prometheus](https://redirect.github.com/prometheus/prometheus) | require | digest | `ab225f6` → `3c82a95` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/23439) for more information.

importance 0@renovate-sh-app[bot]opendependenciesOriginal evidence ↗
pull request

chore: Implement streaming reading of header and TOC

**What this PR does / why we need it**: Implement streaming reading of header and TOC as part of the process of moving away from mmap in the index gateway. I have run this in a pre-production environment for a few minutes and not seen any noticeable changes in latency, resource usage, etc. **Special notes for your reviewer**: This PR is best reviewed commit-

importance 0@DanHopperGrafanaclosedOriginal evidence ↗
pull request

refactor(chunks-inspect): Report block parse errors and drop the duplicate time.go

**What this PR does / why we need it**: This PR tidies up two things left over from #23681, which folded `chunks-inspect` into the root Go module and listed both of these as deliberate follow-ups. * Reports per-block parse errors instead of quietly dropping them, and returns the entries recovered before the corruption. * Adds some basic test coverage for sai

importance 0@jnewbiginclosedOriginal evidence ↗
pull request

chore(deps): Update github.com/grafana/objstore digest to ec72e5a (main)

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/grafana/objstore](https://redirect.github.com/grafana/objstore) | replace | digest | `becd33c` → `ec72e5a` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/23439) for more information. --- ### C

importance 0@renovate-sh-app[bot]opendependenciesOriginal evidence ↗
pull request

chore(deps): Update logstash:9.4.4 Docker digest to bdb7d35 (main)

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [logstash](https://hub.docker.com/_/logstash) ([source](https://redirect.github.com/elastic/dockerfiles)) | final | digest | `7bf7931` → `bdb7d35` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/23439) for

importance 0@renovate-sh-app[bot]opendockerOriginal evidence ↗
pull request

chore(deps): Update golang:1.26.5 Docker digest to 705e964 (main)

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [golang](https://hub.docker.com/_/golang) ([source](https://redirect.github.com/docker-library/golang)) | stage | digest | `3aff665` → `705e964` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/23439) for m

importance 0@renovate-sh-app[bot]opensig/operatordockerOriginal evidence ↗
pull request

chore: Implement streaming reading of postings offset table

- Remove PostingsRanges() from interface as it's unused - Implement Postings for cases where a fingerprint filter isn't given - All is derivative of existing implementation, so can be reviewed against that. And also is tested against the existing implementation so we know it behaves similarly. **What this PR does / why we need it**: Part of our effort to mov

importance 0@DanHopperGrafanaopenOriginal evidence ↗
pull request

chore: Implement streaming reading of fingerprint offsets table

- Read it into memory on open (like existing mmap implementation). - Implement Postings(...) for non-nil fingerprint filters. - Test against existing implementation. - Second commit makes changes across a few of the files I've been working on to prevent leaking file descriptors when creating a decbuf fails. This problem was identified by cursor's review of t

importance 0@DanHopperGrafanaopenOriginal evidence ↗
pull request

fix(deps): Update module github.com/IBM/ibm-cos-sdk-go to v1.15.0 (main)

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/IBM/ibm-cos-sdk-go](https://redirect.github.com/IBM/ibm-cos-sdk-go) | `v1.14.1` → `v1.15.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/

importance 0@renovate-sh-app[bot]opendependenciesupdate-minorOriginal evidence ↗
pull request

chore: Implement streaming reading of label methods

- Implement LabelValues, LabelNames, LabelValueFor and LabelNamesFor - Test these against the existing implementation - Remove mmap fallback from stream_reader.go as it's no longer needed **What this PR does / why we need it**: Part of our effort to move away from mmap in index gateways. **Which issue(s) this PR fixes**: N/A. **Special notes for your reviewe

importance 0@DanHopperGrafanaopenOriginal evidence ↗
pull request

fix(deps): Update module github.com/redis/go-redis/v9 to v9.22.0 (main)

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/redis/go-redis/v9](https://redirect.github.com/redis/go-redis) | `v9.21.0` → `v9.22.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/githu

importance 0@renovate-sh-app[bot]opendependenciesupdate-minorOriginal evidence ↗
pull request

fix: Large requests returned 400 instead 413

**What this PR does / why we need it**: This pull request fixes a number of cases where large requests were failed with a 400 instead of a 413 status code. This seems inconsequential, but it meant a number of these cases were invisible on provisioned Grafana Cloud dashboards that customers use to track their ingest. **Which issue(s) this PR fixes**: Fixes #<

importance 0@grobinson-grafanaclosedOriginal evidence ↗
pull request

fix(deps): Update module github.com/aws/aws-sdk-go-v2/service/s3 to v1.107.0 (main)

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2/service/s3](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.106.5` → `v1.107.0` | ![age](https://developer.mend.io/api/mc/bad

importance 0@renovate-sh-app[bot]opendependenciesupdate-minorOriginal evidence ↗
pull request

fix(operator): Remove BoltDB alerts, recording rules, and Grafana dashboards

**What this PR does / why we need it**: - Removes `LokiStorageSlowWrite` and `LokiStorageSlowRead` alerts - Removes the `job_le_namespace_operation:loki_boltdb_shipper_request_duration_seconds_bucket` recording rule - Rewrites the retention dashboard compaction panels from `loki_boltdb_shipper_compact_tables_operation_*` to `loki_compactor_apply_retention_*`

importance 0@btaaniopenOriginal evidence ↗
pull request

docs: Update Helm Charts docs 🤖🤖🤖

**What this PR does / why we need it**: Updates the Loki Helm charts to keep pace with updates in the Grafana-community repo. Regenerates the Helm Reference file. Replaces relative links with full URLs. **Special notes for your reviewer**: Planned with AI (Sonnet 5) Written with AI (Sonnet 5) Validated with a different model (Opus 5)

importance 0@JSticklerclosedtype/docsbackport release-3.7.xOriginal evidence ↗