locust 2.44.2.dev6__tar.gz → 2.44.3__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.44.2.dev6 → locust-2.44.3}/PKG-INFO +3 -3
  2. {locust-2.44.2.dev6 → locust-2.44.3}/README.md +2 -2
  3. {locust-2.44.2.dev6 → locust-2.44.3}/locust/_version.py +2 -2
  4. {locust-2.44.2.dev6 → locust-2.44.3}/locust/opentelemetry.py +22 -0
  5. {locust-2.44.2.dev6 → locust-2.44.3}/.gitignore +0 -0
  6. {locust-2.44.2.dev6 → locust-2.44.3}/LICENSE +0 -0
  7. {locust-2.44.2.dev6 → locust-2.44.3}/hatch_build.py +0 -0
  8. {locust-2.44.2.dev6 → locust-2.44.3}/locust/__init__.py +0 -0
  9. {locust-2.44.2.dev6 → locust-2.44.3}/locust/__main__.py +0 -0
  10. {locust-2.44.2.dev6 → locust-2.44.3}/locust/argument_parser.py +0 -0
  11. {locust-2.44.2.dev6 → locust-2.44.3}/locust/clients.py +0 -0
  12. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/__init__.py +0 -0
  13. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/csv_request_logger.py +0 -0
  14. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/dns.py +0 -0
  15. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/fasthttp.py +0 -0
  16. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/milvus.py +0 -0
  17. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/mongodb.py +0 -0
  18. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/mqtt.py +0 -0
  19. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/oai.py +0 -0
  20. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/postgres.py +0 -0
  21. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/qdrant.py +0 -0
  22. {locust-2.44.2.dev6 → locust-2.44.3}/locust/contrib/socketio.py +0 -0
  23. {locust-2.44.2.dev6 → locust-2.44.3}/locust/debug.py +0 -0
  24. {locust-2.44.2.dev6 → locust-2.44.3}/locust/dispatch.py +0 -0
  25. {locust-2.44.2.dev6 → locust-2.44.3}/locust/env.py +0 -0
  26. {locust-2.44.2.dev6 → locust-2.44.3}/locust/event.py +0 -0
  27. {locust-2.44.2.dev6 → locust-2.44.3}/locust/exception.py +0 -0
  28. {locust-2.44.2.dev6 → locust-2.44.3}/locust/html.py +0 -0
  29. {locust-2.44.2.dev6 → locust-2.44.3}/locust/input_events.py +0 -0
  30. {locust-2.44.2.dev6 → locust-2.44.3}/locust/log.py +0 -0
  31. {locust-2.44.2.dev6 → locust-2.44.3}/locust/main.py +0 -0
  32. {locust-2.44.2.dev6 → locust-2.44.3}/locust/py.typed +0 -0
  33. {locust-2.44.2.dev6 → locust-2.44.3}/locust/rpc/__init__.py +0 -0
  34. {locust-2.44.2.dev6 → locust-2.44.3}/locust/rpc/protocol.py +0 -0
  35. {locust-2.44.2.dev6 → locust-2.44.3}/locust/rpc/zmqrpc.py +0 -0
  36. {locust-2.44.2.dev6 → locust-2.44.3}/locust/runners.py +0 -0
  37. {locust-2.44.2.dev6 → locust-2.44.3}/locust/shape.py +0 -0
  38. {locust-2.44.2.dev6 → locust-2.44.3}/locust/stats.py +0 -0
  39. {locust-2.44.2.dev6 → locust-2.44.3}/locust/user/__init__.py +0 -0
  40. {locust-2.44.2.dev6 → locust-2.44.3}/locust/user/inspectuser.py +0 -0
  41. {locust-2.44.2.dev6 → locust-2.44.3}/locust/user/markov_taskset.py +0 -0
  42. {locust-2.44.2.dev6 → locust-2.44.3}/locust/user/sequential_taskset.py +0 -0
  43. {locust-2.44.2.dev6 → locust-2.44.3}/locust/user/task.py +0 -0
  44. {locust-2.44.2.dev6 → locust-2.44.3}/locust/user/users.py +0 -0
  45. {locust-2.44.2.dev6 → locust-2.44.3}/locust/user/wait_time.py +0 -0
  46. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/__init__.py +0 -0
  47. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/cache.py +0 -0
  48. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/date.py +0 -0
  49. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/deprecation.py +0 -0
  50. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/directory.py +0 -0
  51. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/exception_handler.py +0 -0
  52. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/load_locustfile.py +0 -0
  53. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/rounding.py +0 -0
  54. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/timespan.py +0 -0
  55. {locust-2.44.2.dev6 → locust-2.44.3}/locust/util/url.py +0 -0
  56. {locust-2.44.2.dev6 → locust-2.44.3}/locust/web.py +0 -0
  57. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/assets/favicon-dark.png +0 -0
  58. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/assets/favicon-light.png +0 -0
  59. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/assets/graphs-dark.png +0 -0
  60. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/assets/graphs-light.png +0 -0
  61. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/assets/src-lBIzfjkZ.js +0 -0
  62. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/assets/terminal.gif +0 -0
  63. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/assets/testruns-dark.png +0 -0
  64. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/assets/testruns-light.png +0 -0
  65. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/auth.html +0 -0
  66. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/index.html +0 -0
  67. {locust-2.44.2.dev6 → locust-2.44.3}/locust/webui/dist/report.html +0 -0
  68. {locust-2.44.2.dev6 → locust-2.44.3}/pyproject.toml +0 -0
  69. {locust-2.44.2.dev6 → locust-2.44.3}/pytest_locust/plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: locust
3
- Version: 2.44.2.dev6
3
+ Version: 2.44.3
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
@@ -150,7 +150,7 @@ Microsoft has built an excellent [VS Code extension](https://learn.microsoft.com
150
150
 
151
151
  ## Azure Load Testing
152
152
 
153
- Azure offers [a managed load-testing service](https://marketplace.visualstudio.com/items?itemName=ms-azure-load-testing.microsoft-testing) that lets you run and scale Locust tests easily.
153
+ Azure offers [a managed load-testing service](https://learn.microsoft.com/azure/app-testing/load-testing/quickstart-create-and-run-load-test) that lets you run and scale Locust tests easily.
154
154
 
155
155
  * Scalable and flexible, with no need to host your own infrastructure
156
156
  * If your application is hosted on Azure, it can combine test results with detailed resource metrics to help pinpoint bottlenecks and optimize performance.
@@ -171,7 +171,7 @@ Azure offers [a managed load-testing service](https://marketplace.visualstudio.c
171
171
 
172
172
  ## Special thanks
173
173
 
174
- * [Microsoft](https://marketplace.visualstudio.com/items?itemName=ms-azure-load-testing.microsoft-testing) contributes to and sponsors the continued maintenance of Locust ❤️
174
+ * [Microsoft](https://learn.microsoft.com/azure/app-testing/load-testing/quickstart-create-and-run-load-test) contributes to and sponsors the continued maintenance of Locust ❤️
175
175
 
176
176
  ## License
177
177
 
@@ -90,7 +90,7 @@ Microsoft has built an excellent [VS Code extension](https://learn.microsoft.com
90
90
 
91
91
  ## Azure Load Testing
92
92
 
93
- Azure offers [a managed load-testing service](https://marketplace.visualstudio.com/items?itemName=ms-azure-load-testing.microsoft-testing) that lets you run and scale Locust tests easily.
93
+ Azure offers [a managed load-testing service](https://learn.microsoft.com/azure/app-testing/load-testing/quickstart-create-and-run-load-test) that lets you run and scale Locust tests easily.
94
94
 
95
95
  * Scalable and flexible, with no need to host your own infrastructure
96
96
  * If your application is hosted on Azure, it can combine test results with detailed resource metrics to help pinpoint bottlenecks and optimize performance.
@@ -111,7 +111,7 @@ Azure offers [a managed load-testing service](https://marketplace.visualstudio.c
111
111
 
112
112
  ## Special thanks
113
113
 
114
- * [Microsoft](https://marketplace.visualstudio.com/items?itemName=ms-azure-load-testing.microsoft-testing) contributes to and sponsors the continued maintenance of Locust ❤️
114
+ * [Microsoft](https://learn.microsoft.com/azure/app-testing/load-testing/quickstart-create-and-run-load-test) contributes to and sponsors the continued maintenance of Locust ❤️
115
115
 
116
116
  ## License
117
117
 
@@ -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.44.2.dev6'
22
- __version_tuple__ = version_tuple = (2, 44, 2, 'dev6')
21
+ __version__ = version = '2.44.3'
22
+ __version_tuple__ = version_tuple = (2, 44, 3)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,3 +1,5 @@
1
+ from locust import events
2
+
1
3
  import logging
2
4
  import os
3
5
  import socket
@@ -6,6 +8,8 @@ from urllib.parse import urlparse
6
8
  from ._version import __version__
7
9
 
8
10
  logger = logging.getLogger(__name__)
11
+ MAX_REQUEST_NAMES = 20
12
+ request_names: set[str] = set()
9
13
 
10
14
 
11
15
  def setup_opentelemetry(locustfile: str, profile: str | None) -> bool:
@@ -41,6 +45,24 @@ def setup_opentelemetry(locustfile: str, profile: str | None) -> bool:
41
45
  if metrics_exporters:
42
46
  meter_provider = _setup_meter_provider(resource, metrics_exporters)
43
47
  metrics.set_meter_provider(meter_provider)
48
+ ttlb_histogram = metrics.get_meter("locust").create_histogram(
49
+ "locust.client.duration", unit="s", description="Time to last byte for requests"
50
+ )
51
+
52
+ @events.request.add_listener
53
+ def request_handler(
54
+ request_type, name, response_time, response_length, response, context, exception, start_time, url, **kwargs
55
+ ):
56
+ if len(request_names) < MAX_REQUEST_NAMES:
57
+ request_names.add(name)
58
+ attributes = {"name": name}
59
+ else:
60
+ attributes = {"name": "Too many unique request names"}
61
+
62
+ if exception:
63
+ attributes["error.type"] = exception.__class__.__name__
64
+
65
+ ttlb_histogram.record(response_time / 1000.0, attributes=attributes)
44
66
 
45
67
  if logs_exporters:
46
68
  logger_provider = _setup_logger_provider(resource, logs_exporters)
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