fix(traffic): сохранять историю отключённых интерфейсов
This commit is contained in:
1 parent
c69d99ba80
commit
a40b26c3c5
16 files changed
+1763
-14
No files matched your search
+18
-1
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-12: завершён12.5.183 — причина optional WireGuard peer failure сохраняется и показывается, подтверждённые interface rates не маскируются. OwnSQL53/37478ms/4E2E11.2s/types/build/ESLint/source455+524/1040compiled/API/UI passed. Both ux-warning183 healthy/running; ownDB/role/container удалены. Следующий184 — покрытие истории при пропусках/смене идентичности;12.5 открыта.
|
||||
Актуальное продолжение 2026-10-12: завершён12.5.184 — история и учтённые объёмы сервера не исчезают после inactive/disabled interface. Baseline/fixed3,ownSQL55/36245ms/backend build/source455+524/1040compiled/API/browser2 passed. Backend ux-history184 healthy, frontend ux-warning183 без изменений; ownDB/role/container удалены. Следующий185 — непрерывность периода/идентичность интерфейса;12.5 открыта.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -38,6 +38,23 @@
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–168 и ограничения ниже. Runtime backend ux-month149/frontend ux-sessions150. |
|
||||
|
||||
## 12.5.184 — сохранение истории после отключения интерфейса (2026-10-12)
|
||||
|
||||
[Read-only baseline](ux-ui/acceptance/traffic-membership-baseline-2026-10-12.json) воспроизвёл потерю истории: ether1 имеет2048 known bytes, ether2 — measured0; когда последнее состояние ether1 inactive или disabled, серверная сумма становится0, тогда как explicit interface detail сохраняет2048. Active control даёт2048 в обоих случаях. Это следствие фильтра по последнему running/disabled, а не ошибка RouterOS counters.
|
||||
|
||||
Исторический builder больше не исключает весь ряд или delta по состоянию линка на конце интервала. Валидные соседние counter deltas учитываются независимо от последнего link state. Статусы/число активных sessions по-прежнему зависят от native running/disabled. Live monitor/collector snapshot sum и правила исключения loopback/peer остаются прежними. Rate из истории — среднее между counter measurements; это не instantaneous native live rate и не доказательство доступности линка. Reset/unknown counter pair не добавляет bytes.
|
||||
|
||||
| Сценарий | До | После |
|
||||
| --- | --- | --- |
|
||||
| inactive/disabled ether1 + active ether2 с0bytes | общая сумма0, detail2048 | сумма/detail2048, sessions1 |
|
||||
| оба active | сумма/detail2048 |2048 без изменения |
|
||||
|
||||
[Fixed formulas](ux-ui/acceptance/traffic-membership-fixed-2026-10-12.json):3 control cases, input rows/source SHA сохранены; no device/DB writes. [Own PG](ux-ui/acceptance/traffic-membership-sql-2026-10-12.json):55 cases9counter+14history+10TCP SSE+8volume+14status,36245ms, без skip.2 новых SQL cases проверяют GET server detail+summary, known history/peak и sessions1 после inactive/disabled last sample; seeded legacy counter-known flags не заявлены native status proof. Own namespace/role/container удалены и отсутствие проверено.
|
||||
|
||||
Backend TypeScript/build, [source455/524](ux-ui/acceptance/traffic-membership-source-2026-10-12.json), [compiled1040](ux-ui/acceptance/traffic-membership-compiled-2026-10-12.json) SHA256 parity passed. Backend ux-history184 [healthy/imageId verified](ux-ui/acceptance/traffic-membership-runtime-2026-10-12.json), frontend ux-warning183 без исходных изменений/повторной сборки. Только backend.env tag; rollback both ux-warning183. [Actual API](ux-ui/acceptance/traffic-membership-api-2026-10-12.json)/[production browser1440/320](ux-ui/acceptance/traffic-membership-deployed-2026-10-12.json) passed с actual live/receipt labels, без ошибок/overflow. Checker не менял credentials/config и не отключал реальные интерфейсы CHR.2 CHR доступны по последнему native182; новые native commands API-checker0, messages0.
|
||||
|
||||
Следующий185 — оценка покрытия периода при пропусках и смене идентичности/пересоздании интерфейса. Подтверждённые bytes остаются учтённым объёмом, не полным billing за период; восстановление идентичности по одному имени не доказано.12.5/внешние интеграции открыты. Локальный коммит без push.
|
||||
|
||||
## 12.5.183 — понятная причина частичного сбоя peer-опроса (2026-10-12)
|
||||
|
||||
Optional WireGuard peer error больше не исчезает в catch. Collector сохраняет причину в текущей записи traffic_collection_state, snapshot.warning и trafficSettings.lastError. Успешный interface poll остаётся status=ok: известные interface скорости/история не теряются из-за ошибки отдельного peer endpoint. Перезапуск с корректным peer ответом очищает прежнюю причину.
|
||||
|
||||
Reference in new issue
Block a user