docs/dev/Profiling.md
Mumble comes with built-in support for the Tracy profiler. In order to activate the baked-in instrumentation, use
-Dtracy=ON when compiling Mumble. When using that option, you should see a line in the cmake output that says TRACY_ENABLE: ON.
Currently only the Mumble server is instrumented (can be profiled using Tracy).
Once you have built Mumble with -Dtracy=ON, Mumble will act as a Tracy client (in Tracy terms) which means that you can connect any Tracy server
to it. Most commonly, you'll want to use either the profiler or the capture. Both of these programs live in the tracy submodule
(3rdparty/tracy/) and can be built from there. For build instructions, see the
Tracy Manual.
The profiler is an interactive GUI that can be attached to a currently running Mumble instance to see the profiling data (more or less) in realtime
or you can open a previously recorded trace for analysis. Note that it is also possible to connect to a Mumble instance on a remote machine using this
tool. All that is required is that it is able to establish a TCP connection to the target machine.
The capture tool has to be run on the same machine as the Mumble instance that shall be profiled. It is a command-line tool that will attach to a
running Tracy client as soon as it is started. It will dump the captured data directly into a file, that can later on be opened in profiler for
further analysis. This tool is recommended when you want to profile over a longer period of time or you don't want to add the burden of sending all
profiling data out through the network, while Mumble is running.
Release mode in order to obtain reasonable data--foreground parameter when starting the server.