AzerothCore integrates the google performance tools library that allows you to analyse the code execution of your application when it comes to CPU and Memory. In short: thread-friendly heap-checker, heap-profiler, and cpu-profiler.
Run in a terminal:
sudo apt-get install libgoogle-perftools-devsudo apt-get install google-perftools libgoogle-perftools-devNote: dependencies above are already installed in our docker file
Ubuntu 26.04 dropped the google-perftools package, which is the one providing the google-pprof command used at the end of this page. Install the pprof tool separately there (go install github.com/google/pprof@latest) and use pprof instead of google-pprof.
-DWITH_PERFTOOLS=ON -DNOJEM=ON -DWITH_DYNAMIC_LINKING=0 compiler flag. You can use CUSTOMOPTIONS in config.sh to set it for the dashboard compiler. You also need to set the CTYPE conf to at least RelWithDebInfo (faster but less info) or Debug (slower but more info).config.sh, at the GOOGLE PERF TOOLS section, accordingly to your needs.sudo ./acore.sh run-worldserversudo killall -12 worldserver This command will start the monitoring process.sudo killall -12 worldserver again to stop the process when you want. At this time you will have the .prof file ready in the folder configured below.google-pprof --callgrind <path/of/worldserver/bin> </path/of/prof/file> > worldserver.callgrind This will generate a callgrind file that can be read with
QCacheGrind, KCacheGrind or any other compatible tools.This is what you will see (screenshot of KCacheGrind):
