Skip to content

Commit 948fd7a

Browse files
committed
Merge branch 'master' into overrides_api
Signed-off-by: Bogdan Stancu <stancu.bogdan.nicolae@gmail.com>
2 parents 5e21b22 + eab2099 commit 948fd7a

File tree

118 files changed

+7549
-1502
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+7549
-1502
lines changed

.github/workflows/test-build-deploy.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
lint:
1818
runs-on: ubuntu-24.04
1919
container:
20-
image: quay.io/cortexproject/build-image:master-7ce1d1b12
20+
image: quay.io/cortexproject/build-image:master-59491e9aae
2121
steps:
2222
- name: Checkout Repo
2323
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -46,7 +46,7 @@ jobs:
4646
test:
4747
runs-on: ubuntu-24.04
4848
container:
49-
image: quay.io/cortexproject/build-image:master-7ce1d1b12
49+
image: quay.io/cortexproject/build-image:master-59491e9aae
5050
steps:
5151
- name: Checkout Repo
5252
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -64,7 +64,7 @@ jobs:
6464
test-no-race:
6565
runs-on: ubuntu-24.04
6666
container:
67-
image: quay.io/cortexproject/build-image:master-7ce1d1b12
67+
image: quay.io/cortexproject/build-image:master-59491e9aae
6868
steps:
6969
- name: Checkout Repo
7070
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -107,7 +107,7 @@ jobs:
107107
build:
108108
runs-on: ubuntu-24.04
109109
container:
110-
image: quay.io/cortexproject/build-image:master-7ce1d1b12
110+
image: quay.io/cortexproject/build-image:master-59491e9aae
111111
steps:
112112
- name: Checkout Repo
113113
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -247,14 +247,14 @@ jobs:
247247
run: |
248248
touch build-image/.uptodate
249249
MIGRATIONS_DIR=$(pwd)/cmd/cortex/migrations
250-
make BUILD_IMAGE=quay.io/cortexproject/build-image:master-7ce1d1b12 TTY='' configs-integration-test
250+
make BUILD_IMAGE=quay.io/cortexproject/build-image:master-59491e9aae TTY='' configs-integration-test
251251
252252
deploy_website:
253253
needs: [build, test]
254254
if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.repository == 'cortexproject/cortex'
255255
runs-on: ubuntu-24.04
256256
container:
257-
image: quay.io/cortexproject/build-image:master-7ce1d1b12
257+
image: quay.io/cortexproject/build-image:master-59491e9aae
258258
steps:
259259
- name: Checkout Repo
260260
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -296,7 +296,7 @@ jobs:
296296
if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.repository == 'cortexproject/cortex'
297297
runs-on: ubuntu-24.04
298298
container:
299-
image: quay.io/cortexproject/build-image:master-7ce1d1b12
299+
image: quay.io/cortexproject/build-image:master-59491e9aae
300300
steps:
301301
- name: Checkout Repo
302302
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

ADOPTERS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ This is the list of organisations that are using Cortex in **production environm
66
* [Amazon Web Services (AWS)](https://aws.amazon.com/prometheus)
77
* [Aspen Mesh](https://aspenmesh.io/)
88
* [Buoyant](https://buoyant.io/)
9+
* [Cabify](https://tech.cabify.com/)
910
* [DigitalOcean](https://www.digitalocean.com/)
1011
* [Electronic Arts](https://www.ea.com/)
1112
* [Etsy](https://www.etsy.com/)

CHANGELOG.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
* [FEATURE] Querier: Allow choosing PromQL engine via header. #6777
2424
* [FEATURE] Querier: Support for configuring query optimizers and enabling XFunctions in the Thanos engine. #6873
2525
* [FEATURE] Query Frontend: Add support /api/v1/format_query API for formatting queries. #6893
26+
* [FEATURE] Query Frontend: Add support for /api/v1/parse_query API (experimental) to parse a PromQL expression and return it as a JSON-formatted AST (abstract syntax tree). #6978
27+
* [ENHANCEMENT] Overrides Exporter: Expose all fields that can be converted to float64. Also, the label value `max_local_series_per_metric` got renamed to `max_series_per_metric`, and `max_local_series_per_user` got renamed to `max_series_per_user`. #6979
2628
* [ENHANCEMENT] Ingester: Add `cortex_ingester_tsdb_wal_replay_unknown_refs_total` and `cortex_ingester_tsdb_wbl_replay_unknown_refs_total` metrics to track unknown series references during wal/wbl replaying. #6945
2729
* [ENHANCEMENT] Ruler: Emit an error message when the rule synchronization fails. #6902
2830
* [ENHANCEMENT] Querier: Support snappy and zstd response compression for `-querier.response-compression` flag. #6848
@@ -50,7 +52,7 @@
5052
* [ENHANCEMENT] Distributor: Add min/max schema validation for Native Histogram. #6766
5153
* [ENHANCEMENT] Ingester: Handle runtime errors in query path #6769
5254
* [ENHANCEMENT] Compactor: Support metadata caching bucket for Cleaner. Can be enabled via `-compactor.cleaner-caching-bucket-enabled` flag. #6778
53-
* [ENHANCEMENT] Distributor: Add ingestion rate limit for Native Histogram. #6794
55+
* [ENHANCEMENT] Distributor: Add ingestion rate limit for Native Histogram. #6794 and #6994
5456
* [ENHANCEMENT] Ingester: Add active series limit specifically for Native Histogram. #6796
5557
* [ENHANCEMENT] Compactor, Store Gateway: Introduce user scanner strategy and user index. #6780
5658
* [ENHANCEMENT] Querier: Support chunks cache for parquet queryable. #6805
@@ -68,9 +70,12 @@
6870
* [ENHANCEMENT] Ingester: Add new metric `cortex_ingester_push_errors_total` to track reasons for ingester request failures. #6901
6971
* [ENHANCEMENT] Ring: Expose `detailed_metrics_enabled` for all rings. Default true. #6926
7072
* [ENHANCEMENT] Parquet Storage: Allow Parquet Queryable to disable fallback to Store Gateway. #6920
71-
* [ENHANCEMENT] Query Frontend: Add a `format_query` label value to the `op` label at `cortex_query_frontend_queries_total` metric. #6925
73+
* [ENHANCEMENT] Query Frontend: Add a `format_query` and `parse_query` labels value to the `op` label at `cortex_query_frontend_queries_total` metric. #6925 #6990
7274
* [ENHANCEMENT] API: add request ID injection to context to enable tracking requests across downstream services. #6895
7375
* [ENHANCEMENT] gRPC: Add gRPC Channelz monitoring. #6950
76+
* [ENHANCEMENT] Upgrade build image and Go version to 1.24.6. #6970 #6976
77+
* [ENHANCEMENT] Implement versioned transactions for writes to DynamoDB ring. #6986
78+
* [ENHANCEMENT] Add source metadata to requests(api vs ruler) #6947
7479
* [BUGFIX] Ingester: Avoid error or early throttling when READONLY ingesters are present in the ring #6517
7580
* [BUGFIX] Ingester: Fix labelset data race condition. #6573
7681
* [BUGFIX] Compactor: Cleaner should not put deletion marker for blocks with no-compact marker. #6576

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ build-image/$(UPTODATE): build-image/*
112112
SUDO := $(shell docker info >/dev/null 2>&1 || echo "sudo -E")
113113
BUILD_IN_CONTAINER := true
114114
BUILD_IMAGE ?= $(IMAGE_PREFIX)build-image
115-
LATEST_BUILD_IMAGE_TAG ?= master-7ce1d1b12
115+
LATEST_BUILD_IMAGE_TAG ?= master-59491e9aae
116116

117117
# TTY is parameterized to allow Google Cloud Builder to run builds,
118118
# as it currently disallows TTY devices. This value needs to be overridden

build-image/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.24.3-bullseye
1+
FROM golang:1.24.6-bullseye
22
ARG goproxyValue
33
ENV GOPROXY=${goproxyValue}
44
RUN apt-get update && apt-get install -y curl file gettext jq unzip protobuf-compiler libprotobuf-dev && \

docs/api/_index.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ For the sake of clarity, in this document we have grouped API endpoints by servi
3737
| [Instant query](#instant-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/query` |
3838
| [Range query](#range-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/query_range` |
3939
| [Exemplar query](#exemplar-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/query_exemplars` |
40-
| [Format query](#format-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/format-query` |
40+
| [Format query](#format-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/format_query` |
41+
| [Parse query](#parse-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/parse_query` |
4142
| [Get series by label matchers](#get-series-by-label-matchers) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/series` |
4243
| [Get label names](#get-label-names) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/labels` |
4344
| [Get label values](#get-label-values) | Querier, Query-frontend || `GET <prometheus-http-prefix>/api/v1/label/{name}/values` |
@@ -387,6 +388,21 @@ _For more information, please check out the Prometheus [fomatting query expressi
387388

388389
_Requires [authentication](#authentication)._
389390

391+
### Parse query
392+
393+
```
394+
GET,POST <prometheus-http-prefix>/api/v1/parse_query
395+
396+
# Legacy
397+
GET,POST <legacy-http-prefix>/api/v1/parse_query
398+
```
399+
400+
Prometheus-compatible parse query endpoint. This endpoint is **experimental**, it parses a PromQL expression and returns it as a JSON-formatted AST (abstract syntax tree) representation.
401+
402+
_For more information, please check out the Prometheus [Parsing query expressions](https://prometheus.io/docs/prometheus/latest/querying/api/#parsing-a-promql-expressions-into-a-abstract-syntax-tree-ast) documentation._
403+
404+
_Requires [authentication](#authentication)._
405+
390406
### Get series by label matchers
391407

392408
```

docs/blocks-storage/compactor.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -195,15 +195,19 @@ compactor:
195195

196196
sharding_ring:
197197
kvstore:
198-
# Backend storage to use for the ring. Supported values are: consul, etcd,
199-
# inmemory, memberlist, multi.
198+
# Backend storage to use for the ring. Supported values are: consul,
199+
# dynamodb, etcd, inmemory, memberlist, multi.
200200
# CLI flag: -compactor.ring.store
201201
[store: <string> | default = "consul"]
202202

203203
# The prefix for the keys in the store. Should end with a /.
204204
# CLI flag: -compactor.ring.prefix
205205
[prefix: <string> | default = "collectors/"]
206206

207+
# The consul_config configures the consul client.
208+
# The CLI flags prefix for this block config is: compactor.ring
209+
[consul: <consul_config>]
210+
207211
dynamodb:
208212
# Region to access dynamodb.
209213
# CLI flag: -compactor.ring.dynamodb.region
@@ -229,10 +233,6 @@ compactor:
229233
# CLI flag: -compactor.ring.dynamodb.timeout
230234
[timeout: <duration> | default = 2m]
231235

232-
# The consul_config configures the consul client.
233-
# The CLI flags prefix for this block config is: compactor.ring
234-
[consul: <consul_config>]
235-
236236
# The etcd_config configures the etcd client.
237237
# The CLI flags prefix for this block config is: compactor.ring
238238
[etcd: <etcd_config>]

docs/blocks-storage/store-gateway.md

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -210,15 +210,20 @@ store_gateway:
210210
# This option needs be set both on the store-gateway and querier when
211211
# running in microservices mode.
212212
kvstore:
213-
# Backend storage to use for the ring. Supported values are: consul, etcd,
214-
# inmemory, memberlist, multi.
213+
# Backend storage to use for the ring. Supported values are: consul,
214+
# dynamodb, etcd, inmemory, memberlist, multi.
215215
# CLI flag: -store-gateway.sharding-ring.store
216216
[store: <string> | default = "consul"]
217217

218218
# The prefix for the keys in the store. Should end with a /.
219219
# CLI flag: -store-gateway.sharding-ring.prefix
220220
[prefix: <string> | default = "collectors/"]
221221

222+
# The consul_config configures the consul client.
223+
# The CLI flags prefix for this block config is:
224+
# store-gateway.sharding-ring
225+
[consul: <consul_config>]
226+
222227
dynamodb:
223228
# Region to access dynamodb.
224229
# CLI flag: -store-gateway.sharding-ring.dynamodb.region
@@ -244,11 +249,6 @@ store_gateway:
244249
# CLI flag: -store-gateway.sharding-ring.dynamodb.timeout
245250
[timeout: <duration> | default = 2m]
246251

247-
# The consul_config configures the consul client.
248-
# The CLI flags prefix for this block config is:
249-
# store-gateway.sharding-ring
250-
[consul: <consul_config>]
251-
252252
# The etcd_config configures the etcd client.
253253
# The CLI flags prefix for this block config is:
254254
# store-gateway.sharding-ring
@@ -357,12 +357,6 @@ store_gateway:
357357

358358
query_protection:
359359
rejection:
360-
# EXPERIMENTAL: Enable query rejection feature, where the component return
361-
# 503 to all incoming query requests when the configured thresholds are
362-
# breached.
363-
# CLI flag: -store-gateway.query-protection.rejection.enabled
364-
[enabled: <boolean> | default = false]
365-
366360
threshold:
367361
# EXPERIMENTAL: Max CPU utilization that this ingester can reach before
368362
# rejecting new query request (across all tenants) in percentage,

0 commit comments

Comments
 (0)