refactor(scrape)[PART2]: simplified scrapeLoop constructors & tests; add teststorage.Appendable mock#17631
refactor(scrape)[PART2]: simplified scrapeLoop constructors & tests; add teststorage.Appendable mock#17631
Conversation
c436233 to
fd6a28a
Compare
8fee513 to
5be9332
Compare
1a2a734 to
06bd846
Compare
06bd846 to
1b8e49e
Compare
39b5dcd to
38c991b
Compare
|
Running some benchmarks, putting the latest results in PR description. Microbenchmarks (added few more) are the same and even 20% better for restarting scrape loops (target changes) Prombench:
CPU increase might be explained by higher HTTP load taken by PR Prometheus
It looks.. good to go? |
Signed-off-by: bwplotka <bwplotka@gmail.com>
38c991b to
75651e8
Compare
Signed-off-by: bwplotka <bwplotka@gmail.com>
Signed-off-by: bwplotka <bwplotka@gmail.com>
Signed-off-by: bwplotka <bwplotka@gmail.com>
Signed-off-by: bwplotka <bwplotka@gmail.com>
00f9fb0 to
5c80c86
Compare
|
/prombench cancel |
|
Benchmark cancel is in progress. |
|
/prombench main |
|
⏱️ Welcome to Prometheus Benchmarking Tool. ⏱️ Compared versions: After the successful deployment (check status here), the benchmarking results can be viewed at: Available Commands:
|
|
Updated microbenchmarks in PR description, no change, similarly good results. |
|
Prombench results are good, 1:1. Be careful when using Grafana links from prombench comments e.g. #17631 Grafana keeps caching wrong dashboard variable, I was confused a few times already. Ensure |
|
This is good for final (?) review @krajorama @bboreham |
The problem is that the generated url is wrong: http://prombench.prometheus.io/grafana/d/7gmLoNDmz/prombench?orgId=1&var-pr-number=17631 This works: http://prombench.prometheus.io/grafana/d/7gmLoNDmz/prombench?orgId=1&var-prNumber=17631 I tried to see if this changed recently but I can't follow the history. |
krajorama
left a comment
There was a problem hiding this comment.
Approved with two nit comments. With such a big change, I would not be surprised if we missed something though.
Signed-off-by: bwplotka <bwplotka@gmail.com>
|
/prombench cancel |
|
Benchmark cancel is in progress. |




Related to #17632
This PR:
scrapeLoopconstructors to reduce the horror of ~30 parameter function.See the scrapeLoop construction diff
Before
After
testScrapeLoopconstructor).teststorage.Appendermock that will replace ~3 other the same interface mock implementations (see refactor(appenderV2)[FINAL PREVIEW]: move to simpler and unified storage.AppenderV2 interface #17610). The mock is prepared for the new semantics (everything attached to a sample).Benchmarks
Does this PR introduce a user-facing change?