locust 2.47.1.dev33__tar.gz → 2.47.1.dev37__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.
Files changed (69) hide show
  1. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/PKG-INFO +1 -1
  2. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/_version.py +2 -2
  3. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/event.py +0 -10
  4. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/stats.py +13 -22
  5. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/user/task.py +1 -1
  6. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/.gitignore +0 -0
  7. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/LICENSE +0 -0
  8. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/README.md +0 -0
  9. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/hatch_build.py +0 -0
  10. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/__init__.py +0 -0
  11. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/__main__.py +0 -0
  12. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/argument_parser.py +0 -0
  13. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/clients.py +0 -0
  14. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/__init__.py +0 -0
  15. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/csv_request_logger.py +0 -0
  16. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/dns.py +0 -0
  17. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/fasthttp.py +0 -0
  18. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/milvus.py +0 -0
  19. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/mongodb.py +0 -0
  20. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/mqtt.py +0 -0
  21. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/oai.py +0 -0
  22. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/postgres.py +0 -0
  23. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/qdrant.py +0 -0
  24. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/contrib/socketio.py +0 -0
  25. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/debug.py +0 -0
  26. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/dispatch.py +0 -0
  27. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/env.py +0 -0
  28. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/exception.py +0 -0
  29. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/html.py +0 -0
  30. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/input_events.py +0 -0
  31. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/log.py +0 -0
  32. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/main.py +0 -0
  33. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/opentelemetry.py +0 -0
  34. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/py.typed +0 -0
  35. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/rpc/__init__.py +0 -0
  36. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/rpc/protocol.py +0 -0
  37. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/rpc/zmqrpc.py +0 -0
  38. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/runners.py +0 -0
  39. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/shape.py +0 -0
  40. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/user/__init__.py +0 -0
  41. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/user/inspectuser.py +0 -0
  42. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/user/markov_taskset.py +0 -0
  43. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/user/sequential_taskset.py +0 -0
  44. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/user/users.py +0 -0
  45. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/user/wait_time.py +0 -0
  46. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/__init__.py +0 -0
  47. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/cache.py +0 -0
  48. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/date.py +0 -0
  49. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/deprecation.py +0 -0
  50. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/directory.py +0 -0
  51. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/exception_handler.py +0 -0
  52. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/load_locustfile.py +0 -0
  53. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/rounding.py +0 -0
  54. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/timespan.py +0 -0
  55. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/util/url.py +0 -0
  56. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/web.py +0 -0
  57. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/assets/favicon-dark.png +0 -0
  58. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/assets/favicon-light.png +0 -0
  59. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/assets/graphs-dark.png +0 -0
  60. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/assets/graphs-light.png +0 -0
  61. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/assets/src-Cl6CiemE.js +0 -0
  62. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/assets/terminal.gif +0 -0
  63. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/assets/testruns-dark.png +0 -0
  64. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/assets/testruns-light.png +0 -0
  65. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/auth.html +0 -0
  66. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/index.html +0 -0
  67. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/locust/webui/dist/report.html +0 -0
  68. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/pyproject.toml +0 -0
  69. {locust-2.47.1.dev33 → locust-2.47.1.dev37}/pytest_locust/plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: locust
3
- Version: 2.47.1.dev33
3
+ Version: 2.47.1.dev37
4
4
  Summary: Developer-friendly load testing framework
5
5
  Project-URL: Homepage, https://locust.cloud/
6
6
  Project-URL: Repository, https://github.com/locustio/locust
@@ -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.47.1.dev33'
22
- __version_tuple__ = version_tuple = (2, 47, 1, 'dev33')
21
+ __version__ = version = '2.47.1.dev37'
22
+ __version_tuple__ = version_tuple = (2, 47, 1, 'dev37')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -89,16 +89,6 @@ class EventHook:
89
89
  self.fire(**request_meta)
90
90
 
91
91
 
92
- class DeprecatedEventHook(EventHook):
93
- def __init__(self, message):
94
- self.message = message
95
- super().__init__()
96
-
97
- def add_listener(self, handler):
98
- logging.warning(self.message)
99
- return super().add_listener(handler)
100
-
101
-
102
92
  class Events:
103
93
  request: EventHook
104
94
  """
@@ -142,10 +142,6 @@ def bucket_response_time(response_time: int | float) -> int:
142
142
  return int(round(response_time, -3))
143
143
 
144
144
 
145
- class RequestStatsAdditionError(Exception):
146
- pass
147
-
148
-
149
145
  def get_readable_percentiles(percentile_list: list[float]) -> list[str]:
150
146
  """
151
147
  Converts a list of percentiles from 0-1 fraction to 0%-100% view for using in console & csv reporting
@@ -433,23 +429,7 @@ class StatsEntry:
433
429
 
434
430
  @property
435
431
  def median_response_time(self) -> int:
436
- if not self.response_times:
437
- return 0
438
- median = (
439
- calculate_response_time_percentile(self.response_times, self.num_requests - self.num_none_requests, 0.5)
440
- or 0
441
- )
442
-
443
- # Since we only use two digits of precision when calculating the median response time
444
- # while still using the exact values for min and max response times, the following checks
445
- # makes sure that we don't report a median > max or median < min when a StatsEntry only
446
- # have one (or very few) really slow requests
447
- if median > self.max_response_time:
448
- median = self.max_response_time
449
- elif self.min_response_time is not None and median < self.min_response_time:
450
- median = self.min_response_time
451
-
452
- return median
432
+ return self.get_response_time_percentile(0.5)
453
433
 
454
434
  @property
455
435
  def current_rps(self) -> float:
@@ -609,10 +589,21 @@ class StatsEntry:
609
589
  """
610
590
  # response_times only holds non-None samples, so None (async) requests
611
591
  # must be excluded from the denominator, just like in avg/median
612
- return calculate_response_time_percentile(
592
+ percentile = calculate_response_time_percentile(
613
593
  self.response_times, self.num_requests - self.num_none_requests, percent
614
594
  )
615
595
 
596
+ # Since we only use two digits of precision when calculating percentiles while still
597
+ # using the exact values for min and max response times, the following checks make sure
598
+ # that we don't report a percentile > max or percentile < min, e.g. a 95th percentile of
599
+ # 1500 when the slowest request took 1460
600
+ if percentile > self.max_response_time:
601
+ percentile = self.max_response_time
602
+ elif self.min_response_time is not None and percentile < self.min_response_time:
603
+ percentile = self.min_response_time
604
+
605
+ return percentile
606
+
616
607
  def get_current_response_time_percentile(self, percent: float) -> int | None:
617
608
  """
618
609
  Calculate the *current* response time for a certain percentile. We use a sliding
@@ -166,7 +166,7 @@ def get_tasks_from_base_classes(bases, class_dict):
166
166
 
167
167
  for item in class_dict.values():
168
168
  if "locust_task_weight" in dir(item):
169
- for i in range(item.locust_task_weight):
169
+ for _ in range(item.locust_task_weight):
170
170
  new_tasks.append(item)
171
171
 
172
172
  return new_tasks
File without changes
File without changes
File without changes