I found JProfiler (commercial) to be really helpful. It has Eclipse integration, although it is not an Eclipse plugin per sa', so you can very easily invoke a profiler instead of a regular execution session. It had very good bottleneck analysis and you can find-tune the settings to lower the overheads of the profiler itself. Highly recommended.