HOW TO: use Sponge Timings to locate lag

REQUIRES:
SpongeForge 1355+ or latest SpongeVanilla build

Make sure verbose is turned on for timings. To check this, locate your sponge global config under ./config/sponge/global.conf then go to the timings sections and verify that ‘verbose’ is set to true. If you change this while the server is running then enter the command ‘/sponge reload -g’ to reload the global config.

To generate a timings report, perform the following steps

  1. Enter command ‘/sponge timings on’
  2. Perform actions to time (generate chunks, place blocks, spawn entities, etc.)
  3. When enough time has passed, enter the command ‘/sponge timings paste’. This will generate a timings report and provide you with a URL that you can click in game.
  4. Finally, turn off timings ‘/sponge timings off’

If you did everything correctly, you should see a report like this

https://timings.aikar.co/v2/?id=741fb6774b8f4d06aaedc350ac781493&section=all

Please post your timings report here as I would like to get some examples for this thread.

Thanks!

4 Likes

I never had to turn verbose mode on. Is that new?

Some timings such as entity/te/block ticks may cause a bit of overhead which is why they are categorized as verbose. If verbose is turned off, these timings are ignored and will not show up in report.

1 Like

Verbose mode is not particularly new, and is mentioned amongst the Sponge Timings page in SpongeDocs.

What’s new is that the range of stuff that can be timed has been expanded, afaik.

In theory, you should be able to use /sponge timings verbon to get verbose reports, without having to go as far as messing with editing and reloading the config, if it still works.

So, been trying to get this to work, since I have been experiencing some issues with really understanding where all of this ‘lag’ is coming from. But when I do try to paste it, I get there error on my console:

Is there some requirement that I am missing? It seems to be saying that my Linux host (Nocix) is having issues with the paste. I haven’t been able to find the information elsewhere, so would appreciate some pointers. Thanks!

Looks to me like Java can’t resolve your server’s hostname. Check in /etc/hosts to see if s89622.nocix.net is in there.

If you don’t control the machine (eg with a MC panel), contact your server owner and get them to fix it up.

No such directory. Is there something I am supposed to do/have?

Update: Found it, I was looking for a directory, not a file. And it is not there, I only have this - Screenshot - f937995180ae1a4b98eee6511ce211af - Gyazo

For anyone who may stumble upon this, I solved our problem by editing the /etc/hosts file to contain an additional line:
[serverIP] s89622.nocix.net

1 Like

/sponge timings report only shows me previous 4 minutes? No matter how long I run timings on. Sidenote: timings seems to be turned on by default…
If it helps in any way, here are my timings settings in global

[details=Summary] timings {
enabled=true
hidden-config-entries=[
“sponge.sql”
]
history-interval=300
history-length=3600
server-name-privacy=false
verbose=true
}[/details]