Discord: https://discord.gg/BCHNhsDMXz
This mod provides 3 functionalities:
Packet profiling
It can record the size and number of all packets transmitted and received at a given side (server or client, depending on where this mod is installed) for a period of time. This allows identifying the cause of large network flow in modpacks, helping to improve server performance.
To profile packet sent or received on server side, run `/profileserver <time in ticks>` command. Result will be stored in `logs/profiler/` folder, separately listing out all packet types sent and received, their count and size.
Loot profiling
It can record all the loot modifiers used for generating loot, showing how each of those loot modifiers modify the loot. It can help to identify why loots are not as expected in a large modpack.
To profile loot, run `/profileloot <time in ticks>` command and do action that can trigger loot table (kill a mob, open a loot chest, run `/loot` command, etc). Report will be printed in your latest.log file or console.
MCFunction Datapack Identification
MCFunction is a vanilla datapack feature that allows running command in datapack. This helps datapacks to develop advanced functionalities but also potentially cause a lot of lag. Some mods use MCFunction in minimal amount to aid mod functionality, such as Twilight Forest and Aether, but if you identifies a lot of lags from MCFunction and couldn't find out who, this feature would help a lot.
You can find out MCFunction lag at `ServerFunctionManager.tick()` and `ServerFunctionManager.execute()` in your server spark report.
To identify what mods have MCFunction datapack, run `/profiledatapack` command. It will list out all namespaces that contain MCFunction files along with the number of MCFunction files in those namespaces. The result will be sorted in descending order.