I have been taking a look at some of the open source java profiling tools out there, and profiler4j seems fairly promising.
Is there any way to view the complete profile information for all executed methods? It seems like the GUI limits you to the 100 most expensive methods in the Call Graph view, and the Call Tree view shows even less methods.
Also, is there any way to output all of the profiling information to a text file or something, so that the results can be stored and compared between two different snapshots?
Do you have any future development plans for this tool? It could be very useful with some more development (e.g. flesh out the memory side of things a bit more).
Sorry for the delay.
About the UI limitations you are right. I just used some values I found reasonable at the time I wrote P4J.
You´re right about the call tree. If a method contributes less than 5% (i think) it will be hidden. Few months ago another user requested a more flexibe way to set this. Until I find time to fix it, I just decreased this threshold to 1%, which is more than most people need because below this level almost everything is plain "noise" anyway.
The call graph panel has an upper limit set in the UI but this can be increased. If want to change this, just change the line 608 in the class net.sf.profiler4j.console.MainFrame to something like
You can´t increase this value too much otherwise some other defaults would have to be changed as well. My advice is: If you want to profile an application maybe the best strategy is simply to add more restrictive rules (REJECT)... that is.. if you can´t isolate the hotspot... no profiler would help you.
Please take a look at the latest version in CVS. The release is not yet complete but many refactorings were made and some stability issues were fixed as well (replaced javassist by asm, almost all classes can be profiled now)
Regarding the 'compare snapshot' feature: This will be added in the future. Currently, in the next release, I plan to add a very simple export/import snapshot in the menu.
Finally, the last answer: Yes, I have a lot of ideas (see CHANGELOG.txt), including a full JVMTI memory profiler (I have a proof of concept). Although I could not spend to much time coding, Profile4j is still alive and in development. If you have any suggestion feel free to post them here or in the Feature Request Tracker.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.