locust 2.43.4.dev19__tar.gz → 2.43.4.dev25__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.43.4.dev19 → locust-2.43.4.dev25}/PKG-INFO +1 -1
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/_version.py +2 -2
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/stats.py +22 -8
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/.gitignore +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/LICENSE +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/README.md +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/hatch_build.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/__init__.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/__main__.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/argument_parser.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/clients.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/__init__.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/dns.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/fasthttp.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/milvus.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/mongodb.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/mqtt.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/oai.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/postgres.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/qdrant.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/socketio.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/debug.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/dispatch.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/env.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/event.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/exception.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/html.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/input_events.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/log.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/main.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/opentelemetry.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/py.typed +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/rpc/__init__.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/rpc/protocol.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/runners.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/shape.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/__init__.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/inspectuser.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/markov_taskset.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/sequential_taskset.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/task.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/users.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/wait_time.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/__init__.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/cache.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/date.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/deprecation.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/directory.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/exception_handler.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/load_locustfile.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/rounding.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/timespan.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/url.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/web.py +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/favicon-dark.png +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/favicon-light.png +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/graphs-dark.png +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/graphs-light.png +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/index-Bl8icIRq.js +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/terminal.gif +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/testruns-dark.png +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/testruns-light.png +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/auth.html +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/index.html +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/report.html +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/pyproject.toml +0 -0
- {locust-2.43.4.dev19 → locust-2.43.4.dev25}/pytest_locust/plugin.py +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '2.43.4.
|
|
32
|
-
__version_tuple__ = version_tuple = (2, 43, 4, '
|
|
31
|
+
__version__ = version = '2.43.4.dev25'
|
|
32
|
+
__version_tuple__ = version_tuple = (2, 43, 4, 'dev25')
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -119,6 +119,27 @@ PERCENTILES_TO_STATISTICS = [0.95, 0.99]
|
|
|
119
119
|
PERCENTILES_TO_CHART = [0.5, 0.95]
|
|
120
120
|
|
|
121
121
|
|
|
122
|
+
def bucket_response_time(response_time: int | float) -> int:
|
|
123
|
+
"""Round response time to reduce unique histogram keys.
|
|
124
|
+
|
|
125
|
+
Rounds to ~2 significant digits, so that 147 becomes 150, 3432 becomes 3400
|
|
126
|
+
and 58760 becomes 59000. This limits the dict to ~310 unique keys, which is
|
|
127
|
+
important for bandwidth in distributed mode.
|
|
128
|
+
|
|
129
|
+
This is a module-level function so it can be replaced at runtime for custom
|
|
130
|
+
bucketing, e.g. rounding to 3 significant figures or using fixed-width bins.
|
|
131
|
+
See :ref:`customizing-response-time-bucketing` in the docs.
|
|
132
|
+
"""
|
|
133
|
+
if response_time < 100:
|
|
134
|
+
return round(response_time)
|
|
135
|
+
elif response_time < 1000:
|
|
136
|
+
return int(round(response_time, -1))
|
|
137
|
+
elif response_time < 10000:
|
|
138
|
+
return int(round(response_time, -2))
|
|
139
|
+
else:
|
|
140
|
+
return int(round(response_time, -3))
|
|
141
|
+
|
|
142
|
+
|
|
122
143
|
class RequestStatsAdditionError(Exception):
|
|
123
144
|
pass
|
|
124
145
|
|
|
@@ -381,14 +402,7 @@ class StatsEntry:
|
|
|
381
402
|
# to avoid to much data that has to be transferred to the master node when
|
|
382
403
|
# running in distributed mode, we save the response time rounded in a dict
|
|
383
404
|
# so that 147 becomes 150, 3432 becomes 3400 and 58760 becomes 59000
|
|
384
|
-
|
|
385
|
-
rounded_response_time = round(response_time)
|
|
386
|
-
elif response_time < 1000:
|
|
387
|
-
rounded_response_time = round(response_time, -1)
|
|
388
|
-
elif response_time < 10000:
|
|
389
|
-
rounded_response_time = round(response_time, -2)
|
|
390
|
-
else:
|
|
391
|
-
rounded_response_time = round(response_time, -3)
|
|
405
|
+
rounded_response_time = bucket_response_time(response_time)
|
|
392
406
|
|
|
393
407
|
# increase request count for the rounded key in response time dict
|
|
394
408
|
self.response_times[rounded_response_time] += 1
|
|
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
|