locust 2.31.3.dev12__tar.gz → 2.31.3.dev29__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 (50) hide show
  1. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/PKG-INFO +1 -1
  2. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/_version.py +2 -2
  3. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/main.py +9 -1
  4. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/stats.py +9 -6
  5. locust-2.31.3.dev12/locust/webui/dist/assets/index-emM06y0q.js → locust-2.31.3.dev29/locust/webui/dist/assets/index-BNWeZDjF.js +52 -52
  6. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/webui/dist/auth.html +2 -2
  7. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/webui/dist/index.html +1 -1
  8. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/webui/dist/report.html +46 -46
  9. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/pyproject.toml +1 -1
  10. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/LICENSE +0 -0
  11. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/README.md +0 -0
  12. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/__init__.py +0 -0
  13. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/__main__.py +0 -0
  14. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/argument_parser.py +0 -0
  15. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/clients.py +0 -0
  16. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/contrib/__init__.py +0 -0
  17. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/contrib/fasthttp.py +0 -0
  18. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/debug.py +0 -0
  19. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/dispatch.py +0 -0
  20. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/env.py +0 -0
  21. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/event.py +0 -0
  22. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/exception.py +0 -0
  23. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/html.py +0 -0
  24. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/input_events.py +0 -0
  25. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/log.py +0 -0
  26. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/py.typed +0 -0
  27. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/rpc/__init__.py +0 -0
  28. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/rpc/protocol.py +0 -0
  29. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/rpc/zmqrpc.py +0 -0
  30. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/runners.py +0 -0
  31. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/shape.py +0 -0
  32. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/user/__init__.py +0 -0
  33. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/user/inspectuser.py +0 -0
  34. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/user/sequential_taskset.py +0 -0
  35. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/user/task.py +0 -0
  36. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/user/users.py +0 -0
  37. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/user/wait_time.py +0 -0
  38. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/__init__.py +0 -0
  39. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/cache.py +0 -0
  40. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/date.py +0 -0
  41. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/deprecation.py +0 -0
  42. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/directory.py +0 -0
  43. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/exception_handler.py +0 -0
  44. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/load_locustfile.py +0 -0
  45. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/rounding.py +0 -0
  46. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/timespan.py +0 -0
  47. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/util/url.py +0 -0
  48. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/web.py +0 -0
  49. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/locust/webui/dist/assets/favicon.png +0 -0
  50. {locust-2.31.3.dev12 → locust-2.31.3.dev29}/pre_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.31.3.dev12
3
+ Version: 2.31.3.dev29
4
4
  Summary: Developer-friendly load testing framework
5
5
  Home-page: https://locust.io/
6
6
  License: MIT
@@ -14,7 +14,7 @@ __version_tuple__: VERSION_TUPLE
14
14
  version_tuple: VERSION_TUPLE
15
15
 
16
16
 
17
- __version__ = "2.31.3.dev12"
17
+ __version__ = "2.31.3.dev29"
18
18
  version = __version__
19
- __version_tuple__ = (2, 31, 3, "dev12")
19
+ __version_tuple__ = (2, 31, 3, "dev29")
20
20
  version_tuple = __version_tuple__
@@ -391,9 +391,17 @@ See https://github.com/locustio/locust/wiki/Installation#increasing-maximum-numb
391
391
  ensure_user_class_name(user_config)
392
392
 
393
393
  environment.update_user_class(user_config)
394
- except Exception as e:
394
+ except json.decoder.JSONDecodeError as e:
395
395
  logger.error(f"The --config-users argument must be in valid JSON string or file: {e}")
396
396
  sys.exit(-1)
397
+ except KeyError as e:
398
+ logger.error(
399
+ f"Error applying user config, probably you tried to specify config for a User not present in your locustfile: {e}"
400
+ )
401
+ sys.exit(-1)
402
+ except Exception as e:
403
+ logger.exception(e)
404
+ sys.exit(-1)
397
405
 
398
406
  if (
399
407
  shape_class
@@ -904,18 +904,21 @@ def sort_stats(stats: dict[Any, S]) -> list[S]:
904
904
 
905
905
  def update_stats_history(runner: Runner) -> None:
906
906
  stats = runner.stats
907
+ timestamp = format_utc_timestamp(time.time())
907
908
  current_response_time_percentiles = {
908
- f"response_time_percentile_{percentile}": stats.total.get_current_response_time_percentile(percentile) or 0
909
+ f"response_time_percentile_{percentile}": [
910
+ timestamp,
911
+ stats.total.get_current_response_time_percentile(percentile) or 0,
912
+ ]
909
913
  for percentile in PERCENTILES_TO_CHART
910
914
  }
911
915
 
912
916
  r = {
913
917
  **current_response_time_percentiles,
914
- "time": format_utc_timestamp(time.time()),
915
- "current_rps": stats.total.current_rps or 0,
916
- "current_fail_per_sec": stats.total.current_fail_per_sec or 0,
917
- "total_avg_response_time": proper_round(stats.total.avg_response_time, digits=2),
918
- "user_count": runner.user_count or 0,
918
+ "current_rps": [timestamp, stats.total.current_rps or 0],
919
+ "current_fail_per_sec": [timestamp, stats.total.current_fail_per_sec or 0],
920
+ "total_avg_response_time": [timestamp, proper_round(stats.total.avg_response_time, digits=2)],
921
+ "user_count": [timestamp, runner.user_count or 0],
919
922
  }
920
923
  stats.history.append(r)
921
924