locust 2.31.7.dev2__tar.gz → 2.31.7.dev8__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.31.7.dev2 → locust-2.31.7.dev8}/PKG-INFO +1 -1
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/_version.py +2 -2
- locust-2.31.7.dev8/locust/contrib/mongodb.py +41 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/main.py +2 -2
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/web.py +10 -4
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/pyproject.toml +1 -1
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/LICENSE +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/README.md +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/__init__.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/__main__.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/argument_parser.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/clients.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/contrib/__init__.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/contrib/fasthttp.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/contrib/postgres.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/debug.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/dispatch.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/env.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/event.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/exception.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/html.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/input_events.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/log.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/py.typed +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/rpc/__init__.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/rpc/protocol.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/runners.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/shape.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/stats.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/user/__init__.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/user/inspectuser.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/user/sequential_taskset.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/user/task.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/user/users.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/user/wait_time.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/__init__.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/cache.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/date.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/deprecation.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/directory.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/exception_handler.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/load_locustfile.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/rounding.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/timespan.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/util/url.py +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/webui/dist/assets/favicon-dark.png +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/webui/dist/assets/favicon-light.png +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/webui/dist/assets/index-DQd3Odi5.js +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/webui/dist/auth.html +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/webui/dist/index.html +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/locust/webui/dist/report.html +0 -0
- {locust-2.31.7.dev2 → locust-2.31.7.dev8}/poetry.lock +0 -0
@@ -14,7 +14,7 @@ __version_tuple__: VERSION_TUPLE
|
|
14
14
|
version_tuple: VERSION_TUPLE
|
15
15
|
|
16
16
|
|
17
|
-
__version__ = "2.31.7.
|
17
|
+
__version__ = "2.31.7.dev8"
|
18
18
|
version = __version__
|
19
|
-
__version_tuple__ = (2, 31, 7, "
|
19
|
+
__version_tuple__ = (2, 31, 7, "dev8")
|
20
20
|
version_tuple = __version_tuple__
|
@@ -0,0 +1,41 @@
|
|
1
|
+
from locust import User, events
|
2
|
+
|
3
|
+
import time
|
4
|
+
|
5
|
+
from pymongo import MongoClient
|
6
|
+
from pymongo.errors import PyMongoError
|
7
|
+
|
8
|
+
|
9
|
+
class MongoDBClient(MongoClient):
|
10
|
+
def __init__(self, conn_string, db_name):
|
11
|
+
super().__init__(conn_string)
|
12
|
+
self.db = self.client[db_name]
|
13
|
+
|
14
|
+
def execute_query(self, collection_name, query):
|
15
|
+
start_time = time.time()
|
16
|
+
try:
|
17
|
+
collection = self.db[collection_name]
|
18
|
+
collection.find(query)
|
19
|
+
|
20
|
+
response_time = int((time.time() - start_time) * 1000)
|
21
|
+
events.request.fire(request_type="MONGODB", name="QUERY", response_time=response_time, response_length=0)
|
22
|
+
except PyMongoError as e:
|
23
|
+
response_time = int((time.time() - start_time) * 1000)
|
24
|
+
events.request.fire(
|
25
|
+
request_type="MONGODB",
|
26
|
+
name="QUERY",
|
27
|
+
response_time=response_time,
|
28
|
+
response_length=0,
|
29
|
+
exception=e,
|
30
|
+
)
|
31
|
+
|
32
|
+
|
33
|
+
class MongoDBUser(User):
|
34
|
+
abstract = True
|
35
|
+
|
36
|
+
def __init__(self, *args, **kwargs):
|
37
|
+
super().__init__(*args, **kwargs)
|
38
|
+
self.client = MongoDBClient(conn_string=self.conn_string, db_name=self.db_name)
|
39
|
+
|
40
|
+
def on_stop(self):
|
41
|
+
self.client.close()
|
@@ -199,6 +199,8 @@ def main():
|
|
199
199
|
sys.exit(1)
|
200
200
|
|
201
201
|
children = []
|
202
|
+
logger = logging.getLogger(__name__)
|
203
|
+
logger.info(f"Starting Locust {version}")
|
202
204
|
|
203
205
|
if options.processes:
|
204
206
|
if os.name == "nt":
|
@@ -298,7 +300,6 @@ def main():
|
|
298
300
|
|
299
301
|
atexit.register(kill_workers, children)
|
300
302
|
|
301
|
-
logger = logging.getLogger(__name__)
|
302
303
|
greenlet_exception_handler = greenlet_exception_logger(logger)
|
303
304
|
|
304
305
|
if options.stop_timeout:
|
@@ -686,7 +687,6 @@ See https://github.com/locustio/locust/wiki/Installation#increasing-maximum-numb
|
|
686
687
|
gevent.signal_handler(signal.SIGTERM, sig_term_handler)
|
687
688
|
|
688
689
|
try:
|
689
|
-
logger.info(f"Starting Locust {version}")
|
690
690
|
if options.class_picker:
|
691
691
|
logger.info("Locust is running with the UserClass Picker Enabled")
|
692
692
|
if options.autostart and not options.headless:
|
@@ -135,6 +135,11 @@ class WebUI:
|
|
135
135
|
# ensures static js files work on Windows
|
136
136
|
mimetypes.add_type("application/javascript", ".js")
|
137
137
|
|
138
|
+
if self.web_login:
|
139
|
+
self._login_manager = LoginManager()
|
140
|
+
self._login_manager.init_app(self.app)
|
141
|
+
self._login_manager.login_view = "login"
|
142
|
+
|
138
143
|
if environment.runner:
|
139
144
|
self.update_template_args()
|
140
145
|
if not delayed_start:
|
@@ -516,13 +521,14 @@ class WebUI:
|
|
516
521
|
@property
|
517
522
|
def login_manager(self):
|
518
523
|
if self.web_login:
|
519
|
-
|
520
|
-
login_manager.init_app(self.app)
|
521
|
-
login_manager.login_view = "login"
|
522
|
-
return login_manager
|
524
|
+
return self._login_manager
|
523
525
|
|
524
526
|
raise AttributeError("The login_manager is only available with --web-login.\n")
|
525
527
|
|
528
|
+
@login_manager.setter
|
529
|
+
def login_manager(self, value):
|
530
|
+
self._login_manager = value
|
531
|
+
|
526
532
|
def start(self):
|
527
533
|
self.greenlet = gevent.spawn(self.start_server)
|
528
534
|
self.greenlet.link_exception(greenlet_exception_handler)
|
@@ -5,7 +5,7 @@ build-backend = "poetry_dynamic_versioning.backend"
|
|
5
5
|
[tool.poetry]
|
6
6
|
name = "locust"
|
7
7
|
description = "Developer-friendly load testing framework"
|
8
|
-
version = "2.31.7.
|
8
|
+
version = "2.31.7.dev8"
|
9
9
|
license = "MIT"
|
10
10
|
readme = "README.md"
|
11
11
|
authors = ["Jonatan Heyman", "Lars Holmberg"]
|
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
|