locust 2.46.2.dev18__tar.gz → 2.46.3.dev4__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.46.2.dev18 → locust-2.46.3.dev4}/PKG-INFO +1 -1
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/_version.py +2 -2
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/opentelemetry.py +18 -1
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/runners.py +1 -1
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/pyproject.toml +2 -2
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/.gitignore +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/LICENSE +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/README.md +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/hatch_build.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/__init__.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/__main__.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/argument_parser.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/clients.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/__init__.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/csv_request_logger.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/dns.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/fasthttp.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/milvus.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/mongodb.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/mqtt.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/oai.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/postgres.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/qdrant.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/contrib/socketio.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/debug.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/dispatch.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/env.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/event.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/exception.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/html.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/input_events.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/log.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/main.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/py.typed +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/rpc/__init__.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/rpc/protocol.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/shape.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/stats.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/user/__init__.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/user/inspectuser.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/user/markov_taskset.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/user/sequential_taskset.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/user/task.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/user/users.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/user/wait_time.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/__init__.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/cache.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/date.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/deprecation.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/directory.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/exception_handler.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/load_locustfile.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/rounding.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/timespan.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/util/url.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/web.py +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/assets/favicon-dark.png +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/assets/favicon-light.png +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/assets/graphs-dark.png +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/assets/graphs-light.png +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/assets/src-pSlzKFX1.js +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/assets/terminal.gif +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/assets/testruns-dark.png +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/assets/testruns-light.png +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/auth.html +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/index.html +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/locust/webui/dist/report.html +0 -0
- {locust-2.46.2.dev18 → locust-2.46.3.dev4}/pytest_locust/plugin.py +0 -0
|
@@ -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.46.
|
|
22
|
-
__version_tuple__ = version_tuple = (2, 46,
|
|
21
|
+
__version__ = version = '2.46.3.dev4'
|
|
22
|
+
__version_tuple__ = version_tuple = (2, 46, 3, 'dev4')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -45,7 +45,8 @@ def setup_opentelemetry(locustfile: str, profile: str | None) -> bool:
|
|
|
45
45
|
if metrics_exporters:
|
|
46
46
|
meter_provider = _setup_meter_provider(resource, metrics_exporters)
|
|
47
47
|
metrics.set_meter_provider(meter_provider)
|
|
48
|
-
|
|
48
|
+
meter = metrics.get_meter("locust")
|
|
49
|
+
ttlb_histogram = meter.create_histogram(
|
|
49
50
|
"locust.client.duration", unit="s", description="Time to last byte for requests"
|
|
50
51
|
)
|
|
51
52
|
|
|
@@ -62,6 +63,22 @@ def setup_opentelemetry(locustfile: str, profile: str | None) -> bool:
|
|
|
62
63
|
|
|
63
64
|
ttlb_histogram.record(response_time / 1000.0, attributes=attributes)
|
|
64
65
|
|
|
66
|
+
@events.init.add_listener
|
|
67
|
+
def on_locust_init(runner, **kwargs):
|
|
68
|
+
if runner is None:
|
|
69
|
+
return
|
|
70
|
+
|
|
71
|
+
def observe_user_count(options):
|
|
72
|
+
for user_class, count in runner.user_classes_count.items():
|
|
73
|
+
yield metrics.Observation(count, {"user_class": user_class})
|
|
74
|
+
|
|
75
|
+
meter.create_observable_gauge(
|
|
76
|
+
"locust.users.count",
|
|
77
|
+
callbacks=[observe_user_count],
|
|
78
|
+
unit="{user}",
|
|
79
|
+
description="Number of currently running Locust users",
|
|
80
|
+
)
|
|
81
|
+
|
|
65
82
|
if logs_exporters:
|
|
66
83
|
logger_provider = _setup_logger_provider(resource, logs_exporters)
|
|
67
84
|
_logs.set_logger_provider(logger_provider)
|
|
@@ -1527,4 +1527,4 @@ def _format_user_classes_count_for_log(user_classes_count: dict[str, int]) -> st
|
|
|
1527
1527
|
def _aggregate_dispatched_users(d: dict[str, dict[str, int]]) -> dict[str, int]:
|
|
1528
1528
|
# TODO: Test it
|
|
1529
1529
|
user_classes = list(next(iter(d.values())).keys())
|
|
1530
|
-
return {u: sum(
|
|
1530
|
+
return {u: sum(worker_counts[u] for worker_counts in d.values()) for u in user_classes}
|
|
@@ -75,7 +75,7 @@ default-groups = ["build", "test", "lint"]
|
|
|
75
75
|
[dependency-groups]
|
|
76
76
|
build = ["hatch==1.16.5", "hatch-vcs>=0.4.0"]
|
|
77
77
|
test = [
|
|
78
|
-
"cryptography>=43.0.1,<
|
|
78
|
+
"cryptography>=43.0.1,<49.0.0",
|
|
79
79
|
"pyquery>=2.0.0,<3.0.0",
|
|
80
80
|
"retry>=0.9.2,<1.0.0",
|
|
81
81
|
]
|
|
@@ -202,7 +202,7 @@ reportOptionalMemberAccess = "none"
|
|
|
202
202
|
[tool.hatch.envs.hatch-test]
|
|
203
203
|
default-args = ["locust/test"]
|
|
204
204
|
dependencies = [
|
|
205
|
-
"cryptography>=43.0.1,<
|
|
205
|
+
"cryptography>=43.0.1,<49.0.0",
|
|
206
206
|
"pyquery>=2.0.1,<3.0.0",
|
|
207
207
|
"pytest>=8.3.3,<10",
|
|
208
208
|
"retry>=0.9.2,<1.0.0",
|
|
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
|