fix(traffic): учитывать пик только подтверждённых измерений

This commit is contained in:
Denozordec committed 2026-10-13 02:14:03 +07:00
1 parent 504f62fc0b
commit 7c667f8036
15 files changed
+1297 -15

No files matched your search

+18 -2
View File
@@ -1,6 +1,6 @@
# UX/UI: протокол внешней приёмки 12.5
Актуальное продолжение 2026-10-13: завершён12.5.189 — background traffic проверяет enabled/config перед native requests, cache/insert/success; disabled/config change mid-interface response→no peer call/no samples/no false success. OwnSQL67/39536ms/unit/build/source460+524/1040compiled/API/browser2 passed. Backend ux-sourceguard189 healthy/frontend ux-warning183; ownDB/role/container удалены. Следующий190 — confirmed peak против partial counter waves;12.5 открыта.
Актуальное продолжение 2026-10-13: завершён12.5.190 — observed peak исключает partial/unconfirmed waves и out-of-range points, known bytes retained. OwnSQL68/38553ms/unit/build/source460+524/1040compiled/API/browser2 passed. Backend ux-peak190 healthy/frontend ux-warning183; ownDB/role/container removed. Следующий191 — temporal user aggregate peaks вместо sum of individual peaks;12.5 открыта.
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
@@ -696,7 +696,7 @@ flowchart LR
## 12.5.77 — основной блок IPsec (2026-10-09)
Актуальное продолжение 2026-10-13: завершён12.5.189 — background traffic проверяет enabled/config перед native requests, cache/insert/success; disabled/config change mid-interface response→no peer call/no samples/no false success. OwnSQL67/39536ms/unit/build/source460+524/1040compiled/API/browser2 passed. Backend ux-sourceguard189 healthy/frontend ux-warning183; ownDB/role/container удалены. Следующий190 — confirmed peak против partial counter waves;12.5 открыта.
Актуальное продолжение 2026-10-13: завершён12.5.190 — observed peak исключает partial/unconfirmed waves и out-of-range points, known bytes retained. OwnSQL68/38553ms/unit/build/source460+524/1040compiled/API/browser2 passed. Backend ux-peak190 healthy/frontend ux-warning183; ownDB/role/container removed. Следующий191 — temporal user aggregate peaks вместо sum of individual peaks;12.5 открыта.
Подробный объём, протоколы, схема и ограничения: [12.5.77 в журнале](ux-ui-progress.md).
@@ -2272,3 +2272,19 @@ Collector теперь повторно читает enabled/updatedAt по ID
[Source460/524](ux-ui/acceptance/traffic-sourceguard-source-2026-10-13.json)/[compiled1040](ux-ui/acceptance/traffic-sourceguard-compiled-2026-10-13.json) SHA256 parity passed. [Backend ux-sourceguard189](ux-ui/acceptance/traffic-sourceguard-runtime-2026-10-13.json) healthy/imageIds, frontend ux-warning183 unchanged. Only backend.env tag, rollback ux-membership188; migration0/secret env copy0. [Actual API](ux-ui/acceptance/traffic-sourceguard-api-2026-10-13.json)/[browser1440/320](ux-ui/acceptance/traffic-sourceguard-deployed-2026-10-13.json) passed current/live/receipt/no errors/overflow. Real CHR не отключались/не перенастраивались; passwords/messages changes0.
Следующий190 — пик не должен вычисляться из partial/unconfirmed aggregate wave. Разные времена индивидуальных пиков user bindings также требуют отдельной temporal aggregation, а сумма индивидуальных максимумов не является общим одновременным максимумом.12.5 и внешние dependencies остаются открыты. Локальный коммит без push.
## 12.5.190 — пик только по подтверждённым волнам периода (2026-10-13)
Builder раньше брал максимум всех numeric points, включая partial wave с неизвестным вкладом нового интерфейса и точки за пределами range. Теперь RX/TX peak учитывает только свой observed flag, полный expected count соответствующей wave и timestamp внутри выбранного периода. Known bytes остаются учтёнными даже когда общий мгновенный срез неполон: это отдельные достоверные counter deltas, а не known whole-wave sum.
Unit проверил partial high point → последующая complete0 wave: current известен, observed peak0,1MiB volume сохранён. Future point вне range не повышает peak. [Own PG](ux-ui/acceptance/traffic-peak-sql-2026-10-13.json):68 cases9counter+14history+10TCP SSE+14volume+21status/38553ms, no skip.1 новый actual GET case с known native identity fixtures проверяет exact0 peak/current, history и сохранение1MiB после partial high wave. Own namespace/role/container removed и отсутствие проверено.
[Source460/524](ux-ui/acceptance/traffic-peak-source-2026-10-13.json)/[compiled1040](ux-ui/acceptance/traffic-peak-compiled-2026-10-13.json) SHA256 parity; backend build passed. [Backend ux-peak190](ux-ui/acceptance/traffic-peak-runtime-2026-10-13.json) healthy/imageIds, frontend ux-warning183 unchanged/no rebuild. Only backend.env tag, rollback ux-sourceguard189; migration0/secret env copy0. [Actual API](ux-ui/acceptance/traffic-peak-api-2026-10-13.json)/[browser1440/320](ux-ui/acceptance/traffic-peak-deployed-2026-10-13.json) passed actual live/receipt/no errors/overflow. RouterOS config/password/message changes0; никаких deliberate failures на реальных CHR не вводилось.
| Срез | Результат |
| --- | --- |
| Частичная high wave | не участвует в общем observed peak |
| Complete known0 wave |0peak/current допустим, accumulated known bytes retained |
| Point вне range | не влияет на peak периода |
Следующий191 — mergeBuiltTraffic пока суммирует индивидуальные пики частей, которые могли происходить в разное время. Нужно воспроизвести async peaks и определить общий пик по подтверждённым временным срезам с явным unknown при отсутствии совместимого времени.190 не выдаётся за исправление этого отдельного случая. Полный billing/coverage, scale/multi-instance/external integrations и12.5 остаются открыты. Локальный коммит без push.