自定义 Locust 输入参数

Customizing Locust input params

所以我在 k8s 上的分布式设置中有蝗虫 运行。目前我正在通过 UI 开始负载测试。在我当前的设置中,主进程和工作进程已经 运行,正在等待我通过 UI 启动负载测试。我希望为我的蝗虫设置添加一些输入自定义。我只想接受更多参数,例如端点权重等。然后,这应该附加到已经存在的蝗虫进程,并使用正确的配置启动负载测试。我知道 Locust 支持扩展 UI 以查看更多负载测试输出,但我找不到任何可以 extend/customize 输入形式的内容。

[编辑]

我正在尝试使用 custom arguments,但它似乎不起作用。这是我的代码

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()

记录器总是打印 1000 个用户并忽略我传递到网络中的任何内容 UI。不确定发生了什么。

Locust 支持在命令行上添加自定义参数已有一段时间了,但最近才添加了在 Web 中设置这些参数的功能 UI(并将它们转发给分布式运行中的工作人员)(在2.2.0)

有关完整文档,请参阅 https://docs.locust.io/en/latest/extending-locust.html#custom-arguments

如果您有一些您不想显示在 UI 中的自定义设置,您将需要最新的预发布版本(因为该功能不是尚未发布)。 2.2.2.dev30 是最新的。