Task #6617
openСлой ресурсов: память, процессор и прочее поверх окна
0%
Description
Заказчик просит видеть ресурсы работающего приложения: сколько памяти занято, сколько процессора, и прочее, что помогает понять нагрузку.
Нужно: слой в окне, включаемый клавишей и флагом: резидентная память процесса, загрузка процессора процессом, частота кадров камеры и отрисовки, время работы моделей на кадр, число обзоров кадра, число отслеживаемых лиц. Замеры собираются в домене без зависимости от окна и тестируются.
Updated by Redmine Admin about 1 month ago
Готово.
Слой ресурсов по клавише R или флагу --resources: память процесса и загрузка процессора (ps, раз в секунду), ядра, кадры камеры, кадры и время модели на кадр, отрисовка, обзоры кадра в секунду, пропущенные кадры, число лиц. Пороги подсветки: память 1/2 ГБ, процессор 150/300% — уровни, на которых раньше вставала машина.
Устройство: domain/resources.rs (Counters, Meter, ResourceReading), adapters/system.rs (process_usage через ps), app/panel.rs (resource_rows), LatestSlot::delivered, поток-замерщик в main. В окне без GPU — в заголовке.
Попутно: панель и слой берут верхний угол, а если там лицо — нижний; карточки держатся в стороне от обоих.
Замер: приложение со слоем 137 МБ, 34–37% процессора — как без слоя. Тесты: domain_resources (6), adapters_system (5), app_panel (3 новых), adapters_stream (1), adapters_display_gpu (2: слой в углу, уход вниз от лица).