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.
- {locust-2.23.0 → locust-2.23.1}/CHANGELOG.md +26 -0
- {locust-2.23.0/locust.egg-info → locust-2.23.1}/PKG-INFO +1 -1
- {locust-2.23.0 → locust-2.23.1}/docs/changelog.rst +5 -0
- {locust-2.23.0 → locust-2.23.1}/docs/configuration.rst +2 -0
- {locust-2.23.0 → locust-2.23.1}/locust/_version.py +2 -2
- {locust-2.23.0 → locust-2.23.1}/locust/argument_parser.py +17 -6
- {locust-2.23.0 → locust-2.23.1}/locust/main.py +4 -0
- {locust-2.23.0 → locust-2.23.1}/locust/runners.py +1 -1
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_main.py +5 -2
- locust-2.23.0/locust/webui/dist/assets/index-5730ea01.js → locust-2.23.1/locust/webui/dist/assets/index-fcdc76c8.js +51 -51
- {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/auth.html +1 -1
- {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/index.html +1 -1
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ExceptionsTable/ExceptionsTable.tsx +1 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmCharts/SwarmCharts.tsx +6 -1
- {locust-2.23.0 → locust-2.23.1/locust.egg-info}/PKG-INFO +1 -1
- {locust-2.23.0 → locust-2.23.1}/locust.egg-info/SOURCES.txt +1 -1
- {locust-2.23.0 → locust-2.23.1}/.coveragerc +0 -0
- {locust-2.23.0 → locust-2.23.1}/.dockerignore +0 -0
- {locust-2.23.0 → locust-2.23.1}/.git-blame-ignore-revs +0 -0
- {locust-2.23.0 → locust-2.23.1}/.gitattributes +0 -0
- {locust-2.23.0 → locust-2.23.1}/.github/CONTRIBUTING.md +0 -0
- {locust-2.23.0 → locust-2.23.1}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
- {locust-2.23.0 → locust-2.23.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {locust-2.23.0 → locust-2.23.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {locust-2.23.0 → locust-2.23.1}/.github/workflows/stale.yml +0 -0
- {locust-2.23.0 → locust-2.23.1}/.github/workflows/tests.yml +0 -0
- {locust-2.23.0 → locust-2.23.1}/.gitignore +0 -0
- {locust-2.23.0 → locust-2.23.1}/.readthedocs.yaml +0 -0
- {locust-2.23.0 → locust-2.23.1}/.vscode/extensions.json +0 -0
- {locust-2.23.0 → locust-2.23.1}/.vscode/launch.json +0 -0
- {locust-2.23.0 → locust-2.23.1}/.vscode/launch_locust.json +0 -0
- {locust-2.23.0 → locust-2.23.1}/.vscode/settings.json +0 -0
- {locust-2.23.0 → locust-2.23.1}/Dockerfile +0 -0
- {locust-2.23.0 → locust-2.23.1}/LICENSE +0 -0
- {locust-2.23.0 → locust-2.23.1}/MANIFEST.in +0 -0
- {locust-2.23.0 → locust-2.23.1}/Makefile +0 -0
- {locust-2.23.0 → locust-2.23.1}/README +0 -0
- {locust-2.23.0 → locust-2.23.1}/README.md +0 -0
- {locust-2.23.0 → locust-2.23.1}/SECURITY.md +0 -0
- {locust-2.23.0 → locust-2.23.1}/Vagrantfile +0 -0
- {locust-2.23.0 → locust-2.23.1}/benchmarks/dispatch.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/_static/theme-overrides.css +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/api.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/conf.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/custom-load-shape.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/developing-locust.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/extending-locust.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/further-reading.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/history.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/images/locust_workers.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/images/number_of_users.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/images/response_times.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/images/total_requests_per_second.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/images/userclass_picker_example.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/images/webui-running-statistics.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/images/webui-splash-screenshot.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/increase-performance.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/index.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/installation.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/logging.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/quickstart.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/requirements.txt +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/retrieving-stats.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/running-cloud-integration.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/running-distributed.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/running-in-debugger.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/running-in-docker.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/running-without-web-ui.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/tasksets.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/testing-other-systems.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/use-as-lib.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/what-is-locust.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/docs/writing-a-locustfile.rst +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/add_command_line_argument.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/basic.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/browse_docs_sequence_test.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/browse_docs_test.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_messages.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/double_wave.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/stages.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/staging_user_classes.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/step_load.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_shape/wait_user_count.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_wait_function.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_xmlrpc_client/server.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/custom_xmlrpc_client/xmlrpc_locustfile.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/debugging.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/debugging_advanced.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/docker-compose/docker-compose.yml +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/dynamic_user_credentials.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/events.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/extend_modern_web_ui.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/extend_web_ui/extend.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/extend_web_ui/static/custom-stats-table.css +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/extend_web_ui/static/extend.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/extend_web_ui/templates/extend.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/fast_http_locust.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/grpc/grpc_user.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/grpc/hello.proto +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/grpc/hello_pb2.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/grpc/hello_pb2_grpc.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/grpc/hello_server.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/grpc/locustfile.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/locustfile.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/manual_stats_reporting.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/multiple_hosts.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/nested_inline_tasksets.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/rest.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/sdk_session_patching/session_patch_locustfile.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/semaphore_wait.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/stop_on_threshold.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/README.md +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/data_subnet.tf +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/main.tf +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/output.tf +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/plan/basic.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/provisioner.tf +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/terraform/aws/variables.tf +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/test_data_management.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/use_as_lib.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/vagrant/README.md +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/vagrant/supervisord.conf +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/web_ui_auth.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/examples/worker_index.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/generate_changelog.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/__init__.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/__main__.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/clients.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/contrib/__init__.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/contrib/fasthttp.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/debug.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/dispatch.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/env.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/event.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/exception.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/html.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/input_events.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/log.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/py.typed +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/rpc/__init__.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/rpc/protocol.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/shape.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/chart.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/css/application.css +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/css/application.css.map +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/css/tables.css +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/css/tables.css.map +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/echarts.common.min.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/img/favicon.ico +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/img/logo.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/img/ui-screenshot-charts.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/img/ui-screenshot-start-test.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/img/ui-screenshot-stats.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/img/ui-screenshot-workers.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/jquery-1.11.3.min.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/jquery.jqote2.min.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/jquery.tools.min.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/locust.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/sass/_base.sass +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/sass/_mixins.sass +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/sass/application.sass +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/sass/tables.sass +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/tasks.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/static/vintage.js +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/stats.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/templates/index.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/templates/report.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/templates/stats_data.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/__init__.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/fake_module1_for_env_test.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/fake_module2_for_env_test.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/mock_locustfile.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/mock_logging.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_debugging.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_dispatch.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_env.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_fasthttp.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_http.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_interruptable_task.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_load_locustfile.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_locust_class.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_log.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_old_wait_api.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_parser.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_runners.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_sequential_taskset.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_stats.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_tags.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_taskratio.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_users.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_util.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_wait_time.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_web.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/test_zmqrpc.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/testcases.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/test/util.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/user/__init__.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/user/inspectuser.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/user/sequential_taskset.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/user/task.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/user/users.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/user/wait_time.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/util/__init__.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/util/cache.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/util/deprecation.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/util/exception_handler.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/util/load_locustfile.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/util/rounding.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/util/timespan.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/web.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/.eslintrc +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/.gitignore +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/.prettierrc +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/auth.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/dev.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/assets/favicon.ico +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/assets/logo.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/dist/report.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/index.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/package.json +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/public/assets/favicon.ico +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/public/assets/logo.png +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/public/report.html +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/App.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/Report.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/auth.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/DataTable/DataTable.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/DataTable/DataTable.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/FailuresTable/FailuresTable.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Form/Form.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Form/Select.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Form/tests/Form.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Form/tests/Select.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Footer/About.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Footer/Footer.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Layout.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Navbar/DarkLightToggle.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Navbar/Navbar.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LineChart/LineChart.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LineChart/LineChart.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LogViewer/LogViewer.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LogViewer/tests/LogViewer.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LogViewer/tests/useLogViewer.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/LogViewer/useLogViewer.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Modal/Modal.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Reports/Reports.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Reports/Reports.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/EditButton.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/NewTestButton.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/ResetButton.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/StateButtons.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/StopButton.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/tests/ResetButton.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/tests/StateButtons.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StateButtons/tests/StopButton.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/StatsTable/StatsTable.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/SwarmCustomParameters.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/SwarmEditForm.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/SwarmForm.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/SwarmUserClassPicker.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/tests/SwarmCustomParameters.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/tests/SwarmEditForm.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/tests/SwarmForm.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmRatios/SwarmRatios.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/SwarmRatios/SwarmRatios.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Table/Table.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Table/Table.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Tabs/Tabs.constants.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Tabs/Tabs.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/Tabs/Tabs.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/components/WorkersTable/WorkersTable.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/constants/swarm.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/constants/theme.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/global.d.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/tests/useNotifications.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/tests/useSelecteViewColumns.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/tests/useSortByField.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/tests/useSwarmUi.test.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useInterval.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useNotifications.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useSelectViewColumns.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useSortByField.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/hooks/useSwarmUi.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/index.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/api/swarm.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/hooks.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/logViewer.slice.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/notification.slice.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/root.slice.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/swarm.slice.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/tests/ui.slice.test.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/theme.slice.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/ui.slice.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/slice/url.slice.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/store.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/redux/utils.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/styles/theme.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/constants.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/mocks/statsRequest.mock.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/mocks/swarmState.mock.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/setup.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/test/testUtils.tsx +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/auth.types.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/swarm.types.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/tab.types.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/table.types.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/types/ui.types.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/number.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/object.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/string.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/tests/number.test.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/tests/object.test.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/tests/string.test.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/tests/url.test.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/src/utils/url.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/tsconfig.json +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/vite.config.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/vitest.config.ts +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust/webui/yarn.lock +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust.egg-info/dependency_links.txt +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust.egg-info/entry_points.txt +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust.egg-info/not-zip-safe +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust.egg-info/requires.txt +0 -0
- {locust-2.23.0 → locust-2.23.1}/locust.egg-info/top_level.txt +0 -0
- {locust-2.23.0 → locust-2.23.1}/package.json +0 -0
- {locust-2.23.0 → locust-2.23.1}/pyproject.toml +0 -0
- {locust-2.23.0 → locust-2.23.1}/scripts/locustfile.py +0 -0
- {locust-2.23.0 → locust-2.23.1}/scripts/run-disributed-headless.sh +0 -0
- {locust-2.23.0 → locust-2.23.1}/scripts/run-disributed-web.sh +0 -0
- {locust-2.23.0 → locust-2.23.1}/scripts/run-local-headless.sh +0 -0
- {locust-2.23.0 → locust-2.23.1}/scripts/run-local-web.sh +0 -0
- {locust-2.23.0 → locust-2.23.1}/setup.cfg +0 -0
- {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)
|
@@ -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
|
+-------------------------------------------+--------------------------------------------------------------------------------------+
|
@@ -156,7 +156,7 @@ def is_url(url: str) -> bool:
|
|
156
156
|
return False
|
157
157
|
|
158
158
|
|
159
|
-
def
|
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
|
-
|
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
|
250
|
-
|
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
|
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
|
-
|
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
|
-
|
1725
|
-
|
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)
|