Commit Graph

13406 Commits (4ccadd5453e4f177957f66eb25136de05e417ae1)

Author SHA1 Message Date
Oleg Zaytsev d8e1b6bdfd
Store mmMaxTime in same field as seriesShard
We don't use seriesShard during DB initialization, so we can use the
same 8 bytes to store mmMaxTime, and save those during the rest of the
lifetime of the database.

This doesn't affect CPU performance.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-07-30 10:20:29 +02:00
Oleg Zaytsev b7f2f3c3ac
Add BenchmarkLoadRealWLs
This benchmark runs on real WLs rather than fake generated ones.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-07-30 10:19:56 +02:00
George Krajcsovits 395f7088c3
Merge pull request #14514 from fpetkovski/counter-reset-nan
Ignore stale histograms for counter reset detection
2024-07-30 08:43:06 +02:00
Bryan Boreham a7c8ff00c6
Merge pull request #14515 from prometheus/revert-13777-remoteread2
Revert "Chunked remote read: close the querier earlier"
2024-07-29 18:39:19 +01:00
Filip Petkovski 2cd97c61e0
Add more test cases
Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
2024-07-29 14:53:32 +02:00
Kushal shukla fe12924638
promtool: JUnit-Format XML Test Results (#14506)
* Junit compatible output

Signed-off-by: Kushal Shukla <kushalshukla110@gmail.com>
2024-07-29 21:28:08 +10:00
Julius Volz b06bb78543 Add filtering, limiting, and more to targets page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-27 16:29:18 +02:00
Julius Volz 6321267996 Add missing ResolutionInput.tsx file to git
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-27 16:28:42 +02:00
Marco Pracucci d4f098ae80
Fix relabel.Regexp zero value marshalling (#14517)
Signed-off-by: Marco Pracucci <marco@pracucci.com>
2024-07-26 12:55:39 +00:00
Bryan Boreham 6e89250a5d Revert "Chunked remote read: close the querier earlier"
Believed to trigger segmentation faults due to memory-mapped block
data still being accessed by iterators after the querier is closed.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-26 09:56:38 +01:00
Filip Petkovski be7a4c9b83
Ignore stale histograms for counter reset detection
The histogram stats decoder keeps track of the last seen histogram sample
in order to properly detect counter resets. We are seeing an issue where
a histogram with UnknownResetHint gets treated as a counter reset when it follows
a stale histogram sample.

I believe that this is incorrect since stale samples should be completely ignored
in PromQL. As a result, they should not be stored in the histogram stats iterator
and the counter reset detection needs to be done against the last non-stale sample.

Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
2024-07-26 10:08:31 +02:00
Julius Volz cacfc693c4 Point new UI local API proxying back to localhost Prometheus
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-25 14:28:56 +02:00
Bryan Boreham 71c90c71d4
Merge pull request #14470 from bboreham/label-sep-byte
Labels: use single byte as separator - small speedup
2024-07-24 13:54:59 +01:00
Bryan Boreham 4dd705d867
Merge pull request #14496 from bboreham/fix-nil-primary
[BUGFIX] Storage: errors from a single secondary querier should be warnings.
2024-07-24 10:15:39 +01:00
Julius Volz f7a97417a5 Move resolution input into separate component + file
Also don't reload the graph on custom resolution input blur if the resolution
hasn't changed.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 23:13:06 +02:00
Julius Volz a2a177a04c Clean up uPlot CSS rules a bit
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 21:22:23 +02:00
Julius Volz 90cf8b3082 Move uPlot plugins and glue code to separate file
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 21:21:34 +02:00
Julius Volz 89d18bf681 Minor comment/code cleanups
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 20:00:42 +02:00
Julius Volz de1cb93cb1 More uPlot coloring improvements/fixes
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 20:00:10 +02:00
Julius Volz 3ecc13b330 Show single samples without neighbors as dots
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 19:59:10 +02:00
Julius Volz 7ea75c75c0 Show brighter graph line colors in dark mode
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 19:58:15 +02:00
Julius Volz 1b2290c131 Remove unused imports in new UI to fix build
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 11:35:37 +02:00
Julius Volz d6f4d3a00b Implement dark theme for uPlot graphs
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 01:31:06 +02:00
Julius Volz a526a7ae53 Implement encoding/decoding graph pages to/from URL
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-22 22:47:41 +02:00
Bryan Boreham b03b895a03
Merge pull request #14497 from bboreham/explain-range-queries
[DOCS] Querying basics: explain range and instant queries
2024-07-22 19:50:44 +01:00
Bryan Boreham c037a3df84 lint
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-22 16:34:42 +01:00
Bryan Boreham cc7dcf5afe [DOCS] Querying basics: explain range and instant queries
I often see people ask questions that indicate they don't understand
this point, and launching into "instant vector" and "range vector" is
likely to point them in the wrong direction.

Remove the admonishment that the reader mustn't confuse these things.
Remove mention of "inferred sample timestamps" that is never explained.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-22 16:31:06 +01:00
Bryan Boreham 12bd92a25c [ENHANCEMENT] Storage: Short-circuit merge of single querier with no-op queriers
Filter before checking whether there is only one.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-22 15:35:09 +01:00
Bryan Boreham 90d793e8c5 [BUGFIX] Storage: Single secondary querier errors should be warnings.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-22 15:33:07 +01:00
Julius Volz e87214a6bd Handle graph/table tab selection via Redux state
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-22 16:31:18 +02:00
Julius Volz 0049e8baff Implement timezone handling for uPlot graphs
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-22 16:08:39 +02:00
Bryan Boreham 0ae881739b [TEST] Storage: check MergeQuerier with nil primary
This test fails on current code.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-22 15:02:52 +01:00
Bryan Boreham 677cdcdcec [TEST] Storage: ignore difference between nil and empty
We need this for subsequent changes.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-22 15:01:00 +01:00
Bryan Boreham 23307b02c5 [TESTS] Storage: Improve MergeQuerier tests
`TestMergeQuerierWithSecondaries_ErrorHandling` now tests `NewMergeQuerier`
rather than creating the data structure directly. This means we now test
short-circuiting when only a single querier is required.

Merge `mockGenericQuerier` into `mockQuerier`.
Replace `unwrapMockGenericQuerier` with a visitor pattern.

No change in functionality intended.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-22 14:37:20 +01:00
gotjosh 465891cc56
Rules: Refactor concurrency controller interface (#14491)
* Rules: Refactor concurrency controller interface

Even though the main purpose of this refactor is to modify the interface of the concurrency controller to accept a Context. I did two drive-by modifications that I think are sensible:

1. I have moved the check for dependencies on rules to the controller itself - this aligns with how the controller should behave as it is a deciding factor on wether we should run concurrently or not.
2. I cleaned up some unused methods from the days of the old interface before #13527 changed it.

Signed-off-by: gotjosh <josue.abreu@gmail.com>
---------

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-07-22 14:11:18 +01:00
Jan Fajerski 398504e080
Merge pull request #14343 from jan--f/build-status-step
ci: Add job to report build_all status
2024-07-22 09:09:38 +02:00
Julius Volz 8ef66c41a0 A lot of work around uPlot and resolution picking
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-21 23:55:08 +02:00
Julius Volz 1c91b82206 Initial uPlot work in Mantine UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-21 18:26:11 +02:00
Goutham Veeramachaneni 1fa9ba838a
Merge pull request #14200 from aknuds1/feat/promote-attributes
OTLP Translator prometheusremotewrite: Support resource attribute promotion
2024-07-21 13:27:23 +02:00
Goutham Veeramachaneni e2ef0dc381
Merge branch 'main' into feat/promote-attributes
Signed-off-by: Goutham Veeramachaneni <gouthamve@gmail.com>
2024-07-21 13:12:17 +02:00
Bartlomiej Plotka a60e5ce362
[PRW 2.0] Added Sender and RW Handler support for Response Stats. (#14444)
* [PRW 2.0] Added Sender support for Response Stats.

Chained on top of https://github.com/prometheus/prometheus/pull/14427
Fixes https://github.com/prometheus/prometheus/issues/14359

Signed-off-by: bwplotka <bwplotka@gmail.com>

* Addressed comments.

Signed-off-by: bwplotka <bwplotka@gmail.com>

* move write stats to it's own file

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Clean up header usage

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* add missing license to new stats file

Signed-off-by: Callum Styan <callumstyan@gmail.com>

* Addressed all comments.

Signed-off-by: bwplotka <bwplotka@gmail.com>

---------

Signed-off-by: bwplotka <bwplotka@gmail.com>
Signed-off-by: Callum Styan <callumstyan@gmail.com>
Co-authored-by: Callum Styan <callumstyan@gmail.com>
2024-07-19 18:53:40 +01:00
Bryan Boreham ac85bd47e1
Merge pull request #14481 from bboreham/update-go-deps
Update Go dependencies
2024-07-19 11:34:28 +01:00
Julius Volz d9520b1a79 Try out uPlot for new UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-19 12:13:14 +02:00
Björn Rabenstein e9dec5fc53
Merge pull request #14483 from prometheus/beorn7/doc
docs: Correct and clarify histogram bucket and resolution limits
2024-07-18 14:31:24 +02:00
Bryan Boreham bdfeae6489
Merge pull request #14474 from bboreham/shrink-memseries
TSDB: shrink memSeries by moving bools together
2024-07-18 12:15:57 +01:00
beorn7 a6fa8a471c docs: Correct and clarify histogram bucket and resolution limits
Previously, the config doc suggested that scrapes are simply failed if
the bucket limit is exceeded. However, instead Prometheus first
attempts to reduce the resolution. This will succeed in almost all
non-pathological cases. However, in the rare case that it doesn't, the
scrape will be failed after all.

For the resolution limit AKA `native_histogram_min_bucket_factor`, the
logic is a bit different. Once the highest factor, i.e. schema -4, is
reached, the scrape will still succeed.

Signed-off-by: beorn7 <beorn@grafana.com>
2024-07-18 12:30:55 +02:00
Arve Knudsen 932918cd3f OTLPConfig.UnmarshalYAML: Return error on invalid input
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2024-07-18 10:40:47 +02:00
Arve Knudsen ad0a30cdd8 Merge remote-tracking branch 'prometheus/main' into feat/promote-attributes 2024-07-18 10:21:43 +02:00
Julius Volz 9252826659 ECharts experiment
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-17 21:09:30 +02:00
Bryan Boreham ce3bd4abea Update for Docker deprecation
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-07-17 17:03:32 +01:00