locust 2.23.0__tar.gz → 2.23.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. {locust-2.23.0 → locust-2.23.1}/CHANGELOG.md +26 -0
  2. {locust-2.23.0/locust.egg-info → locust-2.23.1}/PKG-INFO +1 -1
  3. {locust-2.23.0 → locust-2.23.1}/docs/changelog.rst +5 -0
  4. {locust-2.23.0 → locust-2.23.1}/docs/configuration.rst +2 -0
  5. {locust-2.23.0 → locust-2.23.1}/locust/_version.py +2 -2
  6. {locust-2.23.0 → locust-2.23.1}/locust/argument_parser.py +17 -6
  7. {locust-2.23.0 → locust-2.23.1}/locust/main.py +4 -0
  8. {locust-2.23.0 → locust-2.23.1}/locust/runners.py +1 -1
  9. {locust-2.23.0 → locust-2.23.1}/locust/test/test_main.py +5 -2
  10. locust-2.23.0/locust/webui/dist/assets/index-5730ea01.js → locust-2.23.1/locust/webui/dist/assets/index-fcdc76c8.js +51 -51
  11. {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/auth.html +1 -1
  12. {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/index.html +1 -1
  13. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ExceptionsTable/ExceptionsTable.tsx +1 -0
  14. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmCharts/SwarmCharts.tsx +6 -1
  15. {locust-2.23.0 → locust-2.23.1/locust.egg-info}/PKG-INFO +1 -1
  16. {locust-2.23.0 → locust-2.23.1}/locust.egg-info/SOURCES.txt +1 -1
  17. {locust-2.23.0 → locust-2.23.1}/.coveragerc +0 -0
  18. {locust-2.23.0 → locust-2.23.1}/.dockerignore +0 -0
  19. {locust-2.23.0 → locust-2.23.1}/.git-blame-ignore-revs +0 -0
  20. {locust-2.23.0 → locust-2.23.1}/.gitattributes +0 -0
  21. {locust-2.23.0 → locust-2.23.1}/.github/CONTRIBUTING.md +0 -0
  22. {locust-2.23.0 → locust-2.23.1}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
  23. {locust-2.23.0 → locust-2.23.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  24. {locust-2.23.0 → locust-2.23.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  25. {locust-2.23.0 → locust-2.23.1}/.github/workflows/stale.yml +0 -0
  26. {locust-2.23.0 → locust-2.23.1}/.github/workflows/tests.yml +0 -0
  27. {locust-2.23.0 → locust-2.23.1}/.gitignore +0 -0
  28. {locust-2.23.0 → locust-2.23.1}/.readthedocs.yaml +0 -0
  29. {locust-2.23.0 → locust-2.23.1}/.vscode/extensions.json +0 -0
  30. {locust-2.23.0 → locust-2.23.1}/.vscode/launch.json +0 -0
  31. {locust-2.23.0 → locust-2.23.1}/.vscode/launch_locust.json +0 -0
  32. {locust-2.23.0 → locust-2.23.1}/.vscode/settings.json +0 -0
  33. {locust-2.23.0 → locust-2.23.1}/Dockerfile +0 -0
  34. {locust-2.23.0 → locust-2.23.1}/LICENSE +0 -0
  35. {locust-2.23.0 → locust-2.23.1}/MANIFEST.in +0 -0
  36. {locust-2.23.0 → locust-2.23.1}/Makefile +0 -0
  37. {locust-2.23.0 → locust-2.23.1}/README +0 -0
  38. {locust-2.23.0 → locust-2.23.1}/README.md +0 -0
  39. {locust-2.23.0 → locust-2.23.1}/SECURITY.md +0 -0
  40. {locust-2.23.0 → locust-2.23.1}/Vagrantfile +0 -0
  41. {locust-2.23.0 → locust-2.23.1}/benchmarks/dispatch.py +0 -0
  42. {locust-2.23.0 → locust-2.23.1}/docs/_static/theme-overrides.css +0 -0
  43. {locust-2.23.0 → locust-2.23.1}/docs/api.rst +0 -0
  44. {locust-2.23.0 → locust-2.23.1}/docs/conf.py +0 -0
  45. {locust-2.23.0 → locust-2.23.1}/docs/custom-load-shape.rst +0 -0
  46. {locust-2.23.0 → locust-2.23.1}/docs/developing-locust.rst +0 -0
  47. {locust-2.23.0 → locust-2.23.1}/docs/extending-locust.rst +0 -0
  48. {locust-2.23.0 → locust-2.23.1}/docs/further-reading.rst +0 -0
  49. {locust-2.23.0 → locust-2.23.1}/docs/history.rst +0 -0
  50. {locust-2.23.0 → locust-2.23.1}/docs/images/locust_workers.png +0 -0
  51. {locust-2.23.0 → locust-2.23.1}/docs/images/number_of_users.png +0 -0
  52. {locust-2.23.0 → locust-2.23.1}/docs/images/response_times.png +0 -0
  53. {locust-2.23.0 → locust-2.23.1}/docs/images/total_requests_per_second.png +0 -0
  54. {locust-2.23.0 → locust-2.23.1}/docs/images/userclass_picker_example.png +0 -0
  55. {locust-2.23.0 → locust-2.23.1}/docs/images/webui-running-statistics.png +0 -0
  56. {locust-2.23.0 → locust-2.23.1}/docs/images/webui-splash-screenshot.png +0 -0
  57. {locust-2.23.0 → locust-2.23.1}/docs/increase-performance.rst +0 -0
  58. {locust-2.23.0 → locust-2.23.1}/docs/index.rst +0 -0
  59. {locust-2.23.0 → locust-2.23.1}/docs/installation.rst +0 -0
  60. {locust-2.23.0 → locust-2.23.1}/docs/logging.rst +0 -0
  61. {locust-2.23.0 → locust-2.23.1}/docs/quickstart.rst +0 -0
  62. {locust-2.23.0 → locust-2.23.1}/docs/requirements.txt +0 -0
  63. {locust-2.23.0 → locust-2.23.1}/docs/retrieving-stats.rst +0 -0
  64. {locust-2.23.0 → locust-2.23.1}/docs/running-cloud-integration.rst +0 -0
  65. {locust-2.23.0 → locust-2.23.1}/docs/running-distributed.rst +0 -0
  66. {locust-2.23.0 → locust-2.23.1}/docs/running-in-debugger.rst +0 -0
  67. {locust-2.23.0 → locust-2.23.1}/docs/running-in-docker.rst +0 -0
  68. {locust-2.23.0 → locust-2.23.1}/docs/running-without-web-ui.rst +0 -0
  69. {locust-2.23.0 → locust-2.23.1}/docs/tasksets.rst +0 -0
  70. {locust-2.23.0 → locust-2.23.1}/docs/testing-other-systems.rst +0 -0
  71. {locust-2.23.0 → locust-2.23.1}/docs/use-as-lib.rst +0 -0
  72. {locust-2.23.0 → locust-2.23.1}/docs/what-is-locust.rst +0 -0
  73. {locust-2.23.0 → locust-2.23.1}/docs/writing-a-locustfile.rst +0 -0
  74. {locust-2.23.0 → locust-2.23.1}/examples/add_command_line_argument.py +0 -0
  75. {locust-2.23.0 → locust-2.23.1}/examples/basic.py +0 -0
  76. {locust-2.23.0 → locust-2.23.1}/examples/browse_docs_sequence_test.py +0 -0
  77. {locust-2.23.0 → locust-2.23.1}/examples/browse_docs_test.py +0 -0
  78. {locust-2.23.0 → locust-2.23.1}/examples/custom_messages.py +0 -0
  79. {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/double_wave.py +0 -0
  80. {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/stages.py +0 -0
  81. {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/staging_user_classes.py +0 -0
  82. {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/step_load.py +0 -0
  83. {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/wait_user_count.py +0 -0
  84. {locust-2.23.0 → locust-2.23.1}/examples/custom_wait_function.py +0 -0
  85. {locust-2.23.0 → locust-2.23.1}/examples/custom_xmlrpc_client/server.py +0 -0
  86. {locust-2.23.0 → locust-2.23.1}/examples/custom_xmlrpc_client/xmlrpc_locustfile.py +0 -0
  87. {locust-2.23.0 → locust-2.23.1}/examples/debugging.py +0 -0
  88. {locust-2.23.0 → locust-2.23.1}/examples/debugging_advanced.py +0 -0
  89. {locust-2.23.0 → locust-2.23.1}/examples/docker-compose/docker-compose.yml +0 -0
  90. {locust-2.23.0 → locust-2.23.1}/examples/dynamic_user_credentials.py +0 -0
  91. {locust-2.23.0 → locust-2.23.1}/examples/events.py +0 -0
  92. {locust-2.23.0 → locust-2.23.1}/examples/extend_modern_web_ui.py +0 -0
  93. {locust-2.23.0 → locust-2.23.1}/examples/extend_web_ui/extend.py +0 -0
  94. {locust-2.23.0 → locust-2.23.1}/examples/extend_web_ui/static/custom-stats-table.css +0 -0
  95. {locust-2.23.0 → locust-2.23.1}/examples/extend_web_ui/static/extend.js +0 -0
  96. {locust-2.23.0 → locust-2.23.1}/examples/extend_web_ui/templates/extend.html +0 -0
  97. {locust-2.23.0 → locust-2.23.1}/examples/fast_http_locust.py +0 -0
  98. {locust-2.23.0 → locust-2.23.1}/examples/grpc/grpc_user.py +0 -0
  99. {locust-2.23.0 → locust-2.23.1}/examples/grpc/hello.proto +0 -0
  100. {locust-2.23.0 → locust-2.23.1}/examples/grpc/hello_pb2.py +0 -0
  101. {locust-2.23.0 → locust-2.23.1}/examples/grpc/hello_pb2_grpc.py +0 -0
  102. {locust-2.23.0 → locust-2.23.1}/examples/grpc/hello_server.py +0 -0
  103. {locust-2.23.0 → locust-2.23.1}/examples/grpc/locustfile.py +0 -0
  104. {locust-2.23.0 → locust-2.23.1}/examples/locustfile.py +0 -0
  105. {locust-2.23.0 → locust-2.23.1}/examples/manual_stats_reporting.py +0 -0
  106. {locust-2.23.0 → locust-2.23.1}/examples/multiple_hosts.py +0 -0
  107. {locust-2.23.0 → locust-2.23.1}/examples/nested_inline_tasksets.py +0 -0
  108. {locust-2.23.0 → locust-2.23.1}/examples/rest.py +0 -0
  109. {locust-2.23.0 → locust-2.23.1}/examples/sdk_session_patching/session_patch_locustfile.py +0 -0
  110. {locust-2.23.0 → locust-2.23.1}/examples/semaphore_wait.py +0 -0
  111. {locust-2.23.0 → locust-2.23.1}/examples/stop_on_threshold.py +0 -0
  112. {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/README.md +0 -0
  113. {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/data_subnet.tf +0 -0
  114. {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/main.tf +0 -0
  115. {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/output.tf +0 -0
  116. {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/plan/basic.py +0 -0
  117. {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/provisioner.tf +0 -0
  118. {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/variables.tf +0 -0
  119. {locust-2.23.0 → locust-2.23.1}/examples/test_data_management.py +0 -0
  120. {locust-2.23.0 → locust-2.23.1}/examples/use_as_lib.py +0 -0
  121. {locust-2.23.0 → locust-2.23.1}/examples/vagrant/README.md +0 -0
  122. {locust-2.23.0 → locust-2.23.1}/examples/vagrant/supervisord.conf +0 -0
  123. {locust-2.23.0 → locust-2.23.1}/examples/web_ui_auth.py +0 -0
  124. {locust-2.23.0 → locust-2.23.1}/examples/worker_index.py +0 -0
  125. {locust-2.23.0 → locust-2.23.1}/generate_changelog.py +0 -0
  126. {locust-2.23.0 → locust-2.23.1}/locust/__init__.py +0 -0
  127. {locust-2.23.0 → locust-2.23.1}/locust/__main__.py +0 -0
  128. {locust-2.23.0 → locust-2.23.1}/locust/clients.py +0 -0
  129. {locust-2.23.0 → locust-2.23.1}/locust/contrib/__init__.py +0 -0
  130. {locust-2.23.0 → locust-2.23.1}/locust/contrib/fasthttp.py +0 -0
  131. {locust-2.23.0 → locust-2.23.1}/locust/debug.py +0 -0
  132. {locust-2.23.0 → locust-2.23.1}/locust/dispatch.py +0 -0
  133. {locust-2.23.0 → locust-2.23.1}/locust/env.py +0 -0
  134. {locust-2.23.0 → locust-2.23.1}/locust/event.py +0 -0
  135. {locust-2.23.0 → locust-2.23.1}/locust/exception.py +0 -0
  136. {locust-2.23.0 → locust-2.23.1}/locust/html.py +0 -0
  137. {locust-2.23.0 → locust-2.23.1}/locust/input_events.py +0 -0
  138. {locust-2.23.0 → locust-2.23.1}/locust/log.py +0 -0
  139. {locust-2.23.0 → locust-2.23.1}/locust/py.typed +0 -0
  140. {locust-2.23.0 → locust-2.23.1}/locust/rpc/__init__.py +0 -0
  141. {locust-2.23.0 → locust-2.23.1}/locust/rpc/protocol.py +0 -0
  142. {locust-2.23.0 → locust-2.23.1}/locust/rpc/zmqrpc.py +0 -0
  143. {locust-2.23.0 → locust-2.23.1}/locust/shape.py +0 -0
  144. {locust-2.23.0 → locust-2.23.1}/locust/static/chart.js +0 -0
  145. {locust-2.23.0 → locust-2.23.1}/locust/static/css/application.css +0 -0
  146. {locust-2.23.0 → locust-2.23.1}/locust/static/css/application.css.map +0 -0
  147. {locust-2.23.0 → locust-2.23.1}/locust/static/css/tables.css +0 -0
  148. {locust-2.23.0 → locust-2.23.1}/locust/static/css/tables.css.map +0 -0
  149. {locust-2.23.0 → locust-2.23.1}/locust/static/echarts.common.min.js +0 -0
  150. {locust-2.23.0 → locust-2.23.1}/locust/static/img/favicon.ico +0 -0
  151. {locust-2.23.0 → locust-2.23.1}/locust/static/img/logo.png +0 -0
  152. {locust-2.23.0 → locust-2.23.1}/locust/static/img/ui-screenshot-charts.png +0 -0
  153. {locust-2.23.0 → locust-2.23.1}/locust/static/img/ui-screenshot-start-test.png +0 -0
  154. {locust-2.23.0 → locust-2.23.1}/locust/static/img/ui-screenshot-stats.png +0 -0
  155. {locust-2.23.0 → locust-2.23.1}/locust/static/img/ui-screenshot-workers.png +0 -0
  156. {locust-2.23.0 → locust-2.23.1}/locust/static/jquery-1.11.3.min.js +0 -0
  157. {locust-2.23.0 → locust-2.23.1}/locust/static/jquery.jqote2.min.js +0 -0
  158. {locust-2.23.0 → locust-2.23.1}/locust/static/jquery.tools.min.js +0 -0
  159. {locust-2.23.0 → locust-2.23.1}/locust/static/locust.js +0 -0
  160. {locust-2.23.0 → locust-2.23.1}/locust/static/sass/_base.sass +0 -0
  161. {locust-2.23.0 → locust-2.23.1}/locust/static/sass/_mixins.sass +0 -0
  162. {locust-2.23.0 → locust-2.23.1}/locust/static/sass/application.sass +0 -0
  163. {locust-2.23.0 → locust-2.23.1}/locust/static/sass/tables.sass +0 -0
  164. {locust-2.23.0 → locust-2.23.1}/locust/static/tasks.js +0 -0
  165. {locust-2.23.0 → locust-2.23.1}/locust/static/vintage.js +0 -0
  166. {locust-2.23.0 → locust-2.23.1}/locust/stats.py +0 -0
  167. {locust-2.23.0 → locust-2.23.1}/locust/templates/index.html +0 -0
  168. {locust-2.23.0 → locust-2.23.1}/locust/templates/report.html +0 -0
  169. {locust-2.23.0 → locust-2.23.1}/locust/templates/stats_data.html +0 -0
  170. {locust-2.23.0 → locust-2.23.1}/locust/test/__init__.py +0 -0
  171. {locust-2.23.0 → locust-2.23.1}/locust/test/fake_module1_for_env_test.py +0 -0
  172. {locust-2.23.0 → locust-2.23.1}/locust/test/fake_module2_for_env_test.py +0 -0
  173. {locust-2.23.0 → locust-2.23.1}/locust/test/mock_locustfile.py +0 -0
  174. {locust-2.23.0 → locust-2.23.1}/locust/test/mock_logging.py +0 -0
  175. {locust-2.23.0 → locust-2.23.1}/locust/test/test_debugging.py +0 -0
  176. {locust-2.23.0 → locust-2.23.1}/locust/test/test_dispatch.py +0 -0
  177. {locust-2.23.0 → locust-2.23.1}/locust/test/test_env.py +0 -0
  178. {locust-2.23.0 → locust-2.23.1}/locust/test/test_fasthttp.py +0 -0
  179. {locust-2.23.0 → locust-2.23.1}/locust/test/test_http.py +0 -0
  180. {locust-2.23.0 → locust-2.23.1}/locust/test/test_interruptable_task.py +0 -0
  181. {locust-2.23.0 → locust-2.23.1}/locust/test/test_load_locustfile.py +0 -0
  182. {locust-2.23.0 → locust-2.23.1}/locust/test/test_locust_class.py +0 -0
  183. {locust-2.23.0 → locust-2.23.1}/locust/test/test_log.py +0 -0
  184. {locust-2.23.0 → locust-2.23.1}/locust/test/test_old_wait_api.py +0 -0
  185. {locust-2.23.0 → locust-2.23.1}/locust/test/test_parser.py +0 -0
  186. {locust-2.23.0 → locust-2.23.1}/locust/test/test_runners.py +0 -0
  187. {locust-2.23.0 → locust-2.23.1}/locust/test/test_sequential_taskset.py +0 -0
  188. {locust-2.23.0 → locust-2.23.1}/locust/test/test_stats.py +0 -0
  189. {locust-2.23.0 → locust-2.23.1}/locust/test/test_tags.py +0 -0
  190. {locust-2.23.0 → locust-2.23.1}/locust/test/test_taskratio.py +0 -0
  191. {locust-2.23.0 → locust-2.23.1}/locust/test/test_users.py +0 -0
  192. {locust-2.23.0 → locust-2.23.1}/locust/test/test_util.py +0 -0
  193. {locust-2.23.0 → locust-2.23.1}/locust/test/test_wait_time.py +0 -0
  194. {locust-2.23.0 → locust-2.23.1}/locust/test/test_web.py +0 -0
  195. {locust-2.23.0 → locust-2.23.1}/locust/test/test_zmqrpc.py +0 -0
  196. {locust-2.23.0 → locust-2.23.1}/locust/test/testcases.py +0 -0
  197. {locust-2.23.0 → locust-2.23.1}/locust/test/util.py +0 -0
  198. {locust-2.23.0 → locust-2.23.1}/locust/user/__init__.py +0 -0
  199. {locust-2.23.0 → locust-2.23.1}/locust/user/inspectuser.py +0 -0
  200. {locust-2.23.0 → locust-2.23.1}/locust/user/sequential_taskset.py +0 -0
  201. {locust-2.23.0 → locust-2.23.1}/locust/user/task.py +0 -0
  202. {locust-2.23.0 → locust-2.23.1}/locust/user/users.py +0 -0
  203. {locust-2.23.0 → locust-2.23.1}/locust/user/wait_time.py +0 -0
  204. {locust-2.23.0 → locust-2.23.1}/locust/util/__init__.py +0 -0
  205. {locust-2.23.0 → locust-2.23.1}/locust/util/cache.py +0 -0
  206. {locust-2.23.0 → locust-2.23.1}/locust/util/deprecation.py +0 -0
  207. {locust-2.23.0 → locust-2.23.1}/locust/util/exception_handler.py +0 -0
  208. {locust-2.23.0 → locust-2.23.1}/locust/util/load_locustfile.py +0 -0
  209. {locust-2.23.0 → locust-2.23.1}/locust/util/rounding.py +0 -0
  210. {locust-2.23.0 → locust-2.23.1}/locust/util/timespan.py +0 -0
  211. {locust-2.23.0 → locust-2.23.1}/locust/web.py +0 -0
  212. {locust-2.23.0 → locust-2.23.1}/locust/webui/.eslintrc +0 -0
  213. {locust-2.23.0 → locust-2.23.1}/locust/webui/.gitignore +0 -0
  214. {locust-2.23.0 → locust-2.23.1}/locust/webui/.prettierrc +0 -0
  215. {locust-2.23.0 → locust-2.23.1}/locust/webui/auth.html +0 -0
  216. {locust-2.23.0 → locust-2.23.1}/locust/webui/dev.html +0 -0
  217. {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/assets/favicon.ico +0 -0
  218. {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/assets/logo.png +0 -0
  219. {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/report.html +0 -0
  220. {locust-2.23.0 → locust-2.23.1}/locust/webui/index.html +0 -0
  221. {locust-2.23.0 → locust-2.23.1}/locust/webui/package.json +0 -0
  222. {locust-2.23.0 → locust-2.23.1}/locust/webui/public/assets/favicon.ico +0 -0
  223. {locust-2.23.0 → locust-2.23.1}/locust/webui/public/assets/logo.png +0 -0
  224. {locust-2.23.0 → locust-2.23.1}/locust/webui/public/report.html +0 -0
  225. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/App.tsx +0 -0
  226. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/Report.tsx +0 -0
  227. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/auth.tsx +0 -0
  228. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/DataTable/DataTable.test.tsx +0 -0
  229. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/DataTable/DataTable.tsx +0 -0
  230. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/FailuresTable/FailuresTable.tsx +0 -0
  231. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Form/Form.tsx +0 -0
  232. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Form/Select.tsx +0 -0
  233. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Form/tests/Form.test.tsx +0 -0
  234. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Form/tests/Select.test.tsx +0 -0
  235. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Footer/About.tsx +0 -0
  236. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Footer/Footer.tsx +0 -0
  237. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Layout.tsx +0 -0
  238. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Navbar/DarkLightToggle.tsx +0 -0
  239. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Navbar/Navbar.tsx +0 -0
  240. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.test.tsx +0 -0
  241. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.tsx +0 -0
  242. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LineChart/LineChart.test.tsx +0 -0
  243. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LineChart/LineChart.tsx +0 -0
  244. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LogViewer/LogViewer.tsx +0 -0
  245. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LogViewer/tests/LogViewer.test.tsx +0 -0
  246. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LogViewer/tests/useLogViewer.test.tsx +0 -0
  247. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LogViewer/useLogViewer.ts +0 -0
  248. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Modal/Modal.tsx +0 -0
  249. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Reports/Reports.test.tsx +0 -0
  250. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Reports/Reports.tsx +0 -0
  251. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.test.tsx +0 -0
  252. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.tsx +0 -0
  253. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/EditButton.tsx +0 -0
  254. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/NewTestButton.tsx +0 -0
  255. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/ResetButton.tsx +0 -0
  256. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/StateButtons.tsx +0 -0
  257. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/StopButton.tsx +0 -0
  258. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/tests/ResetButton.test.tsx +0 -0
  259. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/tests/StateButtons.test.tsx +0 -0
  260. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/tests/StopButton.test.tsx +0 -0
  261. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StatsTable/StatsTable.tsx +0 -0
  262. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/SwarmCustomParameters.tsx +0 -0
  263. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/SwarmEditForm.tsx +0 -0
  264. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/SwarmForm.tsx +0 -0
  265. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/SwarmUserClassPicker.tsx +0 -0
  266. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/tests/SwarmCustomParameters.test.tsx +0 -0
  267. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/tests/SwarmEditForm.test.tsx +0 -0
  268. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/tests/SwarmForm.test.tsx +0 -0
  269. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx +0 -0
  270. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmRatios/SwarmRatios.test.tsx +0 -0
  271. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmRatios/SwarmRatios.tsx +0 -0
  272. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Table/Table.test.tsx +0 -0
  273. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Table/Table.tsx +0 -0
  274. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Tabs/Tabs.constants.tsx +0 -0
  275. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Tabs/Tabs.test.tsx +0 -0
  276. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Tabs/Tabs.tsx +0 -0
  277. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.test.tsx +0 -0
  278. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.tsx +0 -0
  279. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/WorkersTable/WorkersTable.tsx +0 -0
  280. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/constants/swarm.tsx +0 -0
  281. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/constants/theme.ts +0 -0
  282. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/global.d.ts +0 -0
  283. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/tests/useNotifications.test.tsx +0 -0
  284. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/tests/useSelecteViewColumns.test.tsx +0 -0
  285. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/tests/useSortByField.test.tsx +0 -0
  286. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/tests/useSwarmUi.test.tsx +0 -0
  287. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useInterval.ts +0 -0
  288. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useNotifications.ts +0 -0
  289. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useSelectViewColumns.ts +0 -0
  290. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useSortByField.ts +0 -0
  291. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useSwarmUi.ts +0 -0
  292. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/index.tsx +0 -0
  293. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/api/swarm.ts +0 -0
  294. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/hooks.ts +0 -0
  295. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/logViewer.slice.ts +0 -0
  296. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/notification.slice.ts +0 -0
  297. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/root.slice.ts +0 -0
  298. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/swarm.slice.ts +0 -0
  299. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/tests/ui.slice.test.ts +0 -0
  300. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/theme.slice.ts +0 -0
  301. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/ui.slice.ts +0 -0
  302. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/url.slice.ts +0 -0
  303. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/store.ts +0 -0
  304. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/utils.ts +0 -0
  305. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/styles/theme.ts +0 -0
  306. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/constants.ts +0 -0
  307. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/mocks/statsRequest.mock.ts +0 -0
  308. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/mocks/swarmState.mock.ts +0 -0
  309. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/setup.ts +0 -0
  310. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/testUtils.tsx +0 -0
  311. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/auth.types.ts +0 -0
  312. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/swarm.types.ts +0 -0
  313. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/tab.types.ts +0 -0
  314. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/table.types.ts +0 -0
  315. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/ui.types.ts +0 -0
  316. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/number.ts +0 -0
  317. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/object.ts +0 -0
  318. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/string.ts +0 -0
  319. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/tests/number.test.ts +0 -0
  320. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/tests/object.test.ts +0 -0
  321. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/tests/string.test.ts +0 -0
  322. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/tests/url.test.ts +0 -0
  323. {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/url.ts +0 -0
  324. {locust-2.23.0 → locust-2.23.1}/locust/webui/tsconfig.json +0 -0
  325. {locust-2.23.0 → locust-2.23.1}/locust/webui/vite.config.ts +0 -0
  326. {locust-2.23.0 → locust-2.23.1}/locust/webui/vitest.config.ts +0 -0
  327. {locust-2.23.0 → locust-2.23.1}/locust/webui/yarn.lock +0 -0
  328. {locust-2.23.0 → locust-2.23.1}/locust.egg-info/dependency_links.txt +0 -0
  329. {locust-2.23.0 → locust-2.23.1}/locust.egg-info/entry_points.txt +0 -0
  330. {locust-2.23.0 → locust-2.23.1}/locust.egg-info/not-zip-safe +0 -0
  331. {locust-2.23.0 → locust-2.23.1}/locust.egg-info/requires.txt +0 -0
  332. {locust-2.23.0 → locust-2.23.1}/locust.egg-info/top_level.txt +0 -0
  333. {locust-2.23.0 → locust-2.23.1}/package.json +0 -0
  334. {locust-2.23.0 → locust-2.23.1}/pyproject.toml +0 -0
  335. {locust-2.23.0 → locust-2.23.1}/scripts/locustfile.py +0 -0
  336. {locust-2.23.0 → locust-2.23.1}/scripts/run-disributed-headless.sh +0 -0
  337. {locust-2.23.0 → locust-2.23.1}/scripts/run-disributed-web.sh +0 -0
  338. {locust-2.23.0 → locust-2.23.1}/scripts/run-local-headless.sh +0 -0
  339. {locust-2.23.0 → locust-2.23.1}/scripts/run-local-web.sh +0 -0
  340. {locust-2.23.0 → locust-2.23.1}/setup.cfg +0 -0
  341. {locust-2.23.0 → locust-2.23.1}/tox.ini +0 -0
@@ -1,6 +1,32 @@
1
1
  # Detailed changelog
2
2
  The most important changes can also be found in [the documentation](https://docs.locust.io/en/latest/changelog.html).
3
3
 
4
+ ## [2.23.0](https://github.com/locustio/locust/tree/2.23.0) (2024-02-11)
5
+
6
+ [Full Changelog](https://github.com/locustio/locust/compare/2.22.0...2.23.0)
7
+
8
+ **Closed issues:**
9
+
10
+ - Modern UI: ability to sort tables by column specific column [\#2593](https://github.com/locustio/locust/issues/2593)
11
+ - Modern UI - User class picker - add option to enable/disable everything. [\#2585](https://github.com/locustio/locust/issues/2585)
12
+ - \[LocustLineChart\] Implement an option/configuration for users to customize the color of the LocustLineChart. [\#2578](https://github.com/locustio/locust/issues/2578)
13
+
14
+ **Merged pull requests:**
15
+
16
+ - Tables are Sortable by Default [\#2596](https://github.com/locustio/locust/pull/2596) ([andrewbaldwin44](https://github.com/andrewbaldwin44))
17
+ - Allow getting locust files from http urls [\#2595](https://github.com/locustio/locust/pull/2595) ([DennisKrone](https://github.com/DennisKrone))
18
+ - Fixed typos in documentation [\#2592](https://github.com/locustio/locust/pull/2592) ([dorin131](https://github.com/dorin131))
19
+ - Remove no longer relevant documentation and \(already not working?\) checks for not loading locustfiles named locust.py [\#2591](https://github.com/locustio/locust/pull/2591) ([cyberw](https://github.com/cyberw))
20
+ - Add Select All / None Checkbox to User Class Picker [\#2590](https://github.com/locustio/locust/pull/2590) ([andrewbaldwin44](https://github.com/andrewbaldwin44))
21
+ - Add New Colors for the Locust Charts [\#2589](https://github.com/locustio/locust/pull/2589) ([andrewbaldwin44](https://github.com/andrewbaldwin44))
22
+ - Work around issue with locustfiles named "locust.py" [\#2587](https://github.com/locustio/locust/pull/2587) ([cyberw](https://github.com/cyberw))
23
+ - Update writing-a-locustfile.rst [\#2584](https://github.com/locustio/locust/pull/2584) ([KaushikPathak90](https://github.com/KaushikPathak90))
24
+ - Locustfile distribution from master to worker [\#2583](https://github.com/locustio/locust/pull/2583) ([cyberw](https://github.com/cyberw))
25
+ - Gh actions: Run tests on MacOS [\#2580](https://github.com/locustio/locust/pull/2580) ([cyberw](https://github.com/cyberw))
26
+ - Use defaultdict:s for stats dictionaries instead of setdefault [\#2579](https://github.com/locustio/locust/pull/2579) ([cyberw](https://github.com/cyberw))
27
+ - DeprecationWarning: the load\_module\(\) method is deprecated and slated for removal in Python 3.12; use exec\_module\(\) instead [\#2576](https://github.com/locustio/locust/pull/2576) ([mgor](https://github.com/mgor))
28
+ - docs\(running-distributed\): cores -\> logical cores [\#2570](https://github.com/locustio/locust/pull/2570) ([tdadela](https://github.com/tdadela))
29
+
4
30
  ## [2.22.0](https://github.com/locustio/locust/tree/2.22.0) (2024-02-04)
5
31
 
6
32
  [Full Changelog](https://github.com/locustio/locust/compare/2.21.0...2.22.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.23.0
3
+ Version: 2.23.1
4
4
  Summary: Developer friendly load testing framework
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://locust.io/
@@ -4,6 +4,11 @@ Changelog Highlights
4
4
 
5
5
  For full details of the Locust changelog, please see https://github.com/locustio/locust/blob/master/CHANGELOG.md
6
6
 
7
+ 2.23.1
8
+ ======
9
+ * Fixes for locustfile download https://github.com/locustio/locust/pull/2599
10
+ * UI fixes https://github.com/locustio/locust/pull/2600 https://github.com/locustio/locust/pull/2601
11
+
7
12
  2.23.0
8
13
  ======
9
14
  * UI updates (https://github.com/locustio/locust/pull/2589, https://github.com/locustio/locust/pull/2590, https://github.com/locustio/locust/pull/2596)
@@ -248,6 +248,8 @@ The list of statistics parameters that can be modified is:
248
248
  +-------------------------------------------+--------------------------------------------------------------------------------------+
249
249
  | PERCENTILES_TO_CHART | List of response time percentiles in the screen of chart for Web UI |
250
250
  +-------------------------------------------+--------------------------------------------------------------------------------------+
251
+ | MODERN_UI_PERCENTILES_TO_CHART | List of response time percentiles in the screen of chart for the modern Web UI |
252
+ +-------------------------------------------+--------------------------------------------------------------------------------------+
251
253
  | PERCENTILES_TO_STATISTICS | List of response time percentiles in the screen of statistics for Web UI |
252
254
  | | This parameter supports only modern UI |
253
255
  +-------------------------------------------+--------------------------------------------------------------------------------------+
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '2.23.0'
16
- __version_tuple__ = version_tuple = (2, 23, 0)
15
+ __version__ = version = '2.23.1'
16
+ __version_tuple__ = version_tuple = (2, 23, 1)
@@ -156,7 +156,7 @@ def is_url(url: str) -> bool:
156
156
  return False
157
157
 
158
158
 
159
- def download_file_from_url(url: str) -> str:
159
+ def download_locustfile_from_url(url: str) -> str:
160
160
  try:
161
161
  response = requests.get(url)
162
162
  except requests.exceptions.RequestException as e:
@@ -167,7 +167,10 @@ def download_file_from_url(url: str) -> str:
167
167
  locustfile.write(response.text)
168
168
 
169
169
  def exit_handler():
170
- os.remove(locustfile.name)
170
+ try:
171
+ os.remove(locustfile.name)
172
+ except FileNotFoundError:
173
+ pass # this is normal when multiple workers are running on the same machine
171
174
 
172
175
  atexit.register(exit_handler)
173
176
  return locustfile.name
@@ -246,11 +249,19 @@ def download_locustfile_from_master(master_host: str, master_port: int) -> str:
246
249
  sys.exit(1)
247
250
 
248
251
  filename = msg.data["filename"]
249
- with open(filename, "w") as local_file:
250
- local_file.write(msg.data["contents"])
252
+ with open(os.path.join(tempfile.gettempdir(), filename), "w") as locustfile:
253
+ locustfile.write(msg.data["contents"])
254
+
255
+ def exit_handler():
256
+ try:
257
+ os.remove(locustfile.name)
258
+ except FileNotFoundError:
259
+ pass # this is normal when multiple workers are running on the same machine
260
+
261
+ atexit.register(exit_handler)
251
262
 
252
263
  tempclient.close()
253
- return filename
264
+ return locustfile.name
254
265
 
255
266
 
256
267
  def parse_locustfile_option(args=None) -> list[str]:
@@ -312,7 +323,7 @@ def parse_locustfile_option(args=None) -> list[str]:
312
323
 
313
324
  # Comma separated string to list
314
325
  locustfile_as_list = [
315
- download_file_from_url(f) if is_url(f.strip()) else f.strip() for f in options.locustfile.split(",")
326
+ download_locustfile_from_url(f) if is_url(f.strip()) else f.strip() for f in options.locustfile.split(",")
316
327
  ]
317
328
 
318
329
  # Checking if the locustfile is a single file, multiple files or a directory
@@ -132,6 +132,10 @@ def main():
132
132
  logging.error("stats.PERCENTILES_TO_CHART parameter should be 2 parameters \n")
133
133
  sys.exit(1)
134
134
 
135
+ if len(stats.MODERN_UI_PERCENTILES_TO_CHART) > 6:
136
+ logging.error("stats.MODERN_UI_PERCENTILES_TO_CHART parameter should be a maximum of 6 parameters \n")
137
+ sys.exit(1)
138
+
135
139
  def is_valid_percentile(parameter):
136
140
  try:
137
141
  if 0 < float(parameter) < 1:
@@ -1064,7 +1064,7 @@ class MasterRunner(DistributedRunner):
1064
1064
  self.send_message(
1065
1065
  "locustfile",
1066
1066
  client_id=client_id,
1067
- data={"filename": filename, "contents": file_contents},
1067
+ data={"filename": os.path.basename(filename), "contents": file_contents},
1068
1068
  )
1069
1069
  continue
1070
1070
  elif msg.type == "client_stopped":
@@ -1721,12 +1721,15 @@ class SecondUser(HttpUser):
1721
1721
  text=True,
1722
1722
  )
1723
1723
  stdout = proc.communicate()[0]
1724
- proc_worker2.communicate()
1725
- proc_worker.communicate()
1724
+ stdout_worker = proc_worker.communicate()[0]
1725
+ stdout_worker2 = proc_worker2.communicate()[0]
1726
1726
 
1727
1727
  self.assertIn('All users spawned: {"User1": 1} (1 total users)', stdout)
1728
1728
  self.assertIn("Locustfile contents changed on disk after first worker requested locustfile", stdout)
1729
1729
  self.assertIn("Shutting down (exit code 0)", stdout)
1730
+ self.assertNotIn("Traceback", stdout)
1731
+ self.assertNotIn("Traceback", stdout_worker)
1732
+ self.assertNotIn("Traceback", stdout_worker2)
1730
1733
 
1731
1734
  self.assertEqual(0, proc.returncode)
1732
1735
  self.assertEqual(0, proc_worker.returncode)