locust 2.44.2.dev2__tar.gz → 2.44.3__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.44.2.dev2 → locust-2.44.3}/PKG-INFO +3 -3
- {locust-2.44.2.dev2 → locust-2.44.3}/README.md +2 -2
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/_version.py +2 -2
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/opentelemetry.py +22 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/.gitignore +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/LICENSE +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/hatch_build.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/__init__.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/__main__.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/argument_parser.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/clients.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/__init__.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/csv_request_logger.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/dns.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/fasthttp.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/milvus.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/mongodb.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/mqtt.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/oai.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/postgres.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/qdrant.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/contrib/socketio.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/debug.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/dispatch.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/env.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/event.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/exception.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/html.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/input_events.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/log.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/main.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/py.typed +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/rpc/__init__.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/rpc/protocol.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/runners.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/shape.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/stats.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/user/__init__.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/user/inspectuser.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/user/markov_taskset.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/user/sequential_taskset.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/user/task.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/user/users.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/user/wait_time.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/__init__.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/cache.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/date.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/deprecation.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/directory.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/exception_handler.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/load_locustfile.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/rounding.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/timespan.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/util/url.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/web.py +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/assets/favicon-dark.png +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/assets/favicon-light.png +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/assets/graphs-dark.png +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/assets/graphs-light.png +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/assets/src-lBIzfjkZ.js +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/assets/terminal.gif +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/assets/testruns-dark.png +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/assets/testruns-light.png +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/auth.html +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/index.html +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/locust/webui/dist/report.html +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/pyproject.toml +0 -0
- {locust-2.44.2.dev2 → locust-2.44.3}/pytest_locust/plugin.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: locust
|
|
3
|
-
Version: 2.44.
|
|
3
|
+
Version: 2.44.3
|
|
4
4
|
Summary: Developer-friendly load testing framework
|
|
5
5
|
Project-URL: homepage, https://locust.io/
|
|
6
6
|
Project-URL: repository, https://github.com/locustio/locust
|
|
@@ -150,7 +150,7 @@ Microsoft has built an excellent [VS Code extension](https://learn.microsoft.com
|
|
|
150
150
|
|
|
151
151
|
## Azure Load Testing
|
|
152
152
|
|
|
153
|
-
Azure offers [a managed load-testing service](https://
|
|
153
|
+
Azure offers [a managed load-testing service](https://learn.microsoft.com/azure/app-testing/load-testing/quickstart-create-and-run-load-test) that lets you run and scale Locust tests easily.
|
|
154
154
|
|
|
155
155
|
* Scalable and flexible, with no need to host your own infrastructure
|
|
156
156
|
* If your application is hosted on Azure, it can combine test results with detailed resource metrics to help pinpoint bottlenecks and optimize performance.
|
|
@@ -171,7 +171,7 @@ Azure offers [a managed load-testing service](https://marketplace.visualstudio.c
|
|
|
171
171
|
|
|
172
172
|
## Special thanks
|
|
173
173
|
|
|
174
|
-
* [Microsoft](https://
|
|
174
|
+
* [Microsoft](https://learn.microsoft.com/azure/app-testing/load-testing/quickstart-create-and-run-load-test) contributes to and sponsors the continued maintenance of Locust ❤️
|
|
175
175
|
|
|
176
176
|
## License
|
|
177
177
|
|
|
@@ -90,7 +90,7 @@ Microsoft has built an excellent [VS Code extension](https://learn.microsoft.com
|
|
|
90
90
|
|
|
91
91
|
## Azure Load Testing
|
|
92
92
|
|
|
93
|
-
Azure offers [a managed load-testing service](https://
|
|
93
|
+
Azure offers [a managed load-testing service](https://learn.microsoft.com/azure/app-testing/load-testing/quickstart-create-and-run-load-test) that lets you run and scale Locust tests easily.
|
|
94
94
|
|
|
95
95
|
* Scalable and flexible, with no need to host your own infrastructure
|
|
96
96
|
* If your application is hosted on Azure, it can combine test results with detailed resource metrics to help pinpoint bottlenecks and optimize performance.
|
|
@@ -111,7 +111,7 @@ Azure offers [a managed load-testing service](https://marketplace.visualstudio.c
|
|
|
111
111
|
|
|
112
112
|
## Special thanks
|
|
113
113
|
|
|
114
|
-
* [Microsoft](https://
|
|
114
|
+
* [Microsoft](https://learn.microsoft.com/azure/app-testing/load-testing/quickstart-create-and-run-load-test) contributes to and sponsors the continued maintenance of Locust ❤️
|
|
115
115
|
|
|
116
116
|
## License
|
|
117
117
|
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '2.44.
|
|
22
|
-
__version_tuple__ = version_tuple = (2, 44,
|
|
21
|
+
__version__ = version = '2.44.3'
|
|
22
|
+
__version_tuple__ = version_tuple = (2, 44, 3)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from locust import events
|
|
2
|
+
|
|
1
3
|
import logging
|
|
2
4
|
import os
|
|
3
5
|
import socket
|
|
@@ -6,6 +8,8 @@ from urllib.parse import urlparse
|
|
|
6
8
|
from ._version import __version__
|
|
7
9
|
|
|
8
10
|
logger = logging.getLogger(__name__)
|
|
11
|
+
MAX_REQUEST_NAMES = 20
|
|
12
|
+
request_names: set[str] = set()
|
|
9
13
|
|
|
10
14
|
|
|
11
15
|
def setup_opentelemetry(locustfile: str, profile: str | None) -> bool:
|
|
@@ -41,6 +45,24 @@ def setup_opentelemetry(locustfile: str, profile: str | None) -> bool:
|
|
|
41
45
|
if metrics_exporters:
|
|
42
46
|
meter_provider = _setup_meter_provider(resource, metrics_exporters)
|
|
43
47
|
metrics.set_meter_provider(meter_provider)
|
|
48
|
+
ttlb_histogram = metrics.get_meter("locust").create_histogram(
|
|
49
|
+
"locust.client.duration", unit="s", description="Time to last byte for requests"
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
@events.request.add_listener
|
|
53
|
+
def request_handler(
|
|
54
|
+
request_type, name, response_time, response_length, response, context, exception, start_time, url, **kwargs
|
|
55
|
+
):
|
|
56
|
+
if len(request_names) < MAX_REQUEST_NAMES:
|
|
57
|
+
request_names.add(name)
|
|
58
|
+
attributes = {"name": name}
|
|
59
|
+
else:
|
|
60
|
+
attributes = {"name": "Too many unique request names"}
|
|
61
|
+
|
|
62
|
+
if exception:
|
|
63
|
+
attributes["error.type"] = exception.__class__.__name__
|
|
64
|
+
|
|
65
|
+
ttlb_histogram.record(response_time / 1000.0, attributes=attributes)
|
|
44
66
|
|
|
45
67
|
if logs_exporters:
|
|
46
68
|
logger_provider = _setup_logger_provider(resource, logs_exporters)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|