-
-
Notifications
You must be signed in to change notification settings - Fork 180
Update async-profiler to v3.0 #386
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Happy to merge this, but I think I will wait for v3.1 to drop as there are some commits / bug fixes that have been made since the 3.0 release which I think would be good to have. |
Test buildsThese are using the latest nightly build from async-profiler (currently spark-1.10.113-bukkit.jar.zip Especially interested to hear feedback from anyone using "special" installations, e.g. musl Linux (usually in Alpine docker containers) or OpenJ9 JVMs. |
Tested with Java Oracle GraalVM 23 in a pterodactyl container using Debian 12. No crashes or issues during local testing. Will proceed to upload it to the production server and see what happens. |
|
The test builds appear to be working as intended for Velocity and a Paper 1.21.1 server with GraalVM Java 23. The servers are running as Pterodactyl servers using images found at https://github.com/ProtobitMC/pterodactyl-graalvm. Thanks for working on a fix! |
|
Been running this on the production server for a few days now, no issues, would consider stable. |
|
I tested it with GraalVM23, custom paper fork 1.8.9 and everything works fine. |
|
Can forge-1.7.10 branch be updated for this as well? Would be greatly appreciated. |
|
Any planned async 3.0 nightly support for forge-1.20.1? Keep getting crashes on my server using async. If it's a similar release to 1.21.3 maybe I can help. |
Fixed typo in Configuration.getInteger (lucko#353) Fix parsing null async profiler segments (lucko#354) Use a different websocket library Clarify command timeout warning msg Don't try to send statistics to a closed socket (lucko#357) Bump adventure versions Add note to /spark profiler open about expiry time Bump common dependency versions Tweak formatting of /spark profiler open note Include server brand in viewer payloads Add caveat to warning msg about Java agents Ignore trailing sleeping samples for duration estimation (lucko#413) Use WeakReference for command senders (lucko#417) Refactor ClassFinder into interface Add JVM information to viewer metadata Redact username from vm args (lucko#423) Add placeholder resolver API Include gamerule settings in metadata (lucko#425) Add some unit tests Check for async command completion before sleeping (lucko#431) Cleanup spark tmp dir on startup Add more automated tests Add missing license headers Relocate net.kyori.option package (lucko#432) Add uploadable health report (lucko#436) Allow mod/plugin author field to be null (lucko#442) Improve unit tests Refactor sampler node export process Include engine type in sampler proto Include datapacks info in sampler proto Include memory stats in ws updates Fix activity log unit test Improve error logging in various places Tidy up NeoForge/Forge mod init Support --ignore-sleeping with async-profiler (lucko#467) Upgrade async-profiler to v3 (lucko#386) Implement standalone profiling agent (lucko#480) Fix standalone attach on Windows (lucko#484) Add extra package relocations for standlone agent (lucko#488) Support --only-ticks-over with async-profiler (lucko#470) Upgrade async-profiler to v4 Fix name of temp directory (lucko#502) Optimise WorldStatisticsProvider regionising (lucko#506) Fix division by zero error in TPS calculation (lucko#507)
In essence, this PR updates
async-profilerto the recently version 3.0.One main change is that we now don't pull the API from jitpack anymore, but from maven central using the official coordinates (hard to find tbh, but see async-profiler/async-profiler#93 (comment)).
Notable changes:
.sofiles, so we don't need to include them manually anymore. However, the path changed, but I guess that's fine.// sparkcommentThere are a few things that could be considered following this PR:
-e ctimeras it doesn't requireperf_events(Accurate CPU sampling without perf_events async-profiler/async-profiler#855)I tested the changes on linux amd64 and linux arm64.