Курс «Профилирование в Golang» представляет собой детализированный двухчасовой интенсив, включающий 10 уроков, посвященных углубленному изучению инструментов профилирования в Go. Этот интенсив ориентирован на разработчиков, обладающих базовыми знаниями Golang, и станет полезным для специалистов уровня Junior, Middle и Senior.
Цели интенсива:
Изучение различных подходов к профилированию: использование pprof, пакета runtime, exprav, trace, testing.
Глубокое понимание внутреннего устройства профилировщика в Go.
Освоение работы с CLI и веб-версией pprof, включая web и flame graph.
Практическое освоение сбора различных профилей: CPU, block/mutex, trace, goroutine.
Понимание связи профилирования с PGO и применение его на практике.
Знакомство с концепцией непрерывного профилирования (continuous profiling).
Содержание интенсива:
Определение и мотивация профилирования.
Виды профилировщиков (инструментальные, выборочные).
Архитектура профилировщика Go.
Методы сбора профилей (локально и с работающего приложения).
Настройка частоты профилирования (profile rate).
Использование pprof через CLI и веб-интерфейс (включая web graph и flame graph).
Работа с различными типами профилей: CPU, Allocs/heap, block/mutex, threadcreate, trace, goroutine.