locust 2.31.3.dev32__tar.gz → 2.31.4__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.3.dev32 → locust-2.31.4}/PKG-INFO +1 -1
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/_version.py +2 -2
- locust-2.31.4/locust/contrib/postgres.py +45 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/stats.py +1 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/web.py +0 -3
- locust-2.31.4/locust/webui/dist/assets/favicon-dark.png +0 -0
- locust-2.31.4/locust/webui/dist/assets/favicon-light.png +0 -0
- locust-2.31.3.dev32/locust/webui/dist/assets/index-BNWeZDjF.js → locust-2.31.4/locust/webui/dist/assets/index-K5xg1SLs.js +57 -57
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/webui/dist/auth.html +3 -2
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/webui/dist/index.html +3 -2
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/webui/dist/report.html +22 -21
- {locust-2.31.3.dev32 → locust-2.31.4}/pyproject.toml +1 -1
- locust-2.31.3.dev32/locust/webui/dist/assets/favicon.png +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/LICENSE +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/README.md +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/__init__.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/__main__.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/argument_parser.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/clients.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/contrib/__init__.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/contrib/fasthttp.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/debug.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/dispatch.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/env.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/event.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/exception.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/html.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/input_events.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/log.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/main.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/py.typed +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/rpc/__init__.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/rpc/protocol.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/runners.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/shape.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/user/__init__.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/user/inspectuser.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/user/sequential_taskset.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/user/task.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/user/users.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/user/wait_time.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/__init__.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/cache.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/date.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/deprecation.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/directory.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/exception_handler.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/load_locustfile.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/rounding.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/timespan.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/locust/util/url.py +0 -0
- {locust-2.31.3.dev32 → locust-2.31.4}/pre_build.py +0 -0
@@ -14,7 +14,7 @@ __version_tuple__: VERSION_TUPLE
|
|
14
14
|
version_tuple: VERSION_TUPLE
|
15
15
|
|
16
16
|
|
17
|
-
__version__ = "2.31.
|
17
|
+
__version__ = "2.31.4"
|
18
18
|
version = __version__
|
19
|
-
__version_tuple__ = (2, 31,
|
19
|
+
__version_tuple__ = (2, 31, 4)
|
20
20
|
version_tuple = __version_tuple__
|
@@ -0,0 +1,45 @@
|
|
1
|
+
from locust import User, events
|
2
|
+
|
3
|
+
import time
|
4
|
+
|
5
|
+
import psycopg
|
6
|
+
|
7
|
+
|
8
|
+
class PostgresClient:
|
9
|
+
def __init__(self, conn_string):
|
10
|
+
self.connection = psycopg.connect(conn_string)
|
11
|
+
|
12
|
+
def execute_query(self, query):
|
13
|
+
start_time = time.time()
|
14
|
+
try:
|
15
|
+
self.connection.execute(query)
|
16
|
+
response_time = int((time.time() - start_time) * 1000)
|
17
|
+
events.request.fire(
|
18
|
+
request_type="postgres_success",
|
19
|
+
name="execute_query",
|
20
|
+
response_time=response_time,
|
21
|
+
response_length=0,
|
22
|
+
)
|
23
|
+
except Exception as e:
|
24
|
+
response_time = int((time.time() - start_time) * 1000)
|
25
|
+
events.request.fire(
|
26
|
+
request_type="postgres_failure",
|
27
|
+
name="execute_query",
|
28
|
+
response_time=response_time,
|
29
|
+
response_length=0,
|
30
|
+
exception=e,
|
31
|
+
)
|
32
|
+
|
33
|
+
def close(self):
|
34
|
+
self.connection.close()
|
35
|
+
|
36
|
+
|
37
|
+
class PostgresUser(User):
|
38
|
+
abstract = True
|
39
|
+
|
40
|
+
def __init__(self, *args, **kwargs):
|
41
|
+
super().__init__(*args, **kwargs)
|
42
|
+
self.client = PostgresClient(conn_string=self.conn_string)
|
43
|
+
|
44
|
+
def on_stop(self):
|
45
|
+
self.client.close()
|
@@ -919,6 +919,7 @@ def update_stats_history(runner: Runner) -> None:
|
|
919
919
|
"current_fail_per_sec": [timestamp, stats.total.current_fail_per_sec or 0],
|
920
920
|
"total_avg_response_time": [timestamp, proper_round(stats.total.avg_response_time, digits=2)],
|
921
921
|
"user_count": [timestamp, runner.user_count or 0],
|
922
|
+
"time": timestamp,
|
922
923
|
}
|
923
924
|
stats.history.append(r)
|
924
925
|
|
@@ -618,8 +618,6 @@ class WebUI:
|
|
618
618
|
else None
|
619
619
|
)
|
620
620
|
|
621
|
-
start_time = format_utc_timestamp(stats.start_time)
|
622
|
-
|
623
621
|
self.template_args = {
|
624
622
|
"locustfile": self.environment.locustfile,
|
625
623
|
"state": self.environment.runner.state,
|
@@ -637,7 +635,6 @@ class WebUI:
|
|
637
635
|
and not (self.userclass_picker_is_active or self.environment.shape_class.use_common_options)
|
638
636
|
),
|
639
637
|
"stats_history_enabled": options and options.stats_history_enabled,
|
640
|
-
"start_time": start_time,
|
641
638
|
"tasks": dumps({}),
|
642
639
|
"extra_options": extra_options,
|
643
640
|
"run_time": options and options.run_time,
|
Binary file
|
Binary file
|