mite 2.5.0__tar.gz → 2.5.2__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.
- {mite-2.5.0 → mite-2.5.2}/Dockerfile +1 -1
- {mite-2.5.0 → mite-2.5.2}/PKG-INFO +1 -1
- {mite-2.5.0 → mite-2.5.2}/docker_compose.yml +1 -1
- {mite-2.5.0 → mite-2.5.2}/mite/cli/test.py +14 -8
- {mite-2.5.0 → mite-2.5.2}/mite/runner.py +10 -2
- {mite-2.5.0 → mite-2.5.2}/mite.egg-info/PKG-INFO +1 -1
- {mite-2.5.0 → mite-2.5.2}/test-requirements.txt +2 -1
- {mite-2.5.0 → mite-2.5.2}/.dockerignore +0 -0
- {mite-2.5.0 → mite-2.5.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/.github/pull_request_template.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/.gitignore +0 -0
- {mite-2.5.0 → mite-2.5.2}/.isort.cfg +0 -0
- {mite-2.5.0 → mite-2.5.2}/.pre-commit-config.yaml +0 -0
- {mite-2.5.0 → mite-2.5.2}/.travis.yml +0 -0
- {mite-2.5.0 → mite-2.5.2}/CODE_OF_CONDUCT.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/CONTRIBUTING.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/DEV.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/Dockerfile.perftest +0 -0
- {mite-2.5.0 → mite-2.5.2}/LICENSE +0 -0
- {mite-2.5.0 → mite-2.5.2}/MANIFEST.in +0 -0
- {mite-2.5.0 → mite-2.5.2}/README.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/cd-scripts/cdBuild-1.sh +0 -0
- {mite-2.5.0 → mite-2.5.2}/cd-scripts/cdRelease.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/cd-scripts/cdTagRelease.sh +0 -0
- {mite-2.5.0 → mite-2.5.2}/cd-scripts/runTests.sh +0 -0
- {mite-2.5.0 → mite-2.5.2}/cd.yml +0 -0
- {mite-2.5.0 → mite-2.5.2}/dev-requirements.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/docker_compose_monitoring.yml +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/Makefile +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/components.rst +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/conf.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/config.rst +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/design-deployment.rst +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/index.rst +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/journeys.rst +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/notes.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/prometheus.rst +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/stats.rst +0 -0
- {mite-2.5.0 → mite-2.5.2}/docs/volume-model.rst +0 -0
- {mite-2.5.0 → mite-2.5.2}/grafana/Dockerfile +0 -0
- {mite-2.5.0 → mite-2.5.2}/grafana/config.ini +0 -0
- {mite-2.5.0 → mite-2.5.2}/grafana/provisioning/dashboards/dashboards.yml +0 -0
- {mite-2.5.0 → mite-2.5.2}/grafana/provisioning/dashboards/grafana_dashboard_template.json +0 -0
- {mite-2.5.0 → mite-2.5.2}/grafana/provisioning/dashboards/mite_docker.json +0 -0
- {mite-2.5.0 → mite-2.5.2}/grafana/provisioning/datasources/datasources.yml +0 -0
- {mite-2.5.0 → mite-2.5.2}/local/Makefile +0 -0
- {mite-2.5.0 → mite-2.5.2}/local/README.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/local/demo.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/local/run_mite.sh +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/__main__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/cli/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/cli/cat.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/cli/collector.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/cli/common.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/cli/duplicator.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/cli/receiver.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/cli/stats.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/collector.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/config.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/context.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/controller.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/datapools.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/example.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/exceptions.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/har_to_mite.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/logoutput.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/nanomsg.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/recorder.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/s3datapools.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/scenario.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/stats.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/test.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/utils.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/volume_model.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/web/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/web/prometheus.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite/zmq.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite.egg-info/SOURCES.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite.egg-info/dependency_links.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite.egg-info/entry_points.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite.egg-info/requires.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite.egg-info/top_level.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_amqp/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_browser/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/README.md +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/mux.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/stats.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/conftest.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/foo_service/Foo-remote +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/foo_service/Foo.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/foo_service/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/foo_service/constants.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/foo_service/ttypes.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/foo_service.thrift +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/test_integration.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/test_mux.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/tests/test_thrift.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_finagle/thrift.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_http/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_http/stats.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_kafka/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_kafka/mite_kafka_example.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_kafka/stats.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_selenium/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_selenium/stats.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/mite_websocket/__init__.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/prometheus/Dockerfile +0 -0
- {mite-2.5.0 → mite-2.5.2}/prometheus/prometheus_config_docker.yml +0 -0
- {mite-2.5.0 → mite-2.5.2}/prometheus/prometheus_config_template.yml +0 -0
- {mite-2.5.0 → mite-2.5.2}/pyproject.toml +0 -0
- {mite-2.5.0 → mite-2.5.2}/requirements.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/setup.cfg +0 -0
- {mite-2.5.0 → mite-2.5.2}/setup.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/legacy.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/mocks/mock_collector.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/mocks/mock_context.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/mocks/mock_direct_receiver.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/mocks/mock_direct_runner_transport.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/mocks/mock_recorder_msg_http.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/mocks/mock_selenium.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/mocks/mock_sender.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/perf/.gitignore +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/perf/http_server.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/perf/http_server_aiohttp.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/perf/mite_perftest.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/perf/perftest.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/perf/run-perftest.sh +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/perf/test-requirements.txt +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test.har +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_collector.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_config.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_context.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_controller.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_datapools.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_har_to_mite.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_logging.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_mite_amqp.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_mite_browser.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_mite_http.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_mite_kafka.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_mite_utils.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_mite_websockets.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_prometheus_mite.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_recorder.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_runner.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_runner_tracker.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_scenario.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_stats.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_volume_model.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_webdriver.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test/test_work_tracker.py +0 -0
- {mite-2.5.0 → mite-2.5.2}/test.har +0 -0
- {mite-2.5.0 → mite-2.5.2}/tox.ini +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# this stops the requirement for rust be dragged in (causing much "fun" in so far as the image size bloats
|
|
3
3
|
# to approx 2Gb!)
|
|
4
4
|
|
|
5
|
-
FROM python:3.11-alpine3.
|
|
5
|
+
FROM python:3.11.13-alpine3.22
|
|
6
6
|
|
|
7
7
|
# py3-cryptography is added here as a means to get python cryptography onto the image (prebuilt) and without
|
|
8
8
|
# need to install rust compiler
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import gc
|
|
3
3
|
import logging
|
|
4
|
-
import sys
|
|
5
4
|
import time
|
|
6
5
|
import tracemalloc
|
|
7
6
|
|
|
@@ -159,10 +158,20 @@ def test_scenarios(test_name, opts, scenarios, config_manager):
|
|
|
159
158
|
|
|
160
159
|
loop.run_until_complete(asyncio.wait(tasks, return_when=asyncio.FIRST_COMPLETED))
|
|
161
160
|
|
|
162
|
-
http_stats_output._scenarios_completed_time = time.time()
|
|
163
|
-
|
|
164
161
|
# Run one last report before exiting
|
|
165
162
|
controller.report(receiver.recieve)
|
|
163
|
+
# Close any open file handles and release resources after exiting the event loop
|
|
164
|
+
del receiver._raw_listeners
|
|
165
|
+
del receiver._listeners
|
|
166
|
+
|
|
167
|
+
# Check for exceptions inside the tasks
|
|
168
|
+
for task in tasks:
|
|
169
|
+
if task.done() and task.exception():
|
|
170
|
+
ex = task.exception()
|
|
171
|
+
tb = ex.__traceback__
|
|
172
|
+
raise ex.with_traceback(tb)
|
|
173
|
+
|
|
174
|
+
http_stats_output._scenarios_completed_time = time.time()
|
|
166
175
|
has_error = False
|
|
167
176
|
|
|
168
177
|
if int(opts.get("--max-errors-threshold")) < http_stats_output.error_total:
|
|
@@ -208,11 +217,8 @@ def test_scenarios(test_name, opts, scenarios, config_manager):
|
|
|
208
217
|
f"Response time at {percentile}th percentile exceeded {threshold}ms: {time_unit_format(result)}"
|
|
209
218
|
)
|
|
210
219
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
del receiver._listeners
|
|
214
|
-
|
|
215
|
-
sys.exit(int(has_error))
|
|
220
|
+
if has_error:
|
|
221
|
+
raise Exception("Mite test failed")
|
|
216
222
|
|
|
217
223
|
|
|
218
224
|
def human_readable_bytes(size):
|
|
@@ -102,12 +102,20 @@ class Runner:
|
|
|
102
102
|
done, pending = await asyncio.wait(
|
|
103
103
|
(sleep1, sleep2, run), return_when=asyncio.FIRST_COMPLETED
|
|
104
104
|
)
|
|
105
|
+
|
|
106
|
+
# Interrupt sleeps as we are done waiting
|
|
107
|
+
sleep1.cancel()
|
|
108
|
+
sleep2.cancel()
|
|
109
|
+
|
|
105
110
|
if run not in done:
|
|
106
111
|
logger.error(
|
|
107
112
|
"Runner.run finished waiting on tasks, but the run loop wasn't complete!"
|
|
108
113
|
)
|
|
109
|
-
|
|
110
|
-
|
|
114
|
+
# if run is in done, check if it is because of an exception
|
|
115
|
+
elif run.exception():
|
|
116
|
+
ex = run.exception()
|
|
117
|
+
tb = ex.__traceback__
|
|
118
|
+
raise ex.with_traceback(tb)
|
|
111
119
|
|
|
112
120
|
async def _run(self):
|
|
113
121
|
context_id_gen = count(1)
|
|
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
|
{mite-2.5.0 → mite-2.5.2}/DEV.md
RENAMED
|
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
|
{mite-2.5.0 → mite-2.5.2}/cd.yml
RENAMED
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|