-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal: Prombench Custom Benchmarks #41
Conversation
Signed-off-by: bwplotka <bwplotka@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this. I agree in general, this seems like a good idea. Made some comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing I liked very much about this proposal is its easy and fast implementation! The lack of custom benchmarks blocks a lot of work, so having something going quickly is nice.
When we discussed this in the past, I had something different in mind inspired by how Prow parses comments to add extra functionality to plugins.
The idea is to improve comment-monitor
with new commands:
/prombench main
/extra-args --enable-features=native-histograms,wal-records --web.enable-otlp-receiver
/with avalanche
/with agent-mode
extra-args
is a special command that adds extra command line flags to Prometheus; it can be used to add feature flags or "regular" commandswith
is used for more complex modifications, like replacing/updating the load generator or features that require changing several parts of Prometheus. For example, agent mode requires an extra flag and removing parts of the config file.
This proposal is a lot harder though, not sure how much time that would take 😬
The main downside of the current proposal is that maintaining several branches for each kind of benchmarks seems like a lot of work. If we make a change in the main branch that should be added to all others, the number of PRs would get out of control 😬
Nice @ArthurSens - one of my alternatives is similar to that, so essentially "prombench options for every variation" - where you have some kind of custom config passed via
It's a good question, changing comment-monitor is easy, applying those options further down (and validating) it's bit harder but I like branching a bit more, because it unlocks almost all customizations vs carefully curating prombench options and debating which ones to support, which one you have (you have to document those) etc. Also, my proposal and yours are not conflicting. We could implement branching so we can experiment and do more complex variations, but since it's harder to maintain those branches over time, we could implement common "variation" options in the prombench long term (so your more proposal). WDYT? cc @bboreham @krajorama @jesusvazquez @codesome any preferences on "branching" vs "prombech options" so far? |
There is also a bit more "maintainable" path where instead of branches we do custom directories on |
Implements first phase of prometheus/proposals#41 Signed-off-by: bwplotka <bwplotka@gmail.com>
See prometheus/proposals#41 for rationale. Signed-off-by: bwplotka <bwplotka@gmail.com>
See prometheus/proposals#41 for rationale. Signed-off-by: bwplotka <bwplotka@gmail.com>
See prometheus/proposals#41 Signed-off-by: bwplotka <bwplotka@gmail.com>
…` flags. See prometheus/proposals#41 for rationale. Prometheus job got updated with prometheus/prometheus#15682 Signed-off-by: bwplotka <bwplotka@gmail.com>
…` flags. See prometheus/proposals#41 for rationale. Prometheus job got updated with prometheus/prometheus#15682 Signed-off-by: bwplotka <bwplotka@gmail.com>
…` flags. See prometheus/proposals#41 for rationale. Prometheus job got updated with prometheus/prometheus#15682 Signed-off-by: bwplotka <bwplotka@gmail.com>
Signed-off-by: bwplotka <bwplotka@gmail.com>
7b4be03
to
dcd2f58
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved with nit comment.
Co-authored-by: George Krajcsovits <krajorama@users.noreply.github.com> Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, we can proceed with the alternative in another proposal if we ever feel like it :)
…` flags. (#812) * comment-monitor: Added flag support; added built-in help command. Implements first phase of prometheus/proposals#41 Signed-off-by: bwplotka <bwplotka@gmail.com> * prombench: Added support for `--bench.version` and `--bench.directory` flags. See prometheus/proposals#41 for rationale. Prometheus job got updated with prometheus/prometheus#15682 Signed-off-by: bwplotka <bwplotka@gmail.com> * extended comment to include version and directory used. Signed-off-by: bwplotka <bwplotka@gmail.com> * addressed comments. Signed-off-by: bwplotka <bwplotka@gmail.com> * Makefile fix. Signed-off-by: bwplotka <bwplotka@gmail.com> * rm unnecessary print. Signed-off-by: bwplotka <bwplotka@gmail.com> * Improved help. Signed-off-by: bwplotka <bwplotka@gmail.com> * Fixed help. Signed-off-by: bwplotka <bwplotka@gmail.com> * Added missed test file. Signed-off-by: bwplotka <bwplotka@gmail.com> --------- Signed-off-by: bwplotka <bwplotka@gmail.com>
Signed-off-by: bwplotka <bwplotka@gmail.com>
Proposes implementation for prometheus/test-infra#659