locust 2.42.4.dev30__tar.gz → 2.42.4.dev34__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 (67) hide show
  1. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/PKG-INFO +1 -1
  2. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/_version.py +2 -2
  3. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/clients.py +16 -1
  4. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/opentelemetry.py +6 -2
  5. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/.gitignore +0 -0
  6. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/LICENSE +0 -0
  7. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/README.md +0 -0
  8. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/hatch_build.py +0 -0
  9. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/__init__.py +0 -0
  10. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/__main__.py +0 -0
  11. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/argument_parser.py +0 -0
  12. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/__init__.py +0 -0
  13. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/dns.py +0 -0
  14. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/fasthttp.py +0 -0
  15. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/milvus.py +0 -0
  16. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/mongodb.py +0 -0
  17. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/mqtt.py +0 -0
  18. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/oai.py +0 -0
  19. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/postgres.py +0 -0
  20. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/socketio.py +0 -0
  21. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/debug.py +0 -0
  22. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/dispatch.py +0 -0
  23. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/env.py +0 -0
  24. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/event.py +0 -0
  25. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/exception.py +0 -0
  26. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/html.py +0 -0
  27. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/input_events.py +0 -0
  28. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/log.py +0 -0
  29. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/main.py +0 -0
  30. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/py.typed +0 -0
  31. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/rpc/__init__.py +0 -0
  32. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/rpc/protocol.py +0 -0
  33. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/rpc/zmqrpc.py +0 -0
  34. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/runners.py +0 -0
  35. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/shape.py +0 -0
  36. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/stats.py +0 -0
  37. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/__init__.py +0 -0
  38. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/inspectuser.py +0 -0
  39. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/markov_taskset.py +0 -0
  40. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/sequential_taskset.py +0 -0
  41. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/task.py +0 -0
  42. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/users.py +0 -0
  43. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/wait_time.py +0 -0
  44. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/__init__.py +0 -0
  45. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/cache.py +0 -0
  46. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/date.py +0 -0
  47. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/deprecation.py +0 -0
  48. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/directory.py +0 -0
  49. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/exception_handler.py +0 -0
  50. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/load_locustfile.py +0 -0
  51. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/rounding.py +0 -0
  52. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/timespan.py +0 -0
  53. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/url.py +0 -0
  54. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/web.py +0 -0
  55. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/favicon-dark.png +0 -0
  56. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/favicon-light.png +0 -0
  57. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/graphs-dark.png +0 -0
  58. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/graphs-light.png +0 -0
  59. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/index-Mvj-aOsx.js +0 -0
  60. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/terminal.gif +0 -0
  61. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/testruns-dark.png +0 -0
  62. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/testruns-light.png +0 -0
  63. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/auth.html +0 -0
  64. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/index.html +0 -0
  65. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/report.html +0 -0
  66. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/pyproject.toml +0 -0
  67. {locust-2.42.4.dev30 → locust-2.42.4.dev34}/pytest_locust/plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: locust
3
- Version: 2.42.4.dev30
3
+ Version: 2.42.4.dev34
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.42.4.dev30'
32
- __version_tuple__ = version_tuple = (2, 42, 4, 'dev30')
31
+ __version__ = version = '2.42.4.dev34'
32
+ __version_tuple__ = version_tuple = (2, 42, 4, 'dev34')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  from locust.event import EventHook
4
4
 
5
5
  import re
6
+ import sys
6
7
  import time
7
8
  from contextlib import contextmanager
8
9
  from typing import TYPE_CHECKING, cast
@@ -17,8 +18,13 @@ from urllib3 import PoolManager
17
18
 
18
19
  from .exception import CatchResponseError, LocustError, ResponseError
19
20
 
21
+ if sys.version_info >= (3, 12):
22
+ from typing import override
23
+ else:
24
+ from typing_extensions import override
25
+
26
+
20
27
  if TYPE_CHECKING:
21
- import sys
22
28
  from collections.abc import Callable, Generator, Iterable, Mapping, MutableMapping
23
29
  from typing import Any, TypedDict
24
30
 
@@ -177,6 +183,8 @@ class HttpSession(requests.Session):
177
183
  if self.request_name and not name:
178
184
  name = self.request_name
179
185
 
186
+ self.explicit_name = name
187
+
180
188
  # prepend url with hostname unless it's already an absolute URL
181
189
  complete_url = self._build_url(url)
182
190
 
@@ -235,6 +243,13 @@ class HttpSession(requests.Session):
235
243
  except RequestException as e:
236
244
  return ResponseContextManager(e) # this is inconsistent, we should fix this some time
237
245
 
246
+ @override
247
+ def prepare_request(self, request) -> requests.PreparedRequest:
248
+ prep = super().prepare_request(request)
249
+ if self.explicit_name:
250
+ prep._explicit_name = self.explicit_name # type: ignore
251
+ return prep
252
+
238
253
  def get(
239
254
  self, url: str | bytes, *, data: Any = None, json: Any = None, **kwargs: Unpack[RESTKwargs]
240
255
  ) -> ResponseContextManager:
@@ -1,5 +1,6 @@
1
1
  import logging
2
2
  import os
3
+ from urllib.parse import urlparse
3
4
 
4
5
  from ._version import __version__
5
6
 
@@ -134,8 +135,11 @@ def _setup_auto_instrumentation():
134
135
  from opentelemetry.sdk.trace import Span
135
136
 
136
137
  def request_hook(span: Span, request: requests.PreparedRequest):
137
- span.update_name(f"{request.method} {request.url}")
138
- return
138
+ if name := getattr(request, "_explicit_name", None):
139
+ span.update_name(f"{request.method} {name}")
140
+ else:
141
+ parsed = urlparse(request.url)
142
+ span.update_name(f"{request.method} {str(parsed.path) or '/'}")
139
143
 
140
144
  RequestsInstrumentor().instrument(request_hook=request_hook)
141
145
  except ImportError:
File without changes
File without changes
File without changes