Profiling Eclipse RCP applications with Eclipse TPTP
I believe approx. one or two years ago I tried to profile an Eclipse RCP application with the Eclipse TPTP project. I believe at this point in time profiling an RCP application with TPTP was not possible.
I learned from Eugene Chan that the TPTP release which is part of Eclipse Galileo allows to profile Eclipse RCP applications.
I suggest you give it a try, it is as easy as profiling a standard Java application.
You find an updated description here: Eclipse TPTP Tutorial.
Thanks to Eugene Chan, Paul Slauenwhite and Kathy Chan from the TPTP team for feedback on the article.
Filed under: Eclipse
November 18th, 2009 at 10:02 am
Hi,
Don’t you have any isssues with performance running TPTP? (yes TPTP is here to track down this ^^)
When I tried to use TPTP with my RCP appliction, only launching my RCP app tooks 30min… Is there some configuration that I may be miss? or is it “normal”?
November 18th, 2009 at 10:26 am
Each time when I tried TPTP I chose another tool for profiling
But from time to time I try it again and have the same results
Now I use YourKit profiler.
November 18th, 2009 at 4:06 pm
@Aurelien Profiling my RCP app also took longer. But you can use the filter to profile only the classes you are interested in.
November 18th, 2009 at 10:25 pm
Ok, I never used the filter as I never explore really TPTP as it was so slow. Thanks for the advice
November 19th, 2009 at 7:34 am
@Aurelien: I also learned this feature from Eugene. Very cool and speeds up quite a bit the profiling process.
December 5th, 2009 at 1:28 am
I have also had trouble with the scalability of TPTP when profiling an RCP app. I also ultimately chose to use YourKit, which does not appear to suffer from the same scalability problems.
I did change my filter in TPTP to only do execution time analysis on com.mycompany.*, but apparently that is still too much data, because when I start to profile, and the Profile perspective shows it has recorded about 1gig of data, it comes to a grinding halt and I have to kill Eclipse and the app that was launched.
When I use YourKit, I launch it standalone (not within Eclipse), and simultaneously launch my app with the -agent parameter, then connect the two together.