AzerothCore
Pages :

Cómo usar GPERFTool

AzerothCore integra la biblioteca de herramientas de rendimiento de Google que le permite analizar la ejecución del código de su aplicación en lo que respecta a la CPU y la memoria. En resumen: thread-friendly heap-checker, heap-profiler, y cpu-profiler.

Instalar (Ubuntu):

Ejecutar en una terminal:

  • Ubuntu 26.04: sudo apt-get install libgoogle-perftools-dev
  • Ubuntu 24.04: sudo apt-get install google-perftools libgoogle-perftools-dev

Nota: las dependencias anteriores ya están instaladas en nuestro archivo docker

Ubuntu 26.04 eliminó el paquete google-perftools, que es el que proporciona el comando google-pprof usado al final de esta página. Allí debes instalar la herramienta pprof por separado (go install github.com/google/pprof@latest) y usar pprof en lugar de google-pprof.

Usando (con el tablero AzerothCore):

  1. Para habilitar gperftools debe compilar con el indicador del compilador -DWITH_PERFTOOLS=ON -DNOJEM=ON -DWITH_DYNAMIC_LINKING=0. Puede usar CUSTOMOPTIONS en config.sh para configurarlo para el compilador del tablero. También debe establecer la configuración de CTYPE en al menos RelWithDebInfo (más rápido pero con menos información) o Debug (más lento pero con más información).
  2. Configure las variables dentro de config.sh, en la sección GOOGLE PERF TOOLS según sus necesidades
  3. Ejecute el worldserver con sudo ./acore.sh run-worldserver
  4. Ejecute sudo killall -12 worldserver Este comando iniciará el proceso de monitoreo.
  5. Ejecute sudo killall -12 worldserver nuevamente para detener el proceso cuando lo desee. En este momento tendrás listo el archivo .prof en la carpeta configurada a continuación.
  6. Ejecute google-pprof --callgrind <path/of/worldserver/bin> </path/of/prof/file> > worldserver.callgrind Esto generará un archivo callgrind que se puede leer con QCacheGrind, KCacheGrind o cualquier otra herramienta compatible.

Esto es lo que verá (captura de pantalla de KCacheGrind):

kcachegrind