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.
Files changed (68) hide show
  1. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/PKG-INFO +1 -1
  2. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/_version.py +2 -2
  3. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/stats.py +22 -8
  4. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/.gitignore +0 -0
  5. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/LICENSE +0 -0
  6. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/README.md +0 -0
  7. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/hatch_build.py +0 -0
  8. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/__init__.py +0 -0
  9. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/__main__.py +0 -0
  10. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/argument_parser.py +0 -0
  11. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/clients.py +0 -0
  12. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/__init__.py +0 -0
  13. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/dns.py +0 -0
  14. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/fasthttp.py +0 -0
  15. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/milvus.py +0 -0
  16. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/mongodb.py +0 -0
  17. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/mqtt.py +0 -0
  18. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/oai.py +0 -0
  19. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/postgres.py +0 -0
  20. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/qdrant.py +0 -0
  21. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/contrib/socketio.py +0 -0
  22. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/debug.py +0 -0
  23. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/dispatch.py +0 -0
  24. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/env.py +0 -0
  25. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/event.py +0 -0
  26. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/exception.py +0 -0
  27. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/html.py +0 -0
  28. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/input_events.py +0 -0
  29. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/log.py +0 -0
  30. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/main.py +0 -0
  31. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/opentelemetry.py +0 -0
  32. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/py.typed +0 -0
  33. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/rpc/__init__.py +0 -0
  34. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/rpc/protocol.py +0 -0
  35. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/rpc/zmqrpc.py +0 -0
  36. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/runners.py +0 -0
  37. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/shape.py +0 -0
  38. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/__init__.py +0 -0
  39. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/inspectuser.py +0 -0
  40. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/markov_taskset.py +0 -0
  41. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/sequential_taskset.py +0 -0
  42. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/task.py +0 -0
  43. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/users.py +0 -0
  44. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/user/wait_time.py +0 -0
  45. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/__init__.py +0 -0
  46. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/cache.py +0 -0
  47. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/date.py +0 -0
  48. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/deprecation.py +0 -0
  49. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/directory.py +0 -0
  50. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/exception_handler.py +0 -0
  51. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/load_locustfile.py +0 -0
  52. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/rounding.py +0 -0
  53. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/timespan.py +0 -0
  54. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/util/url.py +0 -0
  55. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/web.py +0 -0
  56. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/favicon-dark.png +0 -0
  57. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/favicon-light.png +0 -0
  58. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/graphs-dark.png +0 -0
  59. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/graphs-light.png +0 -0
  60. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/index-Bl8icIRq.js +0 -0
  61. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/terminal.gif +0 -0
  62. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/testruns-dark.png +0 -0
  63. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/assets/testruns-light.png +0 -0
  64. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/auth.html +0 -0
  65. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/index.html +0 -0
  66. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/locust/webui/dist/report.html +0 -0
  67. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/pyproject.toml +0 -0
  68. {locust-2.43.4.dev19 → locust-2.43.4.dev25}/pytest_locust/plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: locust
3
- Version: 2.43.4.dev19
3
+ Version: 2.43.4.dev25
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
@@ -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.dev19'
32
- __version_tuple__ = version_tuple = (2, 43, 4, 'dev19')
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
- if response_time < 100:
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