Что такое flame graph для Go?

Middle
290 просмотров
AFK Offer AI

Flame graph — визуализация профиля: ось X — ширина пропорциональна времени в функции, ось Y — глубина стека вызовов. Широкие блоки — горячие функции, где сервис проводит больше всего времени. В Go получаешь через: go tool pprof -http=:8080 profile.pb.gz → View → Flame Graph. Или через Pyroscope/Grafana. Читаешь снизу вверх: main → handler → db.Query → net.Read. Если видишь широкий блок runtime.mallocgc — слишком много аллокаций. Flame graph — самый быстрый способ найти боттлнек.

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

Как возвращать правильные HTTP коды?