Files
petr.polezhaev 97842276c8 core(M4): полировка по нитам финального ревью
- fglair-discover: fchmod 0600 и при перезаписи существующего --out.
- fglctl: #include <cstdlib>; точная проверка обрезки config
  (n == sizeof-1 && !feof); валидация 'monitor <sec>' (endptr/errno).
- docs: отчёт soak — формулировка «ответы на batch GET»; индекс reports.
Ревью M4 независимым агентом: 2 круга, APPROVED.
2026-09-29 01:30:30 +03:00

1.8 KiB
Raw Permalink Blame History

M4 soak-отчёт: fglctl monitor на живом приборе

  • Дата: 2026-09-29, 00:16–01:16 MSK (60 минут)
  • Прибор: AP-WC1E (fw 2.6.17-fgl2), IP/DSN — в локальном docs/legacy/config_kata.json (не версионируется)
  • Команда: fglctl docs/legacy/config_kata.json monitor 3600
  • Лог: локально (артефакт прогона; сводка ниже)

Результаты

Метрика Значение
Смены состояний registering → online → idle (stop)
recovering / offline / KEY_ERROR 0
Свойств получено 33 (ответы на стартовый batch GET, все свойства шаблона A, вкл. строковые)
Push'ей со статусом ≠ 200 0
pushes_ok / pushes_bad 33 / 0
Опросов commands.json модулем 273 (~каждые 13 с)
Re-key 1 (только первичный; keep-alive 15 с предотвращает stale-gap re-key — PROTOCOL §4.4)

Строковые свойства подтверждены на приборе: DeviceName="Wave13", BuildingName="NoGroup", ServiceContact*="".

Вывод

60-минутный soak с непрерывным опросом модуля: 0 рассинхронов, 0 потерь, сессия стабильна, delete_session при завершении отправлен.

Полный 24-часовой прогон — приёмочный шаг перед релизом (выполняется владельцем; рекомендуется на том же стенде):

fglctl docs/legacy/config_kata.json monitor 86400 > soak24h.log 2>&1
# Accept: нет строк recovering/offline/KEY_ERROR; pushes_bad=0 в финальном STATS