platform: modularize api/gui, add docs-tests-web foundation, and refresh root config

This commit is contained in:
beckline
2026-03-26 22:40:54 +03:00
parent 0e2d7f61ea
commit 6a56d734c2
562 changed files with 70151 additions and 16423 deletions

View File

@@ -7,6 +7,7 @@ from typing import Callable, List
from PySide6.QtCore import Qt, QSettings
from PySide6.QtGui import QColor
from PySide6.QtWidgets import (
QCheckBox,
QDialog,
QHBoxLayout,
QLabel,
@@ -131,6 +132,14 @@ class DNSBenchmarkDialog(QDialog):
opts.addWidget(QLabel("Parallel DNS checks:"))
opts.addWidget(self.spin_concurrency)
self.chk_load_profile = QCheckBox("Load profile (realistic)")
self.chk_load_profile.setChecked(True)
self.chk_load_profile.setToolTip(
"EN: Load profile adds synthetic NX probes and burst rounds to simulate resolver pressure.\n"
"RU: Load-профиль добавляет synthetic NX-пробы и burst-раунды, чтобы симулировать нагрузку резолвера."
)
opts.addWidget(self.chk_load_profile)
self.btn_run = QPushButton("Run benchmark")
self.btn_run.clicked.connect(self.on_run_benchmark)
opts.addWidget(self.btn_run)
@@ -339,6 +348,7 @@ class DNSBenchmarkDialog(QDialog):
timeout_ms=int(self.spin_timeout.value()),
attempts=int(self.spin_attempts.value()),
concurrency=int(self.spin_concurrency.value()),
profile="load" if self.chk_load_profile.isChecked() else "quick",
)
self._render_results(resp)
if self.refresh_cb:
@@ -376,7 +386,7 @@ class DNSBenchmarkDialog(QDialog):
self.lbl_summary.setText(
f"Checked: {len(resp.results)} DNS | domains={len(resp.domains_used)} "
f"| timeout={resp.timeout_ms}ms"
f"| timeout={resp.timeout_ms}ms | profile={str(getattr(resp, 'profile', '') or 'load')}"
)
self.lbl_summary.setStyleSheet("color: gray;")