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.
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/PKG-INFO +1 -1
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/_version.py +2 -2
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/clients.py +16 -1
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/opentelemetry.py +6 -2
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/.gitignore +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/LICENSE +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/README.md +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/hatch_build.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/__init__.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/__main__.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/argument_parser.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/__init__.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/dns.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/fasthttp.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/milvus.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/mongodb.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/mqtt.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/oai.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/postgres.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/contrib/socketio.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/debug.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/dispatch.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/env.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/event.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/exception.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/html.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/input_events.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/log.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/main.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/py.typed +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/rpc/__init__.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/rpc/protocol.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/runners.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/shape.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/stats.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/__init__.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/inspectuser.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/markov_taskset.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/sequential_taskset.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/task.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/users.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/user/wait_time.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/__init__.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/cache.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/date.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/deprecation.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/directory.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/exception_handler.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/load_locustfile.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/rounding.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/timespan.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/util/url.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/web.py +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/favicon-dark.png +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/favicon-light.png +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/graphs-dark.png +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/graphs-light.png +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/index-Mvj-aOsx.js +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/terminal.gif +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/testruns-dark.png +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/assets/testruns-light.png +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/auth.html +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/index.html +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/locust/webui/dist/report.html +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/pyproject.toml +0 -0
- {locust-2.42.4.dev30 → locust-2.42.4.dev34}/pytest_locust/plugin.py +0 -0
|
@@ -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.
|
|
32
|
-
__version_tuple__ = version_tuple = (2, 42, 4, '
|
|
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
|
-
|
|
138
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|