Warmroast: Difference between revisions

no edit summary
m (changed the size of the window)
No edit summary
Line 1:
Warmroast is a javaJava utility written by sk89q (the author of World Edit and World Guard). It letsallows you audit the javaJava virtualVirtual machineMachine you want to target (not necessarilyalways MineCraftMinecraft) and seeobserve what portions of code takestake the most ofCPU time (are the cpumost timeheavy resource wise). To use it, be sure to have a javaJava 8 development kit on your PC/server.
 
It'sWarmroast a command line utility that will open a websitehosted server on a specific port listing the portions of code executed between the start of the utility, and the moment you opened the webpage. See: https://github.com/boubou19/warmroast<nowiki/>to see how to properly set it up. Here is a corrected version of warmroastWarmroast made by boubou_19 to fix some small bugs: [https://github.com/boubou19/warmroast/releases/tag/1.0.1 warmroastWarmroast 1.0.1]
[[File:Exemple of lag monitoring with warmroast.png|center|thumb|1499x1499px|Exemple of lag monitoring with warmroast]]
OnIn the picture above picture, we can see that 1.7% of the time, the CPU is spendingexpending its computationcomputational power on emitting energy to GT cable networks. We can also see on the node below that 1.22% of the time, the CPUthis is spending its computationhappening on world accelerator logic. Beware to not interpret the report too quickly: values displayed here are relative time based on the report duration. You may see portions of code highlighted as heavy code on very small duration, but not see them in on large durations. The picture above was made after 5 hours of sampling, so values are kinda stable and it's safe to assume that world accelerators are lagging a bit the server. However, a broad way to judge the extent to which a server is "lagging" is comparing the amount of time taken to tick, and sleep.
 
This tool only is usefulmeaningful onlyin to seeseeing "recurrent" lag. The longer the sampling lasts, lesser will be your chances to see the lag spikes. If you want to trackdowntrack down lag spikes, you need to make many short samplings and hope for the lag spike to occur during the sampling durationperiod. This tool also givedisplays parts of the code beingthat laggymay be inefficient, notprogrammatically whatwise, instancealongside the instances of entity/(tile) entities that entityare causing the issues. This is why it's better to combine warmroastWarmroast with a tool like opisOpis, as it tellsallows you whatmore particularprecision stuffin isdetermining the beingreal laggyissue.
 
If you are experiencing some kind of TPS reduction but you don't know what you are looking at, please ask in our discordDiscord channel with a picture of your report, or send the html page directly. (toTo get the page, right click, and save as) This kind of report is also very valuable for the developpersdevelopers as they can directly look into the incriminedproblematic functions, orientingallowing theirthe solvingresolution of thethese errors to become much issueeasier.
18

edits