6 вопросов
Инструменты профилирования Go: go tool pprof (CPU, heap, goroutine), go tool trace, бенчмарки (b.ResetTimer, b.ReportAllocs), flame graph. Поиск узких мест и оптимизация аллокаций.
pprof - инструмент анализа профилей (CPU, heap, goroutine и др.), запускается как go tool pprof с путем к файлу или HTTP-эндпоинту.
Подробнее →CPU-профиль собирают через pprof.StartCPUProfile/StopCPUProfile (или -cpuprofile в go test).
Подробнее →Heap-профиль - снимок аллокаций в куче; top/list показывают, кто аллоцирует; сравнение снимков выявляет утечки.
Подробнее →ResetTimer исключает из замера подготовку; ReportAllocs выводит allocs/op и B/op.
Подробнее →Flame graph - визуализация стека вызовов: ширина сегмента - доля метрики, высота - цепочка вызовов.
Подробнее →trace дает временную шкалу событий (горутины, планировщик, GC, блокировки); pprof дает агрегированные профили.
Подробнее →