Непрерывное профилирование в проде: зачем и какой ценой
Разовый профиль отвечает на вопрос «где время сейчас», непрерывное профилирование — на вопрос «что изменилось». Агент периодически снимает короткие профили процессора и кучи со всех реплик и складывает их в хранилище с метками версии и пода, поэтому появляется то, чего нет у разового снятия: сравнение до и после выката, поиск регрессии по конкретному коммиту и профиль того момента, когда было плохо, а не того, когда вы успели подключиться. Цена невелика и хорошо известна: профиль процессора собирается выборкой около ста раз в секунду и добавляет единицы процентов накладных расходов, профиль кучи почти бесплатен. Практические требования: эндпоинт /debug/pprof слушает локальный адрес, а не внешний интерфейс; профили помечаются версией сборки, иначе сравнение бессмысленно; и снимаются короткие профили по 10–30 секунд, а не длинные, — так меньше искажений и проще сопоставлять с инцидентом по времени.