locust 2.42.4.dev23__tar.gz → 2.42.4.dev30__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.dev23 → locust-2.42.4.dev30}/PKG-INFO +2 -2
  2. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/_version.py +2 -2
  3. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/argument_parser.py +6 -0
  4. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/main.py +2 -1
  5. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/opentelemetry.py +8 -2
  6. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/pyproject.toml +1 -1
  7. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/.gitignore +0 -0
  8. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/LICENSE +0 -0
  9. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/README.md +0 -0
  10. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/hatch_build.py +0 -0
  11. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/__init__.py +0 -0
  12. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/__main__.py +0 -0
  13. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/clients.py +0 -0
  14. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/__init__.py +0 -0
  15. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/dns.py +0 -0
  16. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/fasthttp.py +0 -0
  17. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/milvus.py +0 -0
  18. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/mongodb.py +0 -0
  19. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/mqtt.py +0 -0
  20. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/oai.py +0 -0
  21. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/postgres.py +0 -0
  22. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/contrib/socketio.py +0 -0
  23. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/debug.py +0 -0
  24. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/dispatch.py +0 -0
  25. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/env.py +0 -0
  26. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/event.py +0 -0
  27. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/exception.py +0 -0
  28. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/html.py +0 -0
  29. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/input_events.py +0 -0
  30. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/log.py +0 -0
  31. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/py.typed +0 -0
  32. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/rpc/__init__.py +0 -0
  33. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/rpc/protocol.py +0 -0
  34. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/rpc/zmqrpc.py +0 -0
  35. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/runners.py +0 -0
  36. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/shape.py +0 -0
  37. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/stats.py +0 -0
  38. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/user/__init__.py +0 -0
  39. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/user/inspectuser.py +0 -0
  40. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/user/markov_taskset.py +0 -0
  41. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/user/sequential_taskset.py +0 -0
  42. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/user/task.py +0 -0
  43. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/user/users.py +0 -0
  44. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/user/wait_time.py +0 -0
  45. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/__init__.py +0 -0
  46. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/cache.py +0 -0
  47. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/date.py +0 -0
  48. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/deprecation.py +0 -0
  49. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/directory.py +0 -0
  50. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/exception_handler.py +0 -0
  51. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/load_locustfile.py +0 -0
  52. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/rounding.py +0 -0
  53. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/timespan.py +0 -0
  54. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/util/url.py +0 -0
  55. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/web.py +0 -0
  56. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/assets/favicon-dark.png +0 -0
  57. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/assets/favicon-light.png +0 -0
  58. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/assets/graphs-dark.png +0 -0
  59. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/assets/graphs-light.png +0 -0
  60. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/assets/index-Mvj-aOsx.js +0 -0
  61. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/assets/terminal.gif +0 -0
  62. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/assets/testruns-dark.png +0 -0
  63. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/assets/testruns-light.png +0 -0
  64. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/auth.html +0 -0
  65. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/index.html +0 -0
  66. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/locust/webui/dist/report.html +0 -0
  67. {locust-2.42.4.dev23 → locust-2.42.4.dev30}/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.dev23
3
+ Version: 2.42.4.dev30
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
@@ -31,7 +31,7 @@ Requires-Dist: flask-login>=0.6.3
31
31
  Requires-Dist: flask>=2.0.0
32
32
  Requires-Dist: gevent!=25.8.1,<26.0.0,>=24.10.1
33
33
  Requires-Dist: geventhttpclient>=2.3.1
34
- Requires-Dist: locust-cloud>=1.28.1
34
+ Requires-Dist: locust-cloud>=1.29.0
35
35
  Requires-Dist: msgpack>=1.0.0
36
36
  Requires-Dist: psutil>=5.9.1
37
37
  Requires-Dist: pytest<10,>=8.3.3
@@ -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.dev23'
32
- __version_tuple__ = version_tuple = (2, 42, 4, 'dev23')
31
+ __version__ = version = '2.42.4.dev30'
32
+ __version_tuple__ = version_tuple = (2, 42, 4, 'dev30')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -876,6 +876,12 @@ Typically ONLY these options (and --locustfile) need to be specified on workers,
876
876
  type=str,
877
877
  help="Set a profile to group the testruns together",
878
878
  )
879
+ other_group.add_argument(
880
+ "--otel",
881
+ action="store_true",
882
+ help="Instrument the Locust test run with OpenTelemetry.",
883
+ env_var="LOCUST_ENABLE_OPENTELEMETRY",
884
+ )
879
885
 
880
886
  user_classes_group = parser.add_argument_group("User classes")
881
887
  user_classes_group.add_argument(
@@ -202,7 +202,8 @@ def main():
202
202
  if not options.skip_log_setup:
203
203
  setup_logging(options.loglevel, options.logfile)
204
204
 
205
- setup_opentelemetry()
205
+ if options.otel:
206
+ setup_opentelemetry()
206
207
 
207
208
  children = []
208
209
  logger = logging.getLogger(__name__)
@@ -11,7 +11,7 @@ def setup_opentelemetry():
11
11
  from opentelemetry import metrics, trace
12
12
  from opentelemetry.sdk.resources import Resource
13
13
  except ImportError:
14
- logger.debug("OpenTelemetry SDK is not installed, opentelemetry not enabled. Run 'pip install locust[otel]")
14
+ logger.error("OpenTelemetry SDK is not installed, opentelemetry not enabled. Run 'pip install locust[otel]")
15
15
  return
16
16
 
17
17
  traces_exporters = set(e.strip().lower() for e in os.getenv("OTEL_TRACES_EXPORTER", "otlp").split(",") if e.strip())
@@ -129,9 +129,15 @@ def _setup_meter_provider(resource, metrics_exporters):
129
129
 
130
130
  def _setup_auto_instrumentation():
131
131
  try:
132
+ import requests
132
133
  from opentelemetry.instrumentation.requests import RequestsInstrumentor
134
+ from opentelemetry.sdk.trace import Span
133
135
 
134
- RequestsInstrumentor().instrument()
136
+ def request_hook(span: Span, request: requests.PreparedRequest):
137
+ span.update_name(f"{request.method} {request.url}")
138
+ return
139
+
140
+ RequestsInstrumentor().instrument(request_hook=request_hook)
135
141
  except ImportError:
136
142
  logger.info(
137
143
  "OpenTelemetry 'requests' instrumentation is not installed. Please install 'opentelemetry-instrumentation-requests'"
@@ -46,7 +46,7 @@ dependencies = [
46
46
  "Flask-Login>=0.6.3",
47
47
  "Flask-Cors>=3.0.10",
48
48
  "pywin32; sys_platform == 'win32'",
49
- "locust-cloud>=1.28.1",
49
+ "locust-cloud>=1.29.0",
50
50
  "gevent>=24.10.1,<26.0.0,!=25.8.1",
51
51
  "python-socketio[client]>=5.13.0",
52
52
  "python-engineio>=4.12.2",
File without changes
File without changes
File without changes