Linux Tools Project - OProfile Support

Overview

The Linux Tools OProfile plugin aims to bring the powerful call profiling capabilities of OProfile to Eclipse, in a manner that is easy to use for developers of any level of experience. Inexperienced users can, with 1 click, determine the parts of their code which use the most time while experienced users of OProfile can perform the same functions they would on the command-line but with a much more rich visualization of the results.

Current Status

In conjunction with the CDT, the plugin can do the following:
  • Launch a local C/C++ application and OProfile simultaneously to start profiling (requires root password to execute OProfile commands)
  • Automatically gather OProfile data and display in a tree viewer after a launch
  • Launch a local C/C++ application and manually control OProfile via a simple dialog
  • Configure OProfile to profile several events simultaneously with as many debug registers as the CPU/OProfile supports
  • Configure OProfile to profile relevant shared-libraries and/or kernel modules
  • Jump to the line-number of the corresponding source file on a double-click of a sample
  • Prompt to save the default session for viewing at a later time
  • View the oprofiled log
  • One-click launch with sane defaults

Future Plans

  • Robust filtering for events/sessions/images
  • Code-colourization (similar to EclEmma) for code hotspots
  • Comparing two sessions/runs similar to functionality of opreport

Screenshots

OProfile View

Oprofile view

Event Configuration Tab

Oprofile config tab

Video Demo

Check out a screencast of the plugin in action here.

Try it out

You can download the plugin from our update site, or check the project plugins out of Git directly from eclipse.org at git://git.eclipse.org/gitroot/linuxtools/org.eclipse.linuxtools.git. You will need all the plugins under oprofile subfolder, and the plugins under the profiling subfolder:
     
	org.eclipse.linuxtools.oprofile-feature
	org.eclipse.linuxtools.oprofile.core
	org.eclipse.linuxtools.oprofile.core.linux.ppc
	org.eclipse.linuxtools.oprofile.core.linux.x86
	org.eclipse.linuxtools.oprofile.core.linux.x86_64
	org.eclipse.linuxtools.oprofile.core.tests
	org.eclipse.linuxtools.oprofile.doc
	org.eclipse.linuxtools.oprofile.launch
	org.eclipse.linuxtools.oprofile.launch.tests
	org.eclipse.linuxtools.oprofile.test-feature
	org.eclipse.linuxtools.oprofile.tests
	org.eclipse.linuxtools.oprofile.ui
	org.eclipse.linuxtools.oprofile.ui.tests
	org.eclipse.linuxtools.profiling-feature
	org.eclipse.linuxtools.profiling.launch
	org.eclipse.linuxtools.profiling.test-feature
	org.eclipse.linuxtools.profiling.tests
	org.eclipse.linuxtools.profiling.ui
For help with installing and using the plugin, please read the user guide here.

We have tested using Eclipse 4.2.0, OProfile 0.9.6, and 0.9.7 on Fedora 16 x86, Fedora 17 x86.