PurpurMC / Purpur

Purpur is a drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features.
https://purpurmc.org
MIT License
2.02k stars 360 forks source link

/perf command not working #1591

Open T1MOXA opened 1 week ago

T1MOXA commented 1 week ago

Spark link

https://spark.lucko.me/mKn0E2bCcg

Expected behavior

/perf start command to start profiling, then /perf stop can stop profiling erarly if needed.

Observed/Actual behavior

/perf start
[17:48:11 INFO]: Started 10 second performance profiling run (use '/perf stop' to stop early)
/perf stop
[17:48:15 INFO]: The performance profiler hasn't started

And debug folder is also not created.

Steps/models to reproduce

  1. Download latest purpur build
  2. Start a server
  3. Run /perf start
  4. Run /perf stop immideately to see that profiler is not running.

Purpur version

[17:47:55 INFO]: Checking version, please wait... [17:47:56 INFO]: Current Purpur Version: 1.21.1-2308-8332fa4 (MC: 1.21.1)*

Agreements

Other

No response

Dreeam-qwq commented 6 days ago

/perf command uses vanilla profiler to function, and vanilla profiler is removed in Purpur

You can use spark profiler, which is more recommended.

T1MOXA commented 4 days ago

Can it be disabled optionally ? (I've set disable-method-profiler: false) For example, spark profiler doesn't provide info about functions and commands from datapack's, where /perf and /debug does. But /debug command also not working, even on paper (and spigot as far as I know)

Krakenied commented 4 days ago

Spark profiler provides literally all the info that can be provided (including functions and commands from datapacks) - you just need to find it in the profile (if you don't see it at first glance then the performance loss isn't enough high)

T1MOXA commented 2 days ago

I see only a stack trace, with no hint what command, function or entity from which datapack or command block causes load. IMO, Spark is an excellent debugger for debugging cores and plugins, however, it is not suitable for debugging in-game functions or commands in Minecraft.

Using one debugger or another is a personal choice. But what about the problem I've described ?