Eclipse Plugin Profiling Part 2

September 26, 2008
Following my last post about plugin profiling here are the step to follow to install TPTP in order to profile time execution of your plugins. It’s now really easy to setup TPTP (no more scripts to launch outside eclipse)
  1. Install the TPTP monitoring and profiling feature (I did it easily using update manager).
  2. Create a new Profiling Launch Configuration.
  3. Select Java Profiling and click edit options in order to set a new filter on this launch configuration to only profile the class you want to profile (by default all eclipse classes are profiled and it can really decrease performances).
  4. Click next and un-Select the check box called “Automatically start profiling when application is started”.
  5. Launch the profiling session.
  6. Start and stop monitoring in the profiling perspective at any time you want.

Hereare my first results

TPTP Results
TPTP Results

I need now to clearly understand these results, and mainly to identify what is happening when calling Display.synchExec() and Job.run() methods.


Eclipse Plugins Profiling

September 11, 2008

I blogged several month ago about Memory Analyzer allowing to profile the memory of a running JVM. I also asked about time performances in this old post … and I give up the idea to profile my plugins time performances …

This week one colleague asked me about the way Eclipse manages class loading. In fact he was trying to set up JIP profiler in order to profile his Eclipse plugins. The class loading question comes from the fact that “JIP adds aspects to every method of every class that you want to profile” using byte code injection.

After investigations we concluded that it’s impossible to use this profiler to profile Eclipse Plugins. The fact that Eclipse uses a dedicated class loader for each plugin and the fact that it’s impossible to tell JIP to only profile a given subset of classess of a given JVM result in the famous NoClassDefFoundError. More informations available here.

Then I remembered that Markus Kohler told me here to have a look on Yourkit profiler. After a quick look on the available features I am not sure to be able to profile plugins with this profiler … ??

We are now setting up TPTP in order to profile our Eclipse plugins. Next round in the coming weeks …

Furthermore we would be interested in any experiences about plugin profiling.

Manu