Is your feature request related to a problem? Please describe.
The standalone CLI commands always start a non-clustered controller. Benchmarks defining agents: are rejected because. Running distributed benchmarks currently requires deploying the full Hyperfoil server distribution.
Describe the solution you'd like
A --clustered flag on the standalone CLI that starts a clustered Vert.x instance, enabling SSH-deployed agents on remote machines. The flag would be intercepted in LoadAndRun.main() and threaded through StartLocal to LocalController.Factory.start(), which would use Hyperfoil.clusteredVertx(true) instead of Vertx.vertx().
Additional context
This also allows us to utilize the JBang command to submit clustered benchmarks: jbang --fresh run@. --clustered sample-benchmark.yml where sample-benchmark.yml defines multiple remote agents. The local node where the command is run serves as the controller.
Is your feature request related to a problem? Please describe.
The standalone CLI commands always start a non-clustered controller. Benchmarks defining
agents:are rejected because. Running distributed benchmarks currently requires deploying the full Hyperfoil server distribution.Describe the solution you'd like
A
--clusteredflag on the standalone CLI that starts a clustered Vert.x instance, enabling SSH-deployed agents on remote machines. The flag would be intercepted inLoadAndRun.main()and threaded throughStartLocaltoLocalController.Factory.start(), which would useHyperfoil.clusteredVertx(true)instead ofVertx.vertx().Additional context
This also allows us to utilize the JBang command to submit clustered benchmarks:
jbang --fresh run@. --clustered sample-benchmark.ymlwheresample-benchmark.ymldefines multiple remote agents. The local node where the command is run serves as the controller.