locust 2.32.3.dev1__py3-none-any.whl → 2.32.3.dev6__py3-none-any.whl
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/_version.py +2 -2
- locust/env.py +1 -2
- locust/log.py +1 -1
- locust/main.py +1 -1
- locust/runners.py +12 -12
- locust/util/deprecation.py +1 -1
- {locust-2.32.3.dev1.dist-info → locust-2.32.3.dev6.dist-info}/METADATA +1 -1
- {locust-2.32.3.dev1.dist-info → locust-2.32.3.dev6.dist-info}/RECORD +11 -11
- {locust-2.32.3.dev1.dist-info → locust-2.32.3.dev6.dist-info}/LICENSE +0 -0
- {locust-2.32.3.dev1.dist-info → locust-2.32.3.dev6.dist-info}/WHEEL +0 -0
- {locust-2.32.3.dev1.dist-info → locust-2.32.3.dev6.dist-info}/entry_points.txt +0 -0
locust/_version.py
CHANGED
@@ -14,7 +14,7 @@ __version_tuple__: VERSION_TUPLE
|
|
14
14
|
version_tuple: VERSION_TUPLE
|
15
15
|
|
16
16
|
|
17
|
-
__version__ = "2.32.3.
|
17
|
+
__version__ = "2.32.3.dev6"
|
18
18
|
version = __version__
|
19
|
-
__version_tuple__ = (2, 32, 3, "
|
19
|
+
__version_tuple__ = (2, 32, 3, "dev6")
|
20
20
|
version_tuple = __version_tuple__
|
locust/env.py
CHANGED
@@ -295,8 +295,7 @@ class Environment:
|
|
295
295
|
def _validate_shape_class_instance(self):
|
296
296
|
if self.shape_class is not None and not isinstance(self.shape_class, LoadTestShape):
|
297
297
|
raise ValueError(
|
298
|
-
"shape_class should be instance of LoadTestShape or subclass LoadTestShape, but got:
|
299
|
-
% self.shape_class
|
298
|
+
f"shape_class should be instance of LoadTestShape or subclass LoadTestShape, but got: {self.shape_class}"
|
300
299
|
)
|
301
300
|
|
302
301
|
@property
|
locust/log.py
CHANGED
@@ -95,7 +95,7 @@ def greenlet_exception_logger(logger, level=logging.CRITICAL):
|
|
95
95
|
if greenlet.exc_info[0] == SystemExit:
|
96
96
|
logger.log(
|
97
97
|
min(logging.INFO, level), # dont use higher than INFO for this, because it sounds way to urgent
|
98
|
-
"sys.exit(
|
98
|
+
f"sys.exit({greenlet.exc_info[1]}) called (use log level DEBUG for callstack)",
|
99
99
|
)
|
100
100
|
logger.log(logging.DEBUG, "Unhandled exception in greenlet: %s", greenlet, exc_info=greenlet.exc_info)
|
101
101
|
else:
|
locust/main.py
CHANGED
@@ -554,7 +554,7 @@ See https://github.com/locustio/locust/wiki/Installation#increasing-maximum-numb
|
|
554
554
|
logger.info("--run-time limit reached, stopping test")
|
555
555
|
runner.stop()
|
556
556
|
if options.autoquit != -1:
|
557
|
-
logger.debug("Autoquit time limit set to
|
557
|
+
logger.debug(f"Autoquit time limit set to {options.autoquit} seconds")
|
558
558
|
time.sleep(options.autoquit)
|
559
559
|
logger.info("--autoquit time reached, shutting down")
|
560
560
|
runner.quit()
|
locust/runners.py
CHANGED
@@ -217,7 +217,7 @@ class Runner:
|
|
217
217
|
n += 1
|
218
218
|
if n % 10 == 0 or n == spawn_count:
|
219
219
|
logger.debug("%i users spawned" % self.user_count)
|
220
|
-
logger.debug("All users of class
|
220
|
+
logger.debug(f"All users of class {user_class} spawned")
|
221
221
|
return new_users
|
222
222
|
|
223
223
|
new_users: list[User] = []
|
@@ -256,7 +256,7 @@ class Runner:
|
|
256
256
|
|
257
257
|
while True:
|
258
258
|
user_to_stop: User = to_stop.pop()
|
259
|
-
logger.debug("Stopping
|
259
|
+
logger.debug(f"Stopping {user_to_stop.greenlet.name}")
|
260
260
|
if user_to_stop.greenlet is greenlet.getcurrent():
|
261
261
|
# User called runner.quit(), so don't block waiting for killing to finish
|
262
262
|
user_to_stop.group.killone(user_to_stop.greenlet, block=False)
|
@@ -272,8 +272,7 @@ class Runner:
|
|
272
272
|
|
273
273
|
if not stop_group.join(timeout=self.environment.stop_timeout):
|
274
274
|
logger.info(
|
275
|
-
"Not all users finished their tasks & terminated in
|
276
|
-
% self.environment.stop_timeout
|
275
|
+
f"Not all users finished their tasks & terminated in {self.environment.stop_timeout} seconds. Stopping them..."
|
277
276
|
)
|
278
277
|
stop_group.kill(block=True)
|
279
278
|
|
@@ -495,7 +494,7 @@ class LocalRunner(Runner):
|
|
495
494
|
user_classes_spawn_count: dict[str, int] = {}
|
496
495
|
user_classes_stop_count: dict[str, int] = {}
|
497
496
|
user_classes_count = dispatched_users[self._local_worker_node.id]
|
498
|
-
logger.debug("Ramping to
|
497
|
+
logger.debug(f"Ramping to {_format_user_classes_count_for_log(user_classes_count)}")
|
499
498
|
for user_class_name, user_class_count in user_classes_count.items():
|
500
499
|
if self.user_classes_count[user_class_name] > user_class_count:
|
501
500
|
user_classes_stop_count[user_class_name] = (
|
@@ -558,7 +557,7 @@ class LocalRunner(Runner):
|
|
558
557
|
:param msg_type: The type of the message to emulate sending
|
559
558
|
:param data: Optional data to include
|
560
559
|
"""
|
561
|
-
logger.debug("Running locally: sending
|
560
|
+
logger.debug(f"Running locally: sending {msg_type} message to self")
|
562
561
|
if msg_type in self.custom_messages:
|
563
562
|
listener, concurrent = self.custom_messages[msg_type]
|
564
563
|
msg = Message(msg_type, data, "local")
|
@@ -877,7 +876,7 @@ class MasterRunner(DistributedRunner):
|
|
877
876
|
|
878
877
|
if send_stop_to_client:
|
879
878
|
for client in self.clients.all:
|
880
|
-
logger.debug("Sending stop message to worker
|
879
|
+
logger.debug(f"Sending stop message to worker {client.id}")
|
881
880
|
self.server.send_to_client(Message("stop", None, client.id))
|
882
881
|
|
883
882
|
# Give an additional 60s for all workers to stop
|
@@ -987,8 +986,7 @@ class MasterRunner(DistributedRunner):
|
|
987
986
|
logger.error(f"RPCError: {e}. Will reset RPC server.")
|
988
987
|
else:
|
989
988
|
logger.debug(
|
990
|
-
"RPCError when receiving from worker:
|
991
|
-
% (e)
|
989
|
+
f"RPCError when receiving from worker: {e} (but no workers were expected to be connected anyway)"
|
992
990
|
)
|
993
991
|
self.connection_broken = True
|
994
992
|
gevent.sleep(FALLBACK_INTERVAL)
|
@@ -1027,7 +1025,9 @@ class MasterRunner(DistributedRunner):
|
|
1027
1025
|
# if abs(time() - msg.data["time"]) > 5.0:
|
1028
1026
|
# warnings.warn("The worker node's clock seem to be out of sync. For the statistics to be correct the different locust servers need to have synchronized clocks.")
|
1029
1027
|
elif msg.type == "locustfile":
|
1030
|
-
if msg.data["version"]
|
1028
|
+
if not msg.data["version"]:
|
1029
|
+
logger.error("A very old worker version requested locustfile. This probably won't work.")
|
1030
|
+
elif msg.data["version"][0:4] == __version__[0:4]:
|
1031
1031
|
logger.debug(
|
1032
1032
|
f"A worker ({msg.node_id}) running a different patch version ({msg.data['version']}) connected, master version is {__version__}"
|
1033
1033
|
)
|
@@ -1410,7 +1410,7 @@ class WorkerRunner(DistributedRunner):
|
|
1410
1410
|
# master says we have finished spawning (happens only once during a normal rampup)
|
1411
1411
|
self.environment.events.spawning_complete.fire(user_count=msg.data["user_count"])
|
1412
1412
|
elif msg.type in self.custom_messages:
|
1413
|
-
logger.debug("Received
|
1413
|
+
logger.debug(f"Received {msg.type} message from master")
|
1414
1414
|
listener, concurrent = self.custom_messages[msg.type]
|
1415
1415
|
if not concurrent:
|
1416
1416
|
listener(environment=self.environment, msg=msg)
|
@@ -1454,7 +1454,7 @@ class WorkerRunner(DistributedRunner):
|
|
1454
1454
|
:param data: Optional data to send
|
1455
1455
|
:param client_id: (unused)
|
1456
1456
|
"""
|
1457
|
-
logger.debug("Sending
|
1457
|
+
logger.debug(f"Sending {msg_type} message to master")
|
1458
1458
|
self.client.send(Message(msg_type, data, self.client_id))
|
1459
1459
|
|
1460
1460
|
def _send_stats(self) -> None:
|
locust/util/deprecation.py
CHANGED
@@ -12,7 +12,7 @@ def check_for_deprecated_task_set_attribute(class_dict):
|
|
12
12
|
if issubclass(task_set, TaskSet) and not hasattr(task_set, "locust_task_weight"):
|
13
13
|
warnings.warn(
|
14
14
|
"Usage of User.task_set is deprecated since version 1.0. Set the tasks attribute instead "
|
15
|
-
"(tasks = [
|
15
|
+
f"(tasks = [{task_set.__name__}])",
|
16
16
|
DeprecationWarning,
|
17
17
|
)
|
18
18
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
locust/__init__.py,sha256=Jit8eNUrwuMLqavyFvMZr69e61DILq_KB4yT4MciScw,1681
|
2
2
|
locust/__main__.py,sha256=vBQ82334kX06ImDbFlPFgiBRiLIinwNk3z8Khs6hd74,31
|
3
|
-
locust/_version.py,sha256=
|
3
|
+
locust/_version.py,sha256=xSkhSVvJuB1JbHc0vEr0CgY2bHt3H0x3rY5_RsqZAIc,458
|
4
4
|
locust/argument_parser.py,sha256=LuGP0vppUIYzbXI3PTIbB1USajbwwTGC_FqagkyG3Dg,29424
|
5
5
|
locust/clients.py,sha256=XK-xabq2_5GZKMEjebDobvEjeBTtCs8h2EelL7s68Qs,19346
|
6
6
|
locust/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -9,18 +9,18 @@ locust/contrib/mongodb.py,sha256=1seUYgJOaNKwybYOP9PUEVhgl8hGy-G33f8lFj3R8W8,124
|
|
9
9
|
locust/contrib/postgres.py,sha256=OuMWnGYN10K65Tq2axVESEW25Y0g5gJb0rK90jkcCJg,1230
|
10
10
|
locust/debug.py,sha256=7CCm8bIg44uGH2wqBlo1rXBzV2VzwPicLxLewz8r5CQ,5099
|
11
11
|
locust/dispatch.py,sha256=prdwtb9EoN4A9klgiKgWuwQmvFB8hEuFHOK6ot62AJI,16202
|
12
|
-
locust/env.py,sha256=
|
12
|
+
locust/env.py,sha256=UgR85CbbMXjhsbrMO8cx--ubdzEwuM2WZtY8DFMHHho,13065
|
13
13
|
locust/event.py,sha256=AWoeG2q11Vpupv1eW9Rf2N0EI4dDDAldKe6zY1ajC7I,8717
|
14
14
|
locust/exception.py,sha256=jGgJ32ubuf4pWdlaVOkbh2Y0LlG0_DHi-lv3ib8ppOE,1791
|
15
15
|
locust/html.py,sha256=X9N8u42aHptcQdRZ5cLrBmDuXqRW0yXH_TaWPsWfweY,3691
|
16
16
|
locust/input_events.py,sha256=ZIyePyAMuA_YFYWg18g_pE4kwuQV3RbEB250MzXRwjY,3314
|
17
|
-
locust/log.py,sha256=
|
18
|
-
locust/main.py,sha256=
|
17
|
+
locust/log.py,sha256=50sj-aIyiE4NyZenXZV4SKl-VimiD5IVZRsARTR0b5M,3455
|
18
|
+
locust/main.py,sha256=x12ZG69nxkB17xQo7zSEu2s5t9ZPLLqksKwvp_hzcDY,29931
|
19
19
|
locust/py.typed,sha256=gkWLl8yD4mIZnNYYAIRM8g9VarLvWmTAFeUfEbxJLBw,65
|
20
20
|
locust/rpc/__init__.py,sha256=nVGoHWFQxZjnhCDWjbgXIbmFbN9sizAjkhvSs9_642c,58
|
21
21
|
locust/rpc/protocol.py,sha256=n-rb3GZQcAlldYDj4E4GuFGylYj_26GSS5U29meft5Y,1282
|
22
22
|
locust/rpc/zmqrpc.py,sha256=_zl0DKazQLD2YyqxvyuskVApsDCaUnhloHvV8SkJxjw,3157
|
23
|
-
locust/runners.py,sha256=
|
23
|
+
locust/runners.py,sha256=NO31BxJX1vy6BmN7acsI0I3bjKlPaf_10riijYRdChU,70610
|
24
24
|
locust/shape.py,sha256=t-lwBS8LOjWcKXNL7j2U3zroIXJ1b0fazUwpRYQOKXw,1973
|
25
25
|
locust/stats.py,sha256=Ylw-uyt3cpeqy0Oi5kvcloVWgjJm62lu9lbWJfq2lHU,46061
|
26
26
|
locust/user/__init__.py,sha256=S2yvmI_AU9kXirtTIVqiV_Hs7yXzqXvaSgkNo9ig-fk,71
|
@@ -32,7 +32,7 @@ locust/user/wait_time.py,sha256=bGRKMVx4lom75sX3POYJUa1CPeME2bEAXG6CEgxSO5U,2675
|
|
32
32
|
locust/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
33
|
locust/util/cache.py,sha256=IxbpGawl0-hoWKvCrtksxjSLf2GbBBTVns06F7mFBkM,1062
|
34
34
|
locust/util/date.py,sha256=2uZAY-fkJq7llUcVywTDTbe-_2IYumCv18n3Vrc75gw,833
|
35
|
-
locust/util/deprecation.py,sha256=
|
35
|
+
locust/util/deprecation.py,sha256=4my4IcFpbM6yEKr569GMUKMsS0ywp0N4JPhhwm3J1-w,2026
|
36
36
|
locust/util/directory.py,sha256=2EeuVIIFEErm0OpNXdsEgQLx49jAXq-PvMj2uY0Mr8o,326
|
37
37
|
locust/util/exception_handler.py,sha256=jTMyBq2a0O07fRjmqGkheyaPj58tUgnbbcjoesKGPws,797
|
38
38
|
locust/util/load_locustfile.py,sha256=hn70KcIG8jHmZyuKv2pcEmwgWtOEu24Efeji1KRYNUE,2964
|
@@ -47,8 +47,8 @@ locust/webui/dist/auth.html,sha256=0fvb3-Y4J93meBMkvrOAMRt4hkF9lislJ2Tmc93urN4,6
|
|
47
47
|
locust/webui/dist/index.html,sha256=VawZBgQnz65gCIE8lCvhsvuXKc9kDc9DNiVrn9PV-08,654
|
48
48
|
locust/webui/dist/report.html,sha256=KUmkufa4Ob8GTqBmVtFnueZL8h76eEUMVnoL069cAcg,1471006
|
49
49
|
poetry.lock,sha256=NUOC8hV7YCL5kHXj3GF2Kb16DLRCXoZUjiWXPghYEyg,213450
|
50
|
-
locust-2.32.3.
|
51
|
-
locust-2.32.3.
|
52
|
-
locust-2.32.3.
|
53
|
-
locust-2.32.3.
|
54
|
-
locust-2.32.3.
|
50
|
+
locust-2.32.3.dev6.dist-info/LICENSE,sha256=78XGpIn3fHVBfaxlPNUfjVufSN7QsdhpJMRJHv2AFpo,1095
|
51
|
+
locust-2.32.3.dev6.dist-info/METADATA,sha256=W1SHyeUIW6LfJCmhLLNqcqUAoT3RjRPR-kkM3mBJW7w,7876
|
52
|
+
locust-2.32.3.dev6.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
53
|
+
locust-2.32.3.dev6.dist-info/entry_points.txt,sha256=RhIxlLwU_Ae_WjimS5COUDLagdCh6IOMyLtgaQxNmlM,43
|
54
|
+
locust-2.32.3.dev6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|