Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Profiling with TPTP - plug-in development"

(Execution Analysis : Identify a bottleneck)
(Memory Analysis : Identify a memory leak)
Line 42: Line 42:
  
 
== Memory Analysis : Identify a memory leak ==
 
== Memory Analysis : Identify a memory leak ==
 +
Memory leak problem can be identify with the help of Memory Analysis. Memory Analysis can be enabled in the launch configuration by selecting '''Memory Analysis''' type of a Java profiler.
 +
::[[Image:Sanp23.jpg]]
 +
If allocation detail information is required, enable the option in the Edit Option detail of the analysis type.
 +
::[[Image:Sanp24.jpg]]
 +
Double-clicking on the profile agent opens the '''Memory Statistics''' view which shows you memory related information of an application under profiled.
 +
::[[Image:Sanp26.jpg]]
 +
Selecting any class instance in the table and switch to the '''Allocation Details''' tab gives more information about the allocation of the selected class. Note that allocation details is available only when '''Track Object Allocation Site''' option is enabled in the profile configuration.
 +
::[[Image:Sanp27.jpg]]
 +
In the view, array information is also traced. They are shown as type[] for array or type[][] for two-dimensional array.
 +
::[[Image:Sanp28.jpg]]
  
 
== Thread Analysis ==
 
== Thread Analysis ==

Revision as of 09:25, 1 October 2008

Overview

  • This page shows how to quick start a profiling session on a plug-in project. TPTP must be installed on an Eclipse workbench, for more information on installation, please read Install TPTP with Update Manager.

Profile a plug-in project

  • 1. Select a plug-in project and select Profile As > Eclipse Application.
Pluginscreen1.jpg
  • 2. In the profile configuration dialog, under Monitor tab, select Java Profiling agent and select Edit Options.
Pluginscreen2.jpg
  • 3. In Filter page, add a new filter.
Pluginscreen3.jpg
  • 4. Input a new filter that includes your plug-in packages. eg.,
sample.myplugin* * INCLUDE
Pluginscreen4.jpg
  • 5. Click Finish to apply filter.
Pluginscreen5.jpg
  • 6. Click OK to start profile session.
Pluginscreen6.jpg
  • 7. Select Yes to switch to profiling perspective upon request.
Pluginscreen7.jpg
  • 8. Profiling resources (process, agent, and analysis type) are created in Profiling Monitor view.
Pluginscreen8.jpg
  • 9. Interact with your Run-time workbench for profiling agent to collect profiling data.
  • 10.In the development workbench, double-click on an analysis type to open a profiling view to show profiling data collected.
Pluginscreen9.jpg


  • 11.In profiling table view, select any column header to sort the table.
Pluginscreen10.jpg

Execution Analysis : Identify a bottleneck

Execution Statistics view provides several approaches to identify a potential bottleneck in an application run. By changing the view to Method level Information orientation, list of methods is shown in the table.

Snap17.jpg

Sort the table with Base Time column, the method with most time spend will be shown as top of the list.

Snap18.jpg

Further investigation can be done by opening the Method Invocation views. They shows invocation detail about the methods like the callee and caller of the method in selection.

Snap19.jpg

Alternatively, Call tree tab is useful to quickly identify the bottleneck of an application run by inspecting the highest percentage of time spend in each thread of the application.

Snap20.jpg

Once a potential bottleneck is identified, Open Source action in context menu is a quick way to navigate to the source code for further investigation of problem.

Snap21.jpg

Memory Analysis : Identify a memory leak

Memory leak problem can be identify with the help of Memory Analysis. Memory Analysis can be enabled in the launch configuration by selecting Memory Analysis type of a Java profiler.

Sanp23.jpg

If allocation detail information is required, enable the option in the Edit Option detail of the analysis type.

Sanp24.jpg

Double-clicking on the profile agent opens the Memory Statistics view which shows you memory related information of an application under profiled.

Sanp26.jpg

Selecting any class instance in the table and switch to the Allocation Details tab gives more information about the allocation of the selected class. Note that allocation details is available only when Track Object Allocation Site option is enabled in the profile configuration.

Sanp27.jpg

In the view, array information is also traced. They are shown as type[] for array or type[][] for two-dimensional array.

Sanp28.jpg

Thread Analysis

Back to the top