locust 2.19.2.dev24__tar.gz → 2.19.2.dev41__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.
Potentially problematic release.
This version of locust might be problematic. Click here for more details.
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.vscode/settings.json +0 -3
- {locust-2.19.2.dev24/locust.egg-info → locust-2.19.2.dev41}/PKG-INFO +1 -1
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/_version.py +2 -2
- locust-2.19.2.dev41/locust/rpc/protocol.py +45 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/runners.py +15 -2
- locust-2.19.2.dev24/locust/webui/dist/assets/index-5727afdb.js → locust-2.19.2.dev41/locust/webui/dist/assets/index-d0af3b25.js +58 -58
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/dist/index.html +1 -1
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/App.tsx +2 -0
- locust-2.19.2.dev41/locust/webui/src/components/LogViewer/LogViewer.tsx +21 -0
- locust-2.19.2.dev41/locust/webui/src/components/LogViewer/tests/LogViewer.test.tsx +20 -0
- locust-2.19.2.dev41/locust/webui/src/components/LogViewer/tests/useLogViewer.test.tsx +38 -0
- locust-2.19.2.dev41/locust/webui/src/components/LogViewer/useLogViewer.ts +35 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Tabs/Tabs.constants.tsx +1 -1
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Tabs/Tabs.tsx +32 -3
- locust-2.19.2.dev41/locust/webui/src/hooks/tests/useNotifications.test.tsx +135 -0
- locust-2.19.2.dev41/locust/webui/src/hooks/useNotifications.ts +33 -0
- locust-2.19.2.dev41/locust/webui/src/redux/slice/logViewer.slice.ts +24 -0
- locust-2.19.2.dev41/locust/webui/src/redux/slice/notification.slice.ts +22 -0
- locust-2.19.2.dev41/locust/webui/src/redux/slice/root.slice.ts +42 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/slice/tests/ui.slice.test.ts +3 -2
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/slice/ui.slice.ts +6 -6
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/utils/object.ts +5 -1
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/utils/tests/object.test.ts +35 -1
- {locust-2.19.2.dev24 → locust-2.19.2.dev41/locust.egg-info}/PKG-INFO +1 -1
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust.egg-info/SOURCES.txt +8 -2
- locust-2.19.2.dev24/locust/rpc/protocol.py +0 -19
- locust-2.19.2.dev24/locust/webui/src/components/LogViewer/LogViewer.test.tsx +0 -31
- locust-2.19.2.dev24/locust/webui/src/components/LogViewer/LogViewer.tsx +0 -23
- locust-2.19.2.dev24/locust/webui/src/redux/slice/root.slice.ts +0 -20
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.coveragerc +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.dockerignore +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.git-blame-ignore-revs +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.gitattributes +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.github/CONTRIBUTING.md +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.github/workflows/stale.yml +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.github/workflows/tests.yml +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.gitignore +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.readthedocs.yaml +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.vscode/launch.json +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/.vscode/launch_locust.json +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/CHANGELOG.md +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/Dockerfile +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/LICENSE +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/MANIFEST.in +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/Makefile +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/README +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/README.md +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/SECURITY.md +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/Vagrantfile +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/benchmarks/dispatch.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/_static/theme-overrides.css +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/api.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/changelog.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/conf.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/configuration.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/custom-load-shape.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/developing-locust.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/extending-locust.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/further-reading.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/history.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/images/modern-webui-splash-screenshot.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/images/number_of_users.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/images/response_times.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/images/total_requests_per_second.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/images/userclass_picker_example.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/images/webui-running-statistics.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/images/webui-splash-screenshot.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/increase-performance.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/index.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/installation.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/logging.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/quickstart.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/requirements.txt +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/retrieving-stats.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/running-cloud-integration.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/running-distributed.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/running-in-debugger.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/running-in-docker.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/running-without-web-ui.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/tasksets.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/testing-other-systems.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/use-as-lib.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/what-is-locust.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/docs/writing-a-locustfile.rst +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/add_command_line_argument.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/basic.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/browse_docs_sequence_test.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/browse_docs_test.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_messages.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_shape/double_wave.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_shape/stages.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_shape/staging_user_classes.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_shape/step_load.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_shape/wait_user_count.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_wait_function.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_xmlrpc_client/server.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/custom_xmlrpc_client/xmlrpc_locustfile.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/debugging.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/debugging_advanced.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/docker-compose/docker-compose.yml +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/dynamic_user_credentials.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/events.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/extend_modern_web_ui.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/extend_web_ui/extend.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/extend_web_ui/static/custom-stats-table.css +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/extend_web_ui/static/extend.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/extend_web_ui/templates/extend.html +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/fast_http_locust.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/grpc/grpc_user.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/grpc/hello.proto +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/grpc/hello_pb2.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/grpc/hello_pb2_grpc.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/grpc/hello_server.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/grpc/locustfile.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/locustfile.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/manual_stats_reporting.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/multiple_hosts.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/nested_inline_tasksets.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/rest.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/sdk_session_patching/session_patch_locustfile.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/semaphore_wait.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/stop_on_threshold.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/terraform/aws/README.md +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/terraform/aws/data_subnet.tf +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/terraform/aws/main.tf +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/terraform/aws/output.tf +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/terraform/aws/plan/basic.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/terraform/aws/provisioner.tf +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/terraform/aws/variables.tf +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/test_data_management.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/use_as_lib.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/vagrant/README.md +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/vagrant/supervisord.conf +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/examples/worker_index.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/generate_changelog.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/__init__.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/__main__.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/argument_parser.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/clients.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/contrib/__init__.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/contrib/fasthttp.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/debug.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/dispatch.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/env.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/event.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/exception.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/html.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/input_events.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/log.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/main.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/py.typed +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/rpc/__init__.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/shape.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/chart.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/css/application.css +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/css/application.css.map +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/css/tables.css +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/css/tables.css.map +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/echarts.common.min.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/img/favicon.ico +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/img/logo.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/img/ui-screenshot-charts.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/img/ui-screenshot-start-test.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/img/ui-screenshot-stats.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/img/ui-screenshot-workers.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/jquery-1.11.3.min.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/jquery.jqote2.min.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/jquery.tools.min.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/locust.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/sass/_base.sass +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/sass/_mixins.sass +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/sass/application.sass +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/sass/tables.sass +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/tasks.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/static/vintage.js +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/stats.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/templates/index.html +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/templates/report.html +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/templates/stats_data.html +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/__init__.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/fake_module1_for_env_test.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/fake_module2_for_env_test.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/mock_locustfile.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/mock_logging.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_debugging.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_dispatch.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_env.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_fasthttp.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_http.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_interruptable_task.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_load_locustfile.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_locust_class.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_log.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_main.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_old_wait_api.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_parser.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_runners.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_sequential_taskset.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_stats.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_tags.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_taskratio.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_users.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_util.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_wait_time.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_web.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/test_zmqrpc.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/testcases.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/test/util.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/user/__init__.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/user/inspectuser.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/user/sequential_taskset.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/user/task.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/user/users.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/user/wait_time.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/util/__init__.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/util/cache.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/util/deprecation.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/util/exception_handler.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/util/load_locustfile.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/util/rounding.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/util/timespan.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/web.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/.eslintrc +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/.gitignore +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/.prettierrc +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/dev.html +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/dist/assets/favicon.ico +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/dist/assets/logo.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/dist/report.html +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/index.html +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/package.json +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/public/assets/favicon.ico +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/public/assets/logo.png +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/public/report.html +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/Report.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/DataTable/DataTable.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/DataTable/DataTable.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/ExceptionsTable/ExceptionsTable.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/FailuresTable/FailuresTable.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Form/Form.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Form/Select.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Layout/Footer/About.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Layout/Footer/Footer.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Layout/Layout.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Layout/Navbar/DarkLightToggle.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Layout/Navbar/Navbar.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/LineChart/LineChart.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/LineChart/LineChart.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Modal/Modal.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Reports/Reports.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Reports/Reports.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StateButtons/EditButton.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StateButtons/NewTestButton.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StateButtons/ResetButton.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StateButtons/StateButtons.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StateButtons/StopButton.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StateButtons/tests/ResetButton.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StateButtons/tests/StateButtons.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StateButtons/tests/StopButton.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/StatsTable/StatsTable.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmCharts/SwarmCharts.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmForm/SwarmCustomParameters.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmForm/SwarmEditForm.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmForm/SwarmForm.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmForm/tests/SwarmCustomParameters.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmForm/tests/SwarmEditForm.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmForm/tests/SwarmForm.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmRatios/SwarmRatios.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/SwarmRatios/SwarmRatios.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Table/Table.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Table/Table.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/Tabs/Tabs.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/components/WorkersTable/WorkersTable.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/constants/swarm.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/constants/theme.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/global.d.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/hooks/tests/useSortByField.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/hooks/tests/useSwarmUi.test.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/hooks/useInterval.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/hooks/useSortByField.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/hooks/useSwarmUi.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/index.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/api/swarm.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/hooks.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/slice/swarm.slice.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/slice/theme.slice.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/slice/url.slice.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/store.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/redux/utils.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/styles/theme.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/test/constants.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/test/mocks/statsRequest.mock.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/test/mocks/swarmState.mock.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/test/setup.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/test/testUtils.tsx +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/types/swarm.types.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/types/tab.types.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/types/table.types.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/types/ui.types.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/utils/number.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/utils/string.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/utils/tests/number.test.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/utils/tests/string.test.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/utils/tests/url.test.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/src/utils/url.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/tsconfig.json +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/vite.config.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/vitest.config.ts +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust/webui/yarn.lock +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust.egg-info/dependency_links.txt +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust.egg-info/entry_points.txt +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust.egg-info/not-zip-safe +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust.egg-info/requires.txt +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/locust.egg-info/top_level.txt +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/package.json +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/pyproject.toml +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/scripts/locustfile.py +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/scripts/run-disributed-headless.sh +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/scripts/run-disributed-web.sh +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/scripts/run-local-headless.sh +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/scripts/run-local-web.sh +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/setup.cfg +0 -0
- {locust-2.19.2.dev24 → locust-2.19.2.dev41}/tox.ini +0 -0
@@ -35,9 +35,6 @@
|
|
35
35
|
"**/.env": true
|
36
36
|
},
|
37
37
|
"restructuredtext.confPath": "${workspaceFolder}/docs",
|
38
|
-
"python.linting.pylintEnabled": false,
|
39
|
-
"python.linting.flake8Enabled": true,
|
40
|
-
"python.linting.enabled": true,
|
41
38
|
"[python]": {
|
42
39
|
"editor.defaultFormatter": "ms-python.black-formatter"
|
43
40
|
},
|
@@ -12,5 +12,5 @@ __version__: str
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
13
13
|
version_tuple: VERSION_TUPLE
|
14
14
|
|
15
|
-
__version__ = version = '2.19.2.
|
16
|
-
__version_tuple__ = version_tuple = (2, 19, 2, '
|
15
|
+
__version__ = version = '2.19.2.dev41'
|
16
|
+
__version_tuple__ = version_tuple = (2, 19, 2, 'dev41')
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import msgpack
|
2
|
+
import datetime
|
3
|
+
from typing import Type
|
4
|
+
|
5
|
+
try:
|
6
|
+
from bson import ObjectId # type: ignore
|
7
|
+
except ImportError:
|
8
|
+
|
9
|
+
class ObjectId: # type: ignore
|
10
|
+
def __init__(self, s):
|
11
|
+
raise Exception("You need to install pymongo or at least bson to be able to send/receive ObjectIds")
|
12
|
+
|
13
|
+
|
14
|
+
def decode(obj):
|
15
|
+
if "__datetime__" in obj:
|
16
|
+
obj = datetime.datetime.strptime(obj["as_str"], "%Y%m%dT%H:%M:%S.%f")
|
17
|
+
elif "__ObjectId__" in obj:
|
18
|
+
obj = ObjectId(obj["as_str"])
|
19
|
+
return obj
|
20
|
+
|
21
|
+
|
22
|
+
def encode(obj):
|
23
|
+
if isinstance(obj, datetime.datetime):
|
24
|
+
return {"__datetime__": True, "as_str": obj.strftime("%Y%m%dT%H:%M:%S.%f")}
|
25
|
+
elif isinstance(obj, ObjectId):
|
26
|
+
return {"__ObjectId__": True, "as_str": str(obj)}
|
27
|
+
return obj
|
28
|
+
|
29
|
+
|
30
|
+
class Message:
|
31
|
+
def __init__(self, message_type, data, node_id):
|
32
|
+
self.type = message_type
|
33
|
+
self.data = data
|
34
|
+
self.node_id = node_id
|
35
|
+
|
36
|
+
def __repr__(self):
|
37
|
+
return f"<Message {self.type}:{self.node_id}>"
|
38
|
+
|
39
|
+
def serialize(self):
|
40
|
+
return msgpack.dumps((self.type, self.data, self.node_id), default=encode)
|
41
|
+
|
42
|
+
@classmethod
|
43
|
+
def unserialize(cls, data):
|
44
|
+
msg = cls(*msgpack.loads(data, raw=False, strict_map_key=False, object_hook=decode))
|
45
|
+
return msg
|
@@ -37,6 +37,7 @@ import greenlet
|
|
37
37
|
import psutil
|
38
38
|
from gevent.event import Event
|
39
39
|
from gevent.pool import Group
|
40
|
+
import inspect
|
40
41
|
|
41
42
|
from . import User
|
42
43
|
from locust import __version__
|
@@ -380,7 +381,11 @@ class Runner:
|
|
380
381
|
"""
|
381
382
|
if self.state == STATE_STOPPED:
|
382
383
|
return
|
383
|
-
|
384
|
+
try:
|
385
|
+
caller = inspect.getframeinfo(inspect.stack()[1][0])
|
386
|
+
logger.debug(f"Stopping all users (called from {caller.filename}:{caller.lineno})")
|
387
|
+
except Exception:
|
388
|
+
logger.debug("Stopping all users (couldnt determine where stop() was called from)")
|
384
389
|
self.environment.events.test_stopping.fire(environment=self.environment)
|
385
390
|
self.final_user_classes_count = {**self.user_classes_count}
|
386
391
|
self.update_state(STATE_CLEANUP)
|
@@ -998,6 +1003,10 @@ class MasterRunner(DistributedRunner):
|
|
998
1003
|
self.connection_broken = True
|
999
1004
|
gevent.sleep(FALLBACK_INTERVAL)
|
1000
1005
|
continue
|
1006
|
+
except KeyboardInterrupt:
|
1007
|
+
logging.debug(
|
1008
|
+
"Got KeyboardInterrupt in client_listener. Other greenlets should catch this and shut down."
|
1009
|
+
)
|
1001
1010
|
if msg.type == "client_ready":
|
1002
1011
|
if not msg.data:
|
1003
1012
|
logger.error(f"An old (pre 2.0) worker tried to connect ({client_id}). That's not going to work.")
|
@@ -1100,7 +1109,11 @@ class MasterRunner(DistributedRunner):
|
|
1100
1109
|
logger.debug(
|
1101
1110
|
f"Received {msg.type} message from worker {msg.node_id} (index {self.get_worker_index(msg.node_id)})"
|
1102
1111
|
)
|
1103
|
-
|
1112
|
+
try:
|
1113
|
+
self.custom_messages[msg.type](environment=self.environment, msg=msg)
|
1114
|
+
except Exception:
|
1115
|
+
logging.error(f"Uncaught exception in handler for {msg.type}\n{traceback.format_exc()}")
|
1116
|
+
|
1104
1117
|
else:
|
1105
1118
|
logger.warning(
|
1106
1119
|
f"Unknown message type received from worker {msg.node_id} (index {self.get_worker_index(msg.node_id)}): {msg.type}"
|