Files
MikrotikManager/docs/ux-ui-stage-8.md
T

7.5 KiB

Этап 8: трафик и статистика

Основа: установленные ReUI PRO/base-nova, Frame, KpiStatGrid, DataGrid, Filters и DateSelector. Каждый законченный блок — профильные проверки, журнал и локальный коммит без push.

Блок Результат Приёмка
8.1 Данные статистики привязаны к периоду/срезу; ошибка не равна нулю; повтор запроса Задержка нового периода, 403/500, успешный пустой ответ, поздний ответ
8.2 Валидные периоды, URL-контекст, единицы Ошибочные даты, история, срезы и pivot
8.3 Разделение live и истории трафика; состояния потока и polling Разрыв SSE, смена интерфейса/периода, неизвестные значения и гонки
8.4 Связь графиков/таблиц и мобильная приёмка Общий период/объект, пустые состояния, 320/390/1440 px
Область Референс Схема
Фильтры и таблицы Data Grid Filtering 2 Период → срез → график → строки того же запроса
Сводка Stats 12 Контекст → подтверждённые метрики → детали
[Период] [Срезы] [История / live]
         ↓ один контекст запроса
[Загрузка / Ошибка + повтор / Подтверждённые данные]
[Метрики] → [График] → [Таблица] → [Уточнить срез]

Исходные наблюдения 2026-09-23:

  • Statistics оставляет прежний data/pivot до ответа нового запроса; catch подставляет EMPTY, совмещая ошибку с нулями и «Нет данных куба».
  • readRange сравнивает строки без строгой проверки даты; parseYmd нормализует несуществующие дни через JavaScript Date. Проверить в 8.2.
  • useTrafficLive требует отдельной проверки завершения SSE и позднего ответа после abort в 8.3; это пока риск, а не доказанный дефект UI.
  • Реальный IPFIX/RouterOS недоступен локально. HTTP/SSE-моки не доказывают сбор и точность сетевой телеметрии.

Промежуточная приёмка 2026-09-28 (блок 8.5)

Проверка Результат и границы
Периоды, URL и срезы статистики 12 браузерных и 10 модульных проверок прошли; ошибки и некорректные параметры не становятся пустым/расширенным отчётом
Трафик: REST, SSE, гонки и время получения 41 браузерный сценарий прошёл: детали, списки, flow, разрывы графиков, поздние ответы, ошибки, временные подписи
Смена backend 3 сценария отдельной конфигурации прошли (трафик и два Ping); переход через настройки размонтирует экран
ReUI и адаптивность Сохранены Frame/KpiStatGrid/DataGrid; профильные проверки 320/390/1440 проходят; осмотрен месячный flow на 390px. Полный аудит клавиатуры/скринридера ещё не выполнен
Недостоверная сводка flow Убрана подстановка общих метрик коллектора вместо выбранного среза при ошибке/загрузке. Она также неверно переводила bytesPerMin в бит/с без деления на 60. Теперь три метрики среза показывают «—», доступное количество экспортёров сохраняется
Действия и подписи Неработающая кнопка «Экспорт» удалена. RX/TX больше не называются «сейчас», поскольку данные могут быть историческими; источник и временные отметки остаются рядом

Этап 8 пока не закрыт. Следующий блок — обработка молчащего открытого SSE: после прекращения валидных sample нельзя бесконечно показывать live; сохранить последнее значение/время, обозначить отсутствие обновлений, проверить возобновление и смену контекста. Порог определить по фактической частоте backend и проверить управляемыми часами.

После этого требуется итоговое решение по месячному отчёту: текущий список экспортёров охватывает только 24 часа, архивные серверы и прошлые месяцы недоступны. Экспорт трафика не реализован. Проверку CRLF/heartbeat и единичной точки основного графика включить в оставшийся аудит, затем закончить ReUI/accessibility checklist. Реальные RouterOS, JWT и IPFIX не проверены локальными HTTP/SSE-моками.

Обновление 8.6 (2026-09-28): молчащий SSE обработан в обоих hook — 15 секунд без валидного sample снимают live, сохраняя данные; следующий sample восстанавливает live. 24 прежних и 2 новых сценария прошли, как и lint/build. Следующий шаг — оставшийся аудит CRLF/heartbeat, первого sample, единичной точки графика и месячных ограничений; этап пока открыт.

Обновление 8.7 (2026-09-28): LF/CRLF и комментарий перед event поддержаны в обоих hook. Два потоковых сценария проверяют разделитель между chunk и heartbeat, не продлевающий свежесть. Все 26 профильных E2E прошли; далее одиночная точка графика и остальные ограничения, перечисленные выше.

Обновление 8.8 (2026-09-28): одиночные точки RX/TX, включая нули между пропусками, получили маркеры. Итоговые 10 тестов деталей и build/lint прошли; перед финальным подключением TX проверены 38 сценариев потребителей. Далее — первый SSE sample и оставшаяся приёмка.