Post Thumbnail

Статья от ребят из Coroot. Эти ребята знают толк в профилировании и вьювабилити.

Тут они рассказывают, как вместо подключения pprof к Go-сервисам, чтобы посмотреть, что там с памятью, начали использовать встроенные возможности рантайма. Go сам постоянно собирает профиль аллокаций, просто он либо отключен линкером, если никто не дергает runtime.MemProfile, либо данные есть, но доступа к ним извне нет.

Агент Coroot теперь просто лезет через /proc/<pid>/mem, читает внутреннюю переменную runtime.mbuckets прямо из памяти процесса - и если профилирование выключено, может даже включить его на лету одной записью в память.

Pprof хорош, но для его использования нужно менять приложение. В подходе Coroot ничего не нужно передеплоивать, переконфигурировать, никаких эндпоинтов.

Похожее

Post Thumbnail

JIT для go

В статье про JIT-компилятор для Go версии 1.17+, форк проекта nelhage/gojit. ...

Post Thumbnail

PGKeeper

PGKeeper - это сервис на Go, который команда Figma разработала для замены устаре...

Post Thumbnail

CPU нагрузка

В статье рассматриваются проблемы оптимизации кода на Go, который нагружает CPU...