Ресурсы приложения
Сопоставляйте CPU, память и ожидания, а при смене релиза сравнивайте покрытые стабильные окна.
От cgroup до раздела внимания
Заголовок раздела «От cgroup до раздела внимания»Когда дополнительный профиль ресурсов включён, агент узла читает документированные файлы cgroup v2 для обычных контейнеров выбранных Deployment. Доступ остаётся только для чтения, а новые зонды на горячих путях планировщика, выделения памяти и I/O не добавляются. Перед отправкой измерения объединяются в фиксированные интервалы UTC, поэтому объём трафика и хранения ограничен.
Каждый интервал хранит покрытое время, число измерений и источников, наблюдаемые и Ready-реплики, контейнер, релиз и доступность каждого источника. Пропущенный или неполный интервал остаётся видимым разрывом и никогда не превращается в ноль.
Измерения ресурсов сохраняют покрытие и идентичность от сбора до расследования.
Использование CPU, квота и троттлинг
Заголовок раздела «Использование CPU, квота и троттлинг»Использование CPU — это разность времени CPU, делённая на покрытое реальное время; результат показан в средних ядрах. Доля квоты доступна только при конечной действующей квоте cgroup. Доля периодов троттлинга равна разности nr_throttled, делённой на разность nr_periods; длительность троттлинга остаётся отдельным сигналом. Ни одно из этих значений не является процентом потерянной производительности приложения.
CPU PSI some измеряет долю реального времени, когда хотя бы одна готовая к выполнению задача ждала CPU. CPU PSI full показывается только при поддержке источником ядра. Расход CPU, применение квоты и ожидание отвечают на разные вопросы — рассматривайте их отдельно.
Использование памяти и pressure
Заголовок раздела «Использование памяти и pressure»Текущая память включает кеш, учтённый cgroup. Анонимная память и файловый кеш показаны отдельно. Запас вычисляется только относительно конечного действующего лимита. memory.high, memory.max, OOM и OOM kill — разные события счётчиков, их нельзя объединять в одно общее предупреждение о памяти.
Memory PSI описывает время задержки задач подсистемой памяти, а не утилизацию RAM. Вывод OOM — более сильное свидетельство, чем высокий график памяти; рост расхода без лимита, pressure или отказа остаётся обычным пунктом для разбора.
Ожидание I/O и лимиты PID
Заголовок раздела «Ожидание I/O и лимиты PID»Байты и операции чтения или записи описывают поток данных, отнесённый к cgroup. I/O PSI описывает время ожидания задачами I/O. Okoscope не знает ёмкость или насыщение общего блочного устройства, поэтому ни одна из этих величин не называется процентом утилизации диска.
Метрики PID показывают текущее число, долю конечного лимита и события pids.max. Событие лимита означает, что процесс или поток не удалось создать в рамках лимита cgroup; график не определяет конкретного вызывающего.
Осторожно сравнивайте релизы
Заголовок раздела «Осторожно сравнивайте релизы»Влияние на ресурсы сравнивает стабильные окна одинаковой длительности из целевого эпизода развёртывания и его предшественника. Прогрев во время rollout исключается, пересекающиеся релизы разделяются, а покрытие данных и Ready-реплик должно быть достаточным. Пока целевое окно не завершено, страница показывает сбор данных, а не отсутствие проблем.
Результат показывает базовое и целевое значения, абсолютное изменение, относительное изменение только когда оно математически определено и изменение в процентных пунктах для долей. Формулировка говорит «наблюдалось после релиза». Одновременно могут измениться поток запросов, состав трафика, внешние зависимости и масштабирование, поэтому одна корреляция не устанавливает причину.
Доступность, хранение и диагностика
Заголовок раздела «Доступность, хранение и диагностика»Профиль ресурсов выключен по умолчанию, пока не пройдены измеримые критерии выпуска. Оператор задаёт ограниченные интервалы сбора и агрегации в chart агента. Сроки хранения подробных и агрегированных данных не зависят от runtime events: старые детали могут истечь, а совместимые rollup остаться доступными.
Если метрика пуста, проверьте включение профиля, выбор нагрузки, capability агента resource.utilization/v1, доступность источников cgroup v2, счётчики потерь доставки, выбранный период и срок хранения. Состояния «не поддерживается» и «нет лимита» показаны явно; не воспринимайте их как ноль.