So I have locust running in a distributed set up on k8s. Currently I am kicking off load tests via the UI. In my current set up, the master and worker processes are running already and are waiting for me to kick off the load test via the UI. I am looking to add some input customization for my locust set up. I just want to accept some more params like endpoint weights and such. This then should attach to the already existing locust process and kick off a load test with the proper configuration. I know locust supports extending UI to see more of the load test output, but I couldn't find anything that would extend/customize the input form.
[EDIT]
I am trying to use custom arguments and it doesn't seem to be working. Here is my code
class CusLoadTest(HttpUser):
@events.init_command_line_parser.add_listener
def _(parser):
parser.add_argument("--user-count", type=str, env_var="USER_COUNT", default="1000", help="1000")
def __init__(self, parent):
super(CusLoadTest, self).__init__(parent)
def __check_environment(self):
self.user_count = int(self.environment.parsed_options.user_count)
logger.info("Using {}".format(self.user_count))
def on_start(self):
self.__check_environment()
The logger always prints 1000 users and ignores anything I pass into the web UI. Not sure what is happening.
