Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details
Command Profiler is a mod which lets you profile commands and functions using /cmdprof.
Using the profiler
You can start the profiler if you have operator privileges using the /cmdprof enable command. For the profiler to stop collecting data do /cmdprof disable, and to reset the current profiled data do /cmdprof reset.
Viewing profiler results
There are three different formats for taking the data
- display text in console (subcommands that start with
print) - save as JSON (subcommands that start with
save) - save as bytes (same as
saveexcept you need to providebytesas an argument)
This does mean that you need access to the server console to view the profiler results.
There are print and save subcommands for viewing the profiler results over the entire duration of the profiler running. (print is sorted by total time taken)
And there are print_trace and save_trace subcommands for viewing the profiler results over the last captured tick. (ordered by execution)
Configuring the profiler
You can configure the profiler using the /cmdprof config subcommand, there are currently 4 options:
granularity- when set tocommandall commands will be profiled, and when set tofunctioncommands will not be profiled individuallymacro_commands_as_templates- when set tofalse, commands which have macros will have their arguments inlined into the commandfunction_line_numbers- when set totrue, commands will include their line number, instead of being set to0collect_memory_usage, when set totrue, all events will track the memory usage (this reduces the performance by quite a bit, not worth using it unless you're trying to make a mod which fixes memory usage issues)macro_function_instantiation_events, when set totrue, profiler results will include how long it takes to instantiate a macro function as a separate step, instead of merging it with the command that executes the instantiation
Viewing data online
You can open the profiler online using /cmdprof online view, and stop it using /cmdprof online stop. Note that you need to enable the profiler using /cmdprof enable first, otherwise there will be no data provided.
The profiler automatically refreshes data every second when it is running.


