Commit graph

15162 commits

Author SHA1 Message Date
Julius Volz 677efa4678
Merge pull request #16170 from prometheus/fix-test-logging-race
Fix test race by not calling t.Log() after test completion
2025-03-05 14:10:46 +01:00
Julius Volz 6054e843fe Fix test race by not calling t.Log() after test completion
Fixes https://github.com/prometheus/prometheus/issues/16169

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 12:20:12 +01:00
Julius Volz 6da8b1050e
Merge pull request #16167 from prometheus/invert-legend-selection-behavior
Some checks are pending
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Invert graph legend series show/hide behavior
2025-03-05 12:16:42 +01:00
Julius Volz 7a2be11436 Change "Cmd" to "⌘"
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 11:24:35 +01:00
Julius Volz 8e79631f86 Invert graph legend series show/hide behavior
Also conditionally display instructions for "Cmd" vs. "Ctrl" depending on the user agent.

See https://github.com/prometheus/prometheus/issues/16162#issuecomment-2699315258

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 10:33:03 +01:00
Julius Volz 9e5d59b777
Merge pull request #16163 from prometheus/readd-vertical-grid
Bring back vertical grid lines
2025-03-05 10:22:54 +01:00
Julius Volz 70aea5dd8d
Only copy matchers on double click and add error handling (#16165)
The useClipboard hook also just uses navigator.clipboard.writeText() under
the hood, but the timeout and state handling that the hook provides were
just not a good fit for showing a one-shot notification with error
detectionm, so doing the copying manually.

Addresses part of https://github.com/prometheus/prometheus/issues/16162

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 10:18:09 +01:00
Julius Volz 631890b38e
Add graph legend series toggling instructions again (#16164)
Addresses part of https://github.com/prometheus/prometheus/issues/16162

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 10:17:15 +01:00
Julius Volz 4ae1effb62 Bring back vertical grid lines
Addressing part of https://github.com/prometheus/prometheus/issues/16162

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-04 23:38:25 +01:00
Jan Fajerski 350d591e3b
Merge pull request #16159 from jan--f/sync-release-3.2
Some checks failed
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Push README to Docker Hub / Push README to Docker Hub (push) Has been cancelled
Push README to Docker Hub / Push README to quay.io (push) Has been cancelled
Merge release-3.2 to main
2025-03-03 20:52:46 +01:00
Jan Fajerski 1ab9fa701e Merge branch 'release-3.2' into sync-release-3.2
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2025-03-03 20:16:09 +01:00
Giuliano Panzironi 2ef8706c27
fix: format float to avoid overflow (#16083)
Signed-off-by: giulianopz <panzironi.giuliano@gmail.com>
2025-03-03 09:03:45 +00:00
Ayoub Mrini 3f0de72da7
Merge pull request #15979 from jrcichra/sendall-remap
notifier: Consider alert relabeling when deciding if alerts are dropped
2025-02-28 09:54:54 +01:00
co63oc 0e4e5a71bd
Fix typos (#16076)
Signed-off-by: co63oc <co63oc@users.noreply.github.com>
2025-02-28 11:24:25 +11:00
Julius Volz 77a505a0dc
Merge pull request #16085 from prometheus/dropped-target-scrapepool
Include scrape pool name for dropped targets in /api/v1/targets
2025-02-27 21:52:41 +01:00
Julius Volz 4be2243f06 Include scrape pool name for dropped targets in /api/v1/targets
This is needed so we can display dropped targets in the right scrape pool
in the web interface even if they have a non-default job name.

See also https://github.com/prometheus/prometheus/pull/16078

Fixes https://github.com/prometheus/prometheus/issues/16065

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-27 15:17:22 +01:00
Julius Volz 29d8372a04
Merge pull request #16084 from prometheus/targets-api-cleanup
Targets API: Remove superfluous if() and make variable names more intuitive
2025-02-27 15:08:30 +01:00
Julius Volz 911e305bc9 Address review comments
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-27 13:06:22 +01:00
Danial Eskandari 5efaa84be1
config: set gogc default value when config body is empty (#16052)
* fix: set gogc default value when config body is empty

Signed-off-by: Danial Eskandari <doneskandari@gmail.com>

* refactor: explicitly check value 75 in `TestGoGCDefaultValueOnEmptyConfigBody`

add GoGC assertion in `TestEmptyConfig`, also removed the no longer needed runtime config assignment in `TestEmptyGlobalBlock`

Signed-off-by: Danial Eskandari <doneskandari@gmail.com>

* refactor: remove `TestGoGCDefaultValueOnEmptyConfigBody` to reduce duplicate assertions

Signed-off-by: Danial Eskandari <doneskandari@gmail.com>

---------

Signed-off-by: Danial Eskandari <doneskandari@gmail.com>
2025-02-27 11:25:52 +01:00
Bryan Boreham d72c1ec2c2
Merge pull request #16081 from prometheus/bastischubert/1740588650
doc: clarified behaviour of source_labels in relabel_config
2025-02-27 10:13:35 +00:00
Julius Volz 2fb6697eea Targets API: Remove superfluous if() and make variable names more intuitive
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-27 10:02:23 +01:00
Björn Rabenstein 4b01140207
doc: Update nodejs and npm requirements for build (#16082)
Signed-off-by: beorn7 <beorn@grafana.com>
2025-02-26 17:20:42 +00:00
Sebastian Schubert efa4f4a60b
doc: clarified behaviour of source_labels in relabel_config
Signed-off-by: Sebastian Schubert <basti@schubert.digital>
2025-02-26 17:57:44 +01:00
Jan Fajerski a7ce2c37b6
Merge pull request #16035 from Antiz96/reproducible_builds
build: Ignore timestamps recording in gzip metadata
2025-02-26 16:05:06 +01:00
Justin Cichra 78599d0ec6 notifier: Consider alert relabeling when deciding if alerts are dropped
When intentionally dropping all alerts in a batch, `SendAll` returns
false, increasing the dropped_total metric.

This makes it difficult to tell if there is a connection issue between
Prometheus and AlertManager or a result of intentionally dropping alerts.

Have `SendAll` return `true` when no batches were sent by keeping track
of the number of AlertManager request attempts.

If no attempts were made, then the send is successful.

Fixes: #15978

Signed-off-by: Justin Cichra <jcichra@cloudflare.com>
2025-02-26 09:05:40 -05:00
Jan Fajerski 57cb0c81e6
Merge pull request #16075 from jan--f/prep-rel-3.2.1
Some checks failed
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
Prepare release 3.2.1
2025-02-26 10:10:58 +01:00
Jan Fajerski 804c49d58f Prepare release 3.2.1
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2025-02-25 20:11:52 +01:00
Bryan Boreham 42d55505f9
Merge pull request #12659 from prymitive/memChunk
Short-cut common memChunk operations
2025-02-25 11:33:56 +00:00
boforetech 6ec89f14c7
refactor: use a more straightforward return value (#16070)
Signed-off-by: beforetech <mail@before.tech>
2025-02-24 12:25:57 +00:00
Matt Hughes 528b3fc60f scraper: fix UTF-8 scraping header always sent with PrometheusText1.0.0
The `Accept` header should not include `escape=allow-utf-8` unless
explicitly requested.

Conveniently, there was already a test covering this header's value, it
just required updating so it also asserts that this value in the header
is not set in the cases we don't expect it to be set. I also converted
those tests into table tests to help make failures clearer.

Issue: https://github.com/prometheus/prometheus/issues/15857
Signed-off-by: Matt Hughes <mhughes@uw.co.uk>
2025-02-24 11:15:27 +01:00
Julius Volz e837ac9fe2
Merge pull request #16068 from prometheus/fix/target-health-highlighting
Fix health color for target pools with single target that is down
2025-02-22 22:47:41 +01:00
Julius Volz b636046672 Fix health color for target pools with single target that is down
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-22 21:32:56 +01:00
Björn Rabenstein 7bbbb5cb97
Merge pull request #16006 from mmorel-35/revive/unused-parameter
chore: enable unused-parameter from revive
2025-02-21 13:56:04 +01:00
Charles Korn 8356990709
promql: fix double quoting in invalid label name error from count_values (#16054)
Some checks failed
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
promql: fix double quoting in invalid label name error from `count_values`

---------

Signed-off-by: Charles Korn <charles.korn@grafana.com>
Signed-off-by: Charles Korn <charleskorn@users.noreply.github.com>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2025-02-21 00:37:04 +01:00
Ian Kerins 8c8b83ed4e
doc: fix broken kuma.io link (#16028)
doc: fix broken kuma.io link

I'm not actually familiar with kuma, but I noticed this link was broken, and I believe the one I've found here is equivalent.

Signed-off-by: Ian Kerins <git@isk.haus>
Signed-off-by: Björn Rabenstein <github@rabenste.in>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2025-02-20 23:14:33 +01:00
Björn Rabenstein fcc8e49d65
Merge pull request #16018 from charleskorn/charleskorn/quantile_over_time-annotation
promql: emit correct annotation in `quantile_over_time` when run over a range with histograms and floats
2025-02-20 22:49:30 +01:00
Owen Williams 23af3463e5
Merge pull request #16061 from matthewhughes-uw/fix-escaping-unconditionally-set
scraper: fix UTF-8 scraping header always sent with PrometheusText1.0.0
2025-02-20 10:52:12 -05:00
Jan Fajerski cd892ea2f8
Merge pull request #16057 from jan--f/build-all-status-trigger
ci: fix build-all status trigger to contain always
2025-02-20 12:48:25 +01:00
Matt Hughes 5868e36d91 scraper: fix UTF-8 scraping header always sent with PrometheusText1.0.0
The `Accept` header should not include `escape=allow-utf-8` unless
explicitly requested.

Conveniently, there was already a test covering this header's value, it
just required updating so it also asserts that this value in the header
is not set in the cases we don't expect it to be set. I also converted
those tests into table tests to help make failures clearer.

Issue: https://github.com/prometheus/prometheus/issues/15857
Signed-off-by: Matt Hughes <mhughes@uw.co.uk>
2025-02-20 11:33:16 +00:00
Jan Fajerski d5b18be9e2 ci: fix build-all status trigger to contain always
Otherwise a failure in the dependent job skips the status job, which is
treated as success.

Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2025-02-20 11:41:24 +01:00
Matthieu MOREL c7d4b53ec1 chore: enable unused-parameter from revive
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-19 19:50:28 +01:00
김가윤 86bb04783c
Example config: Add labels to static_configs (#13327)
Signed-off-by: 김가윤 <60080153+KaYunKIM@users.noreply.github.com>
Co-authored-by: Bryan Boreham <bjboreham@gmail.com>
2025-02-19 15:24:30 +00:00
Jan Fajerski 6bf8f9a8bc
Merge pull request #16040 from jan--f/prep-rel-3.2.0
Some checks failed
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
Prepare release 3.2.0
2025-02-17 19:05:28 +01:00
Jan Fajerski bf7ec404b2 Prepare release 3.2.0
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2025-02-17 17:39:08 +01:00
Ayoub Mrini e04913aea2
Merge pull request #15778 from machine424/reuse-pools
feat(tsdb/(head|agent)): reuse pools across segments to reduce garbage during WL replay
2025-02-17 12:48:17 +01:00
Julien Duchesne 77a5698190
Ruler Concurrency: Consider __name__ matchers (#16039)
When calculating dependencies between rules, we sometimes run into `{__name__...}` matchers
These can be used the same way as the actual rule names
This will enable even more rules to run concurrently

The new logic is also not slower:
```
julienduchesne@triceratops prometheus % benchstat test-old.txt test.txt
goos: darwin
goarch: arm64
pkg: github.com/prometheus/prometheus/rules
cpu: Apple M3 Pro
                 │ test-old.txt │              test.txt               │
                 │    sec/op    │   sec/op     vs base                │
DependencyMap-11    1.206µ ± 7%   1.024µ ± 7%  -15.10% (p=0.000 n=10)

                 │ test-old.txt │               test.txt               │
                 │     B/op     │     B/op      vs base                │
DependencyMap-11   1.720Ki ± 0%   1.438Ki ± 0%  -16.35% (p=0.000 n=10)

                 │ test-old.txt │              test.txt              │
                 │  allocs/op   │ allocs/op   vs base                │
DependencyMap-11     39.00 ± 0%   34.00 ± 0%  -12.82% (p=0.000 n=10)
```

Signed-off-by: Julien Duchesne <julien.duchesne@grafana.com>
2025-02-17 11:19:16 +00:00
Robin Candau ef24d47df9
build: Ignore timestamps recording in gzip metadata
Use the `-n / --noname` option to ignore non-deterministric information, such as timestamps, in gzip metadata.

This is required for [reproducible builds](https://reproducible-builds.org/).

Signed-off-by: Robin Candau <robincandau@protonmail.com>
2025-02-13 18:22:39 +01:00
Laimis Juzeliūnas a5ffa83be8
scrape: reorder the switch case of errors (#15991)
Change case order for switch scrapeLoop

This commit changes the ordering in error identification switch cases for better production performance and adds reasonings behind error switch case order as comments.

---------

Signed-off-by: Laimis Juzeliūnas <asnelaimis@gmail.com>
2025-02-13 14:25:50 +01:00
Björn Rabenstein e936e419b0
Merge pull request #16009 from charleskorn/topk-bottomk-sorting
docs: make sorting behaviour of `topk` and `bottomk` explicit
2025-02-13 13:53:51 +01:00
Bartlomiej Plotka de23a9667c
prw2: Split PRW2.0 from metadata-wal-records feature (#16030)
Rationales:

* metadata-wal-records might be deprecated and replaced going forward: https://github.com/prometheus/prometheus/issues/15911
* PRW 2.0 works without metadata just fine (although it sends untyped metrics as expected).

Signed-off-by: bwplotka <bwplotka@gmail.com>
2025-02-13 12:16:33 +00:00