Профилирование на Go | Полное руководство
Описание
Курсы по программированию - https://clck.ru/3MGYz4
Полное руководство по профилированию приложений на Go! В этом видео ты узнаешь, что такое профилирование, какие существуют методы — от инструментации до семплирования, и как они применяются на практике. Разбираем архитектуру профилировщика, виды профилей (CPU, heap, блокировки, трейсы), и что вообще можно профилировать в Go-программе. Показываем сбор профиля локально, анализ с помощью pprof через CLI и Web, генерацию нагрузки с Pandora, визуализацию в flame graph, и сравнение профилей разных версий. Особое внимание уделено профилированию блокировок и удержания каналов, а также анализу памяти и оптимизации частоты вызовов GC. В видео также рассказывается про continuous profiling с помощью Pyroscope и применение PGO (profile-guided optimization). Полезно всем, кто хочет понять, как ускорить и оптимизировать свой код на Go и прокачать навыки бэкенд-разработки.
Telegram: https://t.me/igoroutine
VK: https://vk.com/igoroutine
Instagram: https://instagram.com/igoroutine
YouTube: https://www.youtube.com/@igoroutine
Таймкоды:
00:00 - Введение
00:14 - Теория. Определение и мотивация
02:24 - Теория. Методы профилирования. Инструментация
04:24 - Теория. Методы профилирования. Семплирование
05:39 - Теория. Архитектура профилировщика
06:47 - Теория. Что можно профилировать?
07:09 - Дополнительные материалы. Исходники к видео
07:34 - Практика. Сбор профиля локально
08:10 - Просмотр профиля в pprof CLI
09:51 - Просмотр профиля в Web
11:26 - Сбор профиля в runtime. Генератор нагрузки Pandora
12:43 - Просмотр профиля Flame Graph
15:20 - Сравнение двух профилей CLI
15:58 - Сравнение двух профилей Web
16:19 - Профилирование блокировок
17:12 - Просмотр графа блокировок Web
17:43 - Профилирование удержания блокировок (каналов)
18:22 - Просмотр графа удержания блокировок (каналов) Web
18:41 - Профилирование памяти (heap, allocs)
19:38 - Просмотр графа памяти Web
20:04 - Профилирование памяти (trace)
20:44 - Просмотр трейсов памяти Web
22:09 - Оптимизация потребления памяти для уменьшения вызовов GC
22:26 - Сравнение трейсов двух версий Web
22:44 - Как смотреть анализ по конкретной горутине Web
23:03 - Сбор профиля в рантайме. Continuous profiling. Pyroscope
23:48 - Просмотр рантайм профиля Web
24:12 - Profile-guided optimization (PGO). Как работает
24:45 - Как применять PGO
25:03 - Финал
