Skip to content

Профилирование и диагностика

RUSEON Core предоставляет мощные инструменты отладки, изолированные на отдельном порту для безопасности.

Встроенный сервер профилирования

Профилирование обслуживается отдельным HTTP-сервером, который привязан строго к localhost. Его можно включить, установив server.pprof_port в конфигурации (значение 0 отключает сервер).

Доступные эндпоинты:

  • /debug/pprof/
  • /debug/pprof/cmdline
  • /debug/pprof/profile (профиль CPU)
  • /debug/pprof/symbol
  • /debug/pprof/trace (трассировка выполнения)

Безопасность

Сервер pprof НИКОГДА не должен быть доступен извне, так как он может раскрыть пути к исходному коду, содержимое памяти и привести к DoS-атакам при тяжелых запросах трассировки.

Использование Go Tool Pprof

Сбор 30-секундного профиля CPU с сервера:

bash
go tool pprof http://localhost:<pprof_port>/debug/pprof/profile?seconds=30

Просмотр аллокаций памяти heap:

bash
go tool pprof http://localhost:<pprof_port>/debug/pprof/heap

Statsviz

При включенном режиме debug: true, RUSEON Core монтирует обработчик statsviz на основном HTTP-сервере, предоставляя WebSocket-графики пауз GC, использования памяти и горутин по адресу /debug/statsviz/.

Released under the MIT License.