Белуга

Методика

Дельта-профили

Практика

Символизация стековЧтение результатовРазбор случаев

Дельта-профили: методика

Белуга 0.7.3 · документация разработчика

Содержание главы

Белуга не претендует на полный аллокационный трейсинг. Её методика — дельта-профиль: два (или более) снимка распределения памяти по стекам, взятые в разные моменты времени, и разница между ними.

Идея дельты

Абсолютный профиль «здесь и сейчас» почти всегда доминируется долгоживущими данными (кэш, конфигурация), которые неинтересны при поиске утечки. Дельта устраняет константу: то, что выросло между точками A и B, и есть кандидат.

beluga attach --pid 4213 --interval 300s --points 2
# снимок A:  10:00:00  (t0)
# снимок B:  10:05:00  (t0+300s)
# дельта:    записана в beluga-delta-A-B.txt

Точки съёма

Выбор точек важнее настроек съёмки. Стандартная пара: «после прогрева» и «после воспроизведения нагрузки». Точка сразу после старта включит в дельту естественную инициализацию и утопит сигнал.

Примечание. Для периодических утечек снимайте 3+ точки с интервалом меньше периода: дельта «A→B→C» покажет, растёт ли аллокация линейно или сбрасывается.

Точность и шум

Стеки собираются семплированием, поэтому мелкие частые аллокации дают вероятностную картину. Порог значимости по умолчанию — 1% дельты; всё ниже помечается как шум и отделяется в отчёте.

Символизация стеков →
© 2026 Белуга · изменено 2026-10-20