locust 2.46.1.dev14__tar.gz → 2.46.2.dev5__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.46.1.dev14 → locust-2.46.2.dev5}/PKG-INFO +1 -2
  2. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/_version.py +2 -2
  3. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/stats.py +8 -3
  4. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/pyproject.toml +0 -1
  5. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/.gitignore +0 -0
  6. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/LICENSE +0 -0
  7. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/README.md +0 -0
  8. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/hatch_build.py +0 -0
  9. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/__init__.py +0 -0
  10. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/__main__.py +0 -0
  11. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/argument_parser.py +0 -0
  12. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/clients.py +0 -0
  13. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/__init__.py +0 -0
  14. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/csv_request_logger.py +0 -0
  15. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/dns.py +0 -0
  16. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/fasthttp.py +0 -0
  17. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/milvus.py +0 -0
  18. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/mongodb.py +0 -0
  19. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/mqtt.py +0 -0
  20. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/oai.py +0 -0
  21. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/postgres.py +0 -0
  22. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/qdrant.py +0 -0
  23. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/contrib/socketio.py +0 -0
  24. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/debug.py +0 -0
  25. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/dispatch.py +0 -0
  26. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/env.py +0 -0
  27. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/event.py +0 -0
  28. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/exception.py +0 -0
  29. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/html.py +0 -0
  30. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/input_events.py +0 -0
  31. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/log.py +0 -0
  32. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/main.py +0 -0
  33. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/opentelemetry.py +0 -0
  34. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/py.typed +0 -0
  35. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/rpc/__init__.py +0 -0
  36. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/rpc/protocol.py +0 -0
  37. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/rpc/zmqrpc.py +0 -0
  38. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/runners.py +0 -0
  39. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/shape.py +0 -0
  40. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/user/__init__.py +0 -0
  41. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/user/inspectuser.py +0 -0
  42. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/user/markov_taskset.py +0 -0
  43. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/user/sequential_taskset.py +0 -0
  44. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/user/task.py +0 -0
  45. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/user/users.py +0 -0
  46. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/user/wait_time.py +0 -0
  47. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/__init__.py +0 -0
  48. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/cache.py +0 -0
  49. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/date.py +0 -0
  50. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/deprecation.py +0 -0
  51. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/directory.py +0 -0
  52. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/exception_handler.py +0 -0
  53. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/load_locustfile.py +0 -0
  54. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/rounding.py +0 -0
  55. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/timespan.py +0 -0
  56. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/util/url.py +0 -0
  57. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/web.py +0 -0
  58. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/assets/favicon-dark.png +0 -0
  59. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/assets/favicon-light.png +0 -0
  60. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/assets/graphs-dark.png +0 -0
  61. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/assets/graphs-light.png +0 -0
  62. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/assets/src-pSlzKFX1.js +0 -0
  63. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/assets/terminal.gif +0 -0
  64. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/assets/testruns-dark.png +0 -0
  65. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/assets/testruns-light.png +0 -0
  66. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/auth.html +0 -0
  67. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/index.html +0 -0
  68. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/locust/webui/dist/report.html +0 -0
  69. {locust-2.46.1.dev14 → locust-2.46.2.dev5}/pytest_locust/plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: locust
3
- Version: 2.46.1.dev14
3
+ Version: 2.46.2.dev5
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
@@ -39,7 +39,6 @@ Requires-Dist: python-socketio[client]>=5.13.0
39
39
  Requires-Dist: pywin32; sys_platform == 'win32'
40
40
  Requires-Dist: pyzmq>=25.0.0
41
41
  Requires-Dist: requests>=2.32.2
42
- Requires-Dist: tomli>=1.1.0; python_version < '3.11'
43
42
  Requires-Dist: typing-extensions>=4.6.0; python_version < '3.12'
44
43
  Requires-Dist: werkzeug>=2.0.0
45
44
  Provides-Extra: dns
@@ -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.1.dev14'
22
- __version_tuple__ = version_tuple = (2, 46, 1, 'dev14')
21
+ __version__ = version = '2.46.2.dev5'
22
+ __version_tuple__ = version_tuple = (2, 46, 2, 'dev5')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -113,7 +113,7 @@ response time percentile
113
113
  """
114
114
  CURRENT_RESPONSE_TIME_PERCENTILE_WINDOW = 10
115
115
 
116
- CachedResponseTimes = namedtuple("CachedResponseTimes", ["response_times", "num_requests"])
116
+ CachedResponseTimes = namedtuple("CachedResponseTimes", ["response_times", "num_requests", "num_none_requests"])
117
117
 
118
118
  PERCENTILES_TO_REPORT = [0.50, 0.66, 0.75, 0.80, 0.90, 0.95, 0.98, 0.99, 0.999, 0.9999, 1.0]
119
119
 
@@ -604,7 +604,11 @@ class StatsEntry:
604
604
 
605
605
  Percent specified in range: 0.0 - 1.0
606
606
  """
607
- return calculate_response_time_percentile(self.response_times, self.num_requests, percent)
607
+ # response_times only holds non-None samples, so None (async) requests
608
+ # must be excluded from the denominator, just like in avg/median
609
+ return calculate_response_time_percentile(
610
+ self.response_times, self.num_requests - self.num_none_requests, percent
611
+ )
608
612
 
609
613
  def get_current_response_time_percentile(self, percent: float) -> int | None:
610
614
  """
@@ -644,7 +648,7 @@ class StatsEntry:
644
648
  # for that timeframe
645
649
  return calculate_response_time_percentile(
646
650
  diff_response_time_dicts(self.response_times, cached.response_times),
647
- self.num_requests - cached.num_requests,
651
+ (self.num_requests - self.num_none_requests) - (cached.num_requests - cached.num_none_requests),
648
652
  percent,
649
653
  )
650
654
  # if time was not in response times cache window
@@ -669,6 +673,7 @@ class StatsEntry:
669
673
  self.response_times_cache[t] = CachedResponseTimes(
670
674
  response_times=copy(self.response_times),
671
675
  num_requests=self.num_requests,
676
+ num_none_requests=self.num_none_requests,
672
677
  )
673
678
 
674
679
  # We'll use a cache size of CURRENT_RESPONSE_TIME_PERCENTILE_WINDOW + 10 since - in the extreme case -
@@ -40,7 +40,6 @@ dependencies = [
40
40
  "pyzmq>=25.0.0",
41
41
  "geventhttpclient>=2.3.1",
42
42
  "configargparse>=1.7.1",
43
- "tomli>=1.1.0; python_version < '3.11'",
44
43
  "typing_extensions>=4.6.0; python_version < '3.12'",
45
44
  "psutil>=5.9.1",
46
45
  "Flask-Login>=0.6.3",
File without changes
File without changes
File without changes