I saw that you embed async-profiler binaries yourself. May I propose that you use ap-loader instead? This is a well tested (and async-profiler creator blessed) packaging of async-profiler into a platform independent JAR. Using it is quite easy, see the project README or Load AsyncProfiler with ap-loader · Issue #19 · grafana/JPProf · GitHub for the usage in JPProf. I'm happy to create a PR myself for your project.
Thanks Johannes, I'm not sure it benefits us as it means change with no functional benefit in a part of our project that is extremely stable. But we can see the potential maintenance benefit. We'll discuss it in the team and get back on this thread next week.
Nice talks and well done on the JEP 435 proposal!
It's all about maintenance. If multiple projects use the same library, then it's easier to find any problem that might occur. I'm also committed to testing the library thoroughly and keeping it as stable as possible.
We use 1.8.7, doesn't ap-loader support only 2.x?
It does now
The release is already on GitHub and in the maven snapshot repositories. Should be propagated to maven central in the next few hours.
Feel free to ask any other questions, I'm happy to help in any way possible.
Sorry, I didn't mean for you to bother and implement that.
The thing is that the main benefit of using ap-loader is reducing the maintenance burden, but since we are still on 1.x, which is not expected to be updated frequently, there is not such really for us.
Maybe once we upgrade to 2.x (which requires some effort), this may be included.
Thanks a lot for proposing!
It wasn't that much effort. I'm happy to help when you do the upgrading, it should be worthwhile with all the new features and improved stability of async-profiler.