I've forked the project to add a few things. You can find it at github.
* Export call graph as PNG, either automatically on each snapshot or manually, or to clip board
* Load and save snapshots
* Dump a snapshot automatically, when the profiled application quits.
* Spread the selection of nodes in the call graph.
@Antonio: I've added a patch and documentation on changed libraries, so you could incorporate the changes into Profiler4j. After all, its free software. :)
First of all, thanks for your effort on this accomplishment. I'm impressed. Your work looks great. Interesting to see Profile4j code alive. I'll take a look at your changes.
Just to let you know, I have been working on a new agent core that is more efficient and precise. This is still pre-alpha but can improve the statistics. Profiler4j is not dead yet.
that is good to know. Hope your improvements aren't preventing you from merging in any code that you like. My code isn't really 100% production quality, btw (e.g. there are no junit tests), but it should be robust. If you need help merging or so, let me know. In any case, feel free to use the sources and documentation as you like.
Good job on this Murat :)
An update about the new version:
I had a couple of weeks off and decided to make a bold move. I started from scratch a full JVMTI agent profiler written C. The performance so far is great and, virtually, all limitations imposed by the Java JVMTI API (too limited) simply does not exist anymore in C. I already have a working prototype (linux only) that can instrument all classes it finds, including those from java.*, javax.*, sun.*, com.sun.*, etc. Tracing is way more precise and now it is even possible to provide full memory profiling.
Probably , I will also create a new UI from scratch. Well, maybe I can use some old code but the core and overall operation is so different that I´m not sure.
I will let you guys know when the first alpha release is ready.
Ps.: If someone wants to see a demo drop me a message.
Log in to post a comment.