27 lines
3.1 KiB
Markdown
27 lines
3.1 KiB
Markdown
# Итог: кликабельные индикаторы pass, partial, fail в «Аналитике»
|
|||
|
|
|
||
|
|
План: [2026-10-04_09-55_analytics-verdict-indicators-plan.md](2026-10-04_09-55_analytics-verdict-indicators-plan.md).
|
||
|
|
Статус: код написан и проверен (gofmt, build, vet, test, синтаксис JS); стенд **не пересобирался**.
|
||
|
|
|
||
|
|
## Что изменено
|
||
|
|
|
||
|
|
- **control-api** (`internal/analytics/lists.go`): виды списков `verdict_pass`, `verdict_partial`, `verdict_fail`. Строки: адреса запуска с этим вердиктом, без `cancelled`, по числовому порядку. Столбцы: Адрес, Подсеть, Валидатор, Egress, Ingress, «Проверок в цикле»; у `partial` ещё «Причина» (та же формула, что в блоке «Почему partial»). Число строк равно `summary.pass/partial/fail`.
|
||
|
|
- Метод `addr.incomplete()` (`analytics.go`): «неполный набор» считается одним кодом для списка и для отчёта; логика отчёта не менялась.
|
||
|
|
- **Дашборд** (`analytics.js`): плитки `pass`, `partial`, `fail` стали кнопками со списком и «список →»; `fail` с нулём остаётся некликабельной. В `LISTS` три записи с пояснением и подсказками к столбцам. Диалог, CSS и прокси дашборда не менялись.
|
||
|
|
- **Документы**: `API.md`, `USAGE.md`, `DASHBOARD.md`, `README.md`.
|
||
|
|
|
||
|
|
## Особенности
|
||
|
|
|
||
|
|
- «Валидатор» берётся по https-проверкам (как в списках https): у адреса без https-проверок он «—».
|
||
|
|
- «Проверок в цикле» при неизвестном ожидаемом числе (`-1`) — только записанное.
|
||
|
|
- Вердикт — оценка системы при агрегации; Egress/Ingress в списке показывают фактические проверки. Пояснение есть в диалоге.
|
||
|
|
|
||
|
|
## Проверки
|
||
|
|
|
||
|
|
- `gofmt -l` пусто (одно выравнивание в тесте поправлено), `go build ./...`, `go vet ./...`, `go test ./...` — все пакеты `ok`; синтаксис `analytics.js` проверен.
|
||
|
|
- Новые тесты: `TestVerdictLists` (инвариант «строк = summary», отмена, порядок, столбцы, «—», неполный набор, причина совпадает с `reasons`); `TestAnalyticsEndpoints` расширен (JSON, CSV `verdict_partial_run<N>.csv`, `404` на неизвестный вид).
|
||
|
|
- Не проверено: открытие диалога в браузере и скорость окна на списке pass (нужна выкладка).
|
||
|
|
|
||
|
|
## Выкладка
|
||
|
|
|
||
|
|
Не выполнена. Нужны пересборка и перезапуск `control-api` и `admin-dashboard` (статика встроена в бинарник); миграций нет.
|