Сделал open-source инструмент для визуализации сборщика мусо

Недавно закончил разрабатывать свой open-source проект на Go - gcscope.

Это терминальный инструмент, который показывает, как во время работы программы ведёт себя сборщик мусора в Go.

Сборщик мусора - это часть рантайма, которая автоматически очищает память от объектов, которые программе больше не нужны. Обычно он работает “где-то внутри”, и разработчик о нём почти не думает. Но если сервис начинает тормозить, растёт потребление памяти или появляются странные задержки, становится интересно: что вообще происходит с памятью? Как часто запускается очистка? Есть ли паузы? Меняется ли поведение после правок в коде или настройках? Мне захотелось сделать это более наглядным.

Существуют pprof, Prometheus, Grafana и другие инструменты для анализа производительности. Но я не нашёл простого способа именно посмотреть на работу сборщика мусора как на живую картинку в терминале. Так появился gcscope. Он показывает поведение GC в реальном времени: как часто он срабатывает, как меняется память, где появляются паузы и что происходило во время последних циклов очистки.

Проект можно попробовать без подготовки своего приложения - внутри есть демо-нагрузка. Ссылка на GitHub: https://github.com/timur-developer/gcscope

Я написал статью на Хабр, где подробнее рассказал, зачем сделал инструмент и как он устроен. Если вам интересно, можете ознакомиться: ссылка

Буду рад, если Go или backend-разработчики посмотрят проект и скажут, кажется ли такой инструмент полезным и чего в нём не хватает.

Заранее спасибо за любой фидбек!

Сделал open-source инструмент для визуализации сборщика мусо | Сетка — социальная сеть от hh.ru