Оверхед pprof?

Middle+
299 просмотров
AFK Offer AI

pprof имеет разный оверхед в зависимости от профиля:

  • CPU profiling: ~5% оверхед. Сэмплирует стеки каждые 10ms (100 Hz). Безопасно в проде кратковременно
  • Heap profiling: минимальный, ~0-1%. Сэмплирует аллокации (по умолчанию каждые 512 KB). Можно держать включённым постоянно
  • Goroutine profiling: stop-the-world на сбор стеков. Оверхед зависит от количества горутин. Тысячи горутин — может быть заметно
  • Mutex/Block profiling: добавляет атомарные операции на каждую блокировку. 1-5% оверхед
import _ "net/http/pprof"
go http.ListenAndServe(":6060", nil)

В проде обычно оставляют endpoint открытым, но профилируют по запросу через go tool pprof.

Следующий вопрос

Что такое outbox pattern?