fix(uptime): проверить RTT через SQL и обновить тестовый стенд

This commit is contained in:
Denozordec committed 2026-10-12 18:21:50 +07:00
1 parent ca2b634743
commit ebe62ae2ef
11 files changed
+1173 -14

No files matched your search

+11 -1
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-12: завершён локальный12.5.176 — Ping RTT parser учитывает compound s/ms/us и отвергает numeric-prefix garbage; test:probes/backend build и offline replay2 native CHR payloads прошли. Стенд backend ux-traffic175/frontend ux-ping173;176 ещё не deployed. Следующий177 — owned SQL/HTTP Ping regression и backend deploy176 с compiled parity/health/browser. Legacy counters/history freshness и полная12.5 остаются открыты.
Актуальное продолжение 2026-10-12: завершён12.5.177 — parser176 проверен real HTTP client→owned PG→GET observations:10 SQL cases/test:probes24383ms, compound54/garbage unknown; ownDB/role/container удалены. Backend ux-rtt177 healthy/frontend ux-ping173,1024 compiled parity/2live UI passed. Следующий178 — аудит failed traffic attempts/history freshness и legacy counters;12.5 открыта.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -38,6 +38,16 @@
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–168 и ограничения ниже. Runtime backend ux-month149/frontend ux-sessions150. |
## 12.5.177 — SQL-регрессия составного RTT и обновление стенда (2026-10-12)
Ping ownSQL173 расширен двумя controls: summary53ms900us сохраняется как RTT54ms/loss0; raw53bad без подтверждённых counts/loss сохраняется как unknown/null/error. Остальные8 controls сохранены:401/empty/manual/actual100%/zero/API/legacy exact provenance/disabled no outbound. Node22/PG18.6 полный test:probes прошёл24383ms,10 SQL cases без skip. Тесты используют настоящий MikrotikClient к локальному HTTP simulator и действующий collector/PG observations; физический RouterOS malformed response не создавался. Native replay2 выполнен локально176; в удалённом test image evidence file отсутствует и replay явно skipped, не выдан за повторную physical проверку. [SQL](ux-ui/acceptance/ping-duration-sql-2026-10-12.json).
Временная ownDB mm_accept_166_1791803917983 и ограниченная роль удалены trap; отсутствие проверено PG-каталогами, отсутствие test container — docker inventory. Рабочие DB/JWT secrets не копировались. Новая backend image ux-rtt177/version1.0.0-test.rtt177 собрана поверх ux-traffic175; [1024 compiled files](ux-ui/acceptance/ping-duration-compiled-2026-10-12.json) совпали с локальными SHA256/missing0/different0. В.env изменён только BACKEND_IMAGE_TAG; rollback tag ux-traffic175. [Runtime](ux-ui/acceptance/ping-duration-runtime-2026-10-12.json): backend healthy, frontend ux-ping173 running, imageIds совпали.
[Live UI1440/320](ux-ui/acceptance/ping-duration-deployed-2026-10-12.json) прошёл: uptime overview200, unknown filter, no overflow/pageerrors. Actual production probes catalog пустой — эта smoke проверка не изображает main compound/error sample; они подтверждены отдельной ownSQL. Новых native Ping/config/password/Telegram операций не выполнялось. Пароли CHR не менялись. Исправления Ping173/176 и traffic174–175 теперь совместно доступны на тестовом backend; UI layout не менялся.
Следующий178 — read-only audit traffic history freshness при failed collection и legacy invalid-counter provenance; не объявлять старые неоднозначные строки исправленными по новому producer guard. Source unconfirmed/missing diagnostics, summary loss/count consistency, scale/multi-backend, физические WAN и внешние интеграции остаются условиями12.5. Журнал/план синхронизированы; локальный коммит без push. Новых блоков до следующего окна не начинать.
## 12.5.176 — точность составных длительностей Ping RTT (2026-10-12)
В native payloads173 обоих CHR есть53ms561us и другие ms/us. Прежний parseFloat fallback терял microsecond component; например53ms900us превращалось в53ms вместо rounded54ms,1s53ms561us — в1ms вместо1054ms. parsePingTimeMs теперь разбирает ordered s/ms/us, простые decimal units, comma decimal, clock c minute/second<60 и полную bare millisecond numeric string; duplicate/reverse units, negative, exponent, unknown suffix и numeric-prefix garbage возвращаютnull. Значения хранят дробную точность до прежнего integer rounding общего RTT. Success-reply fallback теперь требует валидную duration; garbage time без explicit counts/loss не изображает успешное измерение. Summary с подтверждённым packet loss может иметь RTTnull — loss от этого не подменяется.