14437 Commits

Author SHA1 Message Date
Arthur Silva Sens
1f56e8492c
Merge pull request #15478 from jan--f/prep-release-3.0.1
prepare release 3.0.1
v3.0.1 v0.300.1
2024-11-28 14:12:32 -03:00
Jan Fajerski
67d4be7a6a prepare release 3.0.1
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-11-27 21:16:42 +01:00
Jan Fajerski
c5c222e493
Merge pull request #15399 from prometheus/labels-utf8-fix
Add support for utf8 names on /v1/label/:name/values endpoint
2024-11-27 20:13:42 +01:00
Owen Williams
12577e3851 Add support for values unescaping on /v1/label/:name/values endpoint
Signed-off-by: Owen Williams <owen.williams@grafana.com>
2024-11-27 14:03:03 -05:00
newtonne
88675710f9 Add support for utf8 names on /v1/label/:name/values endpoint
Previously, the api was evaluating this regex to determine if the label
name was valid or not:

14bac55a99/model/labels.go (L94)

However, I believe that the `IsValid()` function is what ought to be
used in the brave new utf8 era.

**Before**

```
$ curl localhost:9090/api/v1/label/host.name/values
{"status":"error","errorType":"bad_data","error":"invalid label name: \"host.name\""}
```

**After**

```
$ curl localhost:9090/api/v1/label/host.name/values
{"status":"success","data":["localhost"]}
```

It's very likely that I'm missing something here or you were already
planning to do this at some point but I just encountered this issue and
figured I'd give it a go.

Signed-off-by: Owen Williams <owen.williams@grafana.com>
2024-11-25 11:48:45 -05:00
Bryan Boreham
fee61fbcbd
Merge pull request #15434 from tjhop/fix/query-logger-compounding-keys
fix!: stop unbounded memory usage from query log
2024-11-24 16:54:13 +00:00
TJ Hoplock
3e24e84172 fix!: stop unbounded memory usage from query log
Resolves: #15433

When I converted prometheus to use slog in #14906, I update both the
`QueryLogger` interface, as well as how the log calls to the
`QueryLogger` were built up in `promql.Engine.exec()`. The backing
logger for the `QueryLogger` in the engine is a
`util/logging.JSONFileLogger`, and it's implementation of the `With()`
method updates the logger the logger in place with the new keyvals added
onto the underlying slog.Logger, which means they get inherited onto
everything after. All subsequent calls to `With()`, even in later
queries, would continue to then append on more and more keyvals for the
various params and fields built up in the logger. In turn, this causes
unbounded growth of the logger, leading to increased memory usage, and
in at least one report was the likely cause of an OOM kill. More
information can be found in the issue and the linked slack thread.

This commit does a few things:

- It was referenced in feedback in #14906 that it would've been better
  to not change the `QueryLogger` interface if possible, this PR
proposes changes that bring it closer to alignment with the pre-3.0
`QueryLogger` interface contract
- reverts `promql.Engine.exec()`'s usage of the query logger to the
  pattern of building up an array of args to pass at once to the end log
call. Avoiding the repetitious calls to `.With()` are what resolve the
issue with the logger growth/memory usage.
- updates the scrape failure logger to use the update `QueryLogger`
  methods in the contract.
- updates tests accordingly
- cleans up unused methods

Builds and passes tests successfully. Tested locally and confirmed I
could no longer reproduce the issue/it resolved the issue.

Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>
2024-11-23 14:20:37 -05:00
Björn Rabenstein
bafb4d68de
Merge pull request #15431 from prometheus/beorn7/promql2
promql: Fix subqueries to be really left-open
2024-11-21 14:50:23 +01:00
beorn7
4b573e0521 promql: Fix subqueries to be really left-open
Previously, we managed to get rid of the sample on the left bound
later, so the problem didn't show up in the framework tests. But the
subqueries were still evaluation with the sample on the left bound,
taking space and showing up if returning the subquery result directly
(without further processing through PromQL like in all the framework
tests).

Signed-off-by: beorn7 <beorn@grafana.com>
2024-11-21 14:28:05 +01:00
Bryan Boreham
c5d009d57f
Merge pull request #15393 from jan--f/prep-release-3.0.0
Prep release 3.0.0
v0.300.0 v3.0.0
2024-11-14 16:19:49 +00:00
Jan Fajerski
d541b3bbeb prepare release 3.0.0
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-11-13 15:41:05 +01:00
Jan Fajerski
84396bf636 migration: add removal of AM v1 api
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-11-13 15:40:58 +01:00
Bryan Boreham
57a7a2939a
Merge pull request #15389 from jan--f/fix-appender-race-3.0
[BUGFIX] TSDB: Fix race on stale values in headAppender (#15322)
2024-11-12 14:12:37 +00:00
Julien
af2d67d28e
Merge pull request #15388 from roidelapluie/cpfixreload
[cherry pick] Fix auto reload when a config file with a syntax error is reverted
2024-11-12 14:59:56 +01:00
Bryan Boreham
003a2270e9 [BUGFIX] TSDB: Fix race on stale values in headAppender (#15322)
* [BUGFIX] TSDB: Fix race on stale values in headAppender

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

* Simplify

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

---------

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
(cherry picked from commit f42b37ff2fe56a92cfa1de64f814b5b5c9528e7d)
2024-11-12 14:55:12 +01:00
Bryan Boreham
32e28a25bc
Merge pull request #15379 from fionaliao/fix-migration-guide
docs: additional formatting fixes to 3.0 migration guide
2024-11-12 11:51:09 +00:00
Julien
b93aec077c Fix auto reload when a config file with a syntax error is reverted
When we had a syntax error but restored the old file, we did not
re-trigger the config reload, so the config reload metric was showing
that config reload was unsucessful.

I made magic to handle logs in cmd/prometheus.

For now it is a separate file so we can backport this easily.

I will generalize the helper in another PR.

Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-11-12 11:56:05 +01:00
Fiona Liao
928e691bc6
Merge branch 'release-3.0' into fix-migration-guide
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-12 09:43:42 +00:00
Bartlomiej Plotka
14f7a8e6ba
Merge pull request #15375 from jan--f/prep-release-3.0.0-rc.1
Prep release 3.0.0 rc.1
v0.300.0-rc.1 v3.0.0-rc.1
2024-11-11 16:35:49 -07:00
bwplotka
22eec4a390 Updated CHANGELOG.md
Signed-off-by: bwplotka <bwplotka@gmail.com>
2024-11-11 22:34:49 +00:00
Bartlomiej Plotka
7311ce3c00 Update CHANGELOG.md
Co-authored-by: Ben Kochie <superq@gmail.com>
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
2024-11-11 22:32:26 +00:00
Jan Fajerski
60489308a1 Prepare v3.0.0-rc.1
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-11-11 22:32:26 +00:00
Jan Fajerski
3067d0bc2f update CHANGELOG and migration guide
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-11-11 22:32:26 +00:00
Bartlomiej Plotka
f4a26f8d83
Merge pull request #15384 from prometheus/otlp-utf8-from-main
3.0 Port: Allow UTF-8 characters in metric and label names as opt-in feature (plus config entry)
2024-11-11 15:19:21 -07:00
bwplotka
e08794c53f Added config entry.
Signed-off-by: bwplotka <bwplotka@gmail.com>
2024-11-11 21:44:08 +00:00
Arthur Silva Sens
55e34c8c5f Allow UTF-8 characters in metric and label names as opt-in feature (#15258)
* Allow UTF-8 characters in metric and label names as opt-in feature

---------

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
2024-11-11 21:27:55 +00:00
Bartlomiej Plotka
9df69049a1
Merge pull request #15382 from prometheus/bwplotka-patch-1
Update migration.md for TSDB storage upgrade
2024-11-11 14:09:29 -07:00
Bartlomiej Plotka
99cbdc113c
Update migration.md for TSDB storage upgrade
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
2024-11-11 19:32:48 +00:00
Fiona Liao
67764d7cfd Better spacing for flags
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-11 18:31:50 +00:00
Fiona Liao
b2fd5b7e45 Format PromQL section, replace table
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-11 18:31:43 +00:00
Fiona Liao
962a3cd6be Add backticks to fallback_scrape_protocol
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-11 18:31:34 +00:00
Fiona Liao
ad8138a65d Add newlines before code blocks
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-11 18:31:28 +00:00
Ben Kochie
f701f4e236
Enable auto-gomaxprocs by default (#15376)
Enable the `auto-gomaxprocs` feature flag by default.
* Add command line flag `--no-auto-gomaxprocs` to disable.

Signed-off-by: SuperQ <superq@gmail.com>
2024-11-11 18:24:59 +01:00
Ben Kochie
fb69a38e67
Enable auto-gomemlimit by default (#15373)
* Enable auto-gomemlimit by default

Enable the `auto-gomemlimit` feature flag by default.
* Add command line flag `--no-auto-gomemlimit` to disable.

---------

Signed-off-by: SuperQ <superq@gmail.com>
2024-11-11 17:29:33 +01:00
Alex Greenbank
d40b671cfe
Merge pull request #15357 from prometheus/alexg/fix-fallback-scrape-release-3.0
scrape: stop erroring on empty scrapes
2024-11-08 18:43:13 +00:00
alexgreenbank
e7c0d21a8b add CHANGELOG entry
Signed-off-by: alexgreenbank <alex.greenbank@grafana.com>
2024-11-07 15:43:45 +00:00
alexgreenbank
6b09f094e1 scrape: stop erroring on empty scrapes
Signed-off-by: alexgreenbank <alex.greenbank@grafana.com>
2024-11-07 11:30:03 +00:00
Björn Rabenstein
704071d4c3
Merge pull request #15355 from roidelapluie/update-common-3
Update prometheus/common
2024-11-07 11:28:12 +01:00
Bryan Boreham
1ea35578ca
Merge pull request #15353 from fionaliao/fl/update-docs
docs: formatting and typo fixes to 3.0 migration guide
2024-11-07 09:42:32 +00:00
Julien
5c05c89b8b Update prometheus/common
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-11-07 10:08:02 +01:00
Fiona Liao
54a3f5054c docs: formatting and typo fixes to 3.0 migration guide
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-06 19:35:42 +00:00
Julius Volz
8bd1d73e53
Merge pull request #15341 from prometheus/fix/empty-metric-name-formatting-2
Fix selector / series formatting for empty metric names
2024-11-05 19:06:45 +01:00
Julius Volz
d19e749dc6 Fix selector / series formatting for empty metric names
Fixes https://github.com/prometheus/prometheus/issues/15335

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-11-05 16:29:40 +01:00
Jan Fajerski
1b2defa7a2
Merge pull request #15256 from jan--f/prep-release-3.0.0-rc.0
Release 3.0.0 rc.0
2024-11-04 20:39:35 +01:00
Jan Fajerski
1ac3ca9528 Release 3.0.0-rc.0
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
v0.300.0-rc.0 v3.0.0-rc.0
2024-11-04 14:19:32 +01:00
Jan Fajerski
60da9b88a0
Merge pull request #15325 from prometheus/merge-main-into-3.0
Merge main into 3.0
2024-11-04 14:09:12 +01:00
Julius Volz
51866b9fee
Merge pull request #15244 from prometheus/utf8-web-ui-support
Support UTF-8 metric names and labels in web UI
2024-11-04 12:13:41 +01:00
Alban Hurtaud
4b56af7eb8
Add hidden flag for the delayed compaction random time window (#14919)
* Add hidden flag for the delayed compaction random time window

Signed-off-by: Alban HURTAUD <alban.hurtaud@amadeus.com>

* Update cmd/prometheus/main.go

Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
Signed-off-by: Alban Hurtaud <alban.hurtaud@amadeus.com>

* Update cmd/prometheus/main.go

Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
Signed-off-by: Alban Hurtaud <alban.hurtaud@amadeus.com>

* Update tsdb/db.go

Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
Signed-off-by: Alban Hurtaud <alban.hurtaud@amadeus.com>

* Fix flag name according to review - add test for delay

Signed-off-by: Alban HURTAUD <alban.hurtaud@amadeus.com>

* Fix afer main rebase

Signed-off-by: Alban HURTAUD <alban.hurtaud@amadeus.com>

* Implement review comments

Signed-off-by: Alban HURTAUD <alban.hurtaud@amadeus.com>

* Update generatedelaytest to try with limit values

Signed-off-by: Alban HURTAUD <alban.hurtaud@amadeus.com>

---------

Signed-off-by: Alban HURTAUD <alban.hurtaud@amadeus.com>
Signed-off-by: Alban Hurtaud <alban.hurtaud@amadeus.com>
Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
2024-11-04 08:26:26 +01:00
Bryan Boreham
a1a78a151d
Merge pull request #15316 from bboreham/revert-15141
Revert "Fix `MemPostings.Add` and `MemPostings.Get` data race (#15141)"
2024-11-03 14:49:27 +00:00
Arve Knudsen
7c4f877881
otlptranslator: Harmonize non-UTF8 sanitization w/ naming rules. (#15314)
* otlptranslator: Harmonize non-UTF8 sanitization w/ naming rules.

Harmonize non-UTF8 sanitization w/ Prometheus naming rules.

---------

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2024-11-03 12:56:54 +00:00