-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Comparing changes
Open a pull request
base repository: prometheus/prometheus
base: v0.300.0
head repository: prometheus/prometheus
compare: v0.300.1
- 9 commits
- 19 files changed
- 8 contributors
Commits on Nov 21, 2024
-
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>
Configuration menu - View commit details
-
Copy full SHA for 4b573e0 - Browse repository at this point
Copy the full SHA 4b573e0View commit details -
Merge pull request #15431 from prometheus/beorn7/promql2
promql: Fix subqueries to be really left-open
Configuration menu - View commit details
-
Copy full SHA for bafb4d6 - Browse repository at this point
Copy the full SHA bafb4d6View commit details
Commits on Nov 23, 2024
-
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>
Configuration menu - View commit details
-
Copy full SHA for 3e24e84 - Browse repository at this point
Copy the full SHA 3e24e84View commit details
Commits on Nov 24, 2024
-
Merge pull request #15434 from tjhop/fix/query-logger-compounding-keys
fix!: stop unbounded memory usage from query log
Configuration menu - View commit details
-
Copy full SHA for fee61fb - Browse repository at this point
Copy the full SHA fee61fbView commit details
Commits on Nov 25, 2024
-
Add support for utf8 names on
/v1/label/:name/values
endpointPreviously, the api was evaluating this regex to determine if the label name was valid or not: https://github.com/prometheus/common/blob/14bac55a992f7b83ab9d147a041e274606bdb607/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>
Configuration menu - View commit details
-
Copy full SHA for 8867571 - Browse repository at this point
Copy the full SHA 8867571View commit details
Commits on Nov 27, 2024
-
Add support for values unescaping on
/v1/label/:name/values
endpointSigned-off-by: Owen Williams <owen.williams@grafana.com>
Configuration menu - View commit details
-
Copy full SHA for 12577e3 - Browse repository at this point
Copy the full SHA 12577e3View commit details -
Merge pull request #15399 from prometheus/labels-utf8-fix
Add support for utf8 names on /v1/label/:name/values endpoint
Configuration menu - View commit details
-
Copy full SHA for c5c222e - Browse repository at this point
Copy the full SHA c5c222eView commit details -
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 67d4be7 - Browse repository at this point
Copy the full SHA 67d4be7View commit details
Commits on Nov 28, 2024
-
Merge pull request #15478 from jan--f/prep-release-3.0.1
prepare release 3.0.1
Configuration menu - View commit details
-
Copy full SHA for 1f56e84 - Browse repository at this point
Copy the full SHA 1f56e84View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.300.0...v0.300.1