blob: b6a13904b0e8f0dcb91d19fc81cc86c2a87ee1b9 [file] [log] [blame]
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
$pageTitle = "Linux Tools Project - OProfile Support";
$pageKeywords = "linux, eclipse, downloads";
$pageAuthor = "Andrew Overholt";
# Add page-specific Nav bars here
# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
# $Nav->addNavSeparator("My Page Links", "downloads.php");
# $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);
# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);
# End: page-specific settings
#
# Paste your HTML content between the EOHTML markers!
$html = <<<EOHTML
<div id="midcolumn">
<h1>$pageTitle</h1>
<h2>Overview</h2>
<p>
The Linux Distributions 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.
</p>
<h2>Current Status</h2>
<p>
In conjunction with CDT 5.0, the plugin can do the following:
<ul>
<li>Launch a local C/C++ application and OProfile simultaneously to start profiling (requires root password to execute OProfile commands)</li>
<li>Automatically gather OProfile data and display in a tree viewer after a launch</li>
<li>Configure OProfile to profile several events simultaneously with as many debug registers as the CPU/OProfile supports</li>
<li>Configure OProfile to profile relevant shared-libraries and/or kernel modules</li>
<li>Jump to the line-number of the corresponding source file on a double-click of a sample</li>
<li>Prompt to save the default session on double-click</li>
<li>View the oprofiled log</li>
<li>One-click launch with sane defaults</li>
</ul>
</p>
<h2>Future Plans</h2>
<p>
<ul>
<li> Robust filtering for events/sessions/images</li>
<li> Code-colourization (similar to <a href="http://www.eclemma.org/index.html" class="external text" title="http://www.eclemma.org/index.html" rel="nofollow">EclEmma</a>) for code hotspots</li>
<li> Comparing two sessions/runs similar to functionality of opreport</li>
<li> Increase test coverage</li>
</ul>
</p>
<h2>Screenshots</h2>
<p>
<table cellpadding="9">
<tbody>
<tr>
<td>
<a href="images/oprofile_view.png"><img src="images/oprofile_view_thumb.png"/></a>
</td>
<td>
<a href="images/event_config_tab.png"><img src="images/event_config_tab_thumb.png"/></a>
</td>
</tr>
<tr>
<td style="text-align: center">
OProfile View
</td>
<td style="text-align: center">
Event Configuration Tab
</td>
</tr>
</tbody>
</table>
</p>
<h2>Try it out</h2>
<p>
At present we have no update site, but you can check the project plugins out of SVN
directly from eclipse.org at svn://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools.
You will need the 5 plugins under oprofile/trunk, and the 2 plugins under profiling/trunk:
<pre>
org.eclipse.linuxtools.oprofile.core
org.eclipse.linuxtools.oprofile.core.linux.x86
org.eclipse.linuxtools.oprofile.core.linux.x86_64
org.eclipse.linuxtools.oprofile.launch
org.eclipse.linuxtools.oprofile.ui
org.eclipse.linuxtools.profiling.launch
org.eclipse.linuxtools.profiling.ui
</pre>
To install, run (as root) the script in org.eclipse.linuxtools.oprofile.core/natives/linux/scripts (currently only works on Fedora machines). This will ensure all the necessary programs are installed and create a wrapper for opcontrol to allow root authentication with the root password:
<pre>
$ sudo ./install
</pre>
From there, run the plugin as an Eclipse Application. So far, we have tested using Eclipse 3.4.1, CDT 5.0, OProfile 0.9.3 on Fedora 9 x86 and Fedora 10 x86_64.
</p>
<br/><br/><br/>
</div>
<div id="rightcolumn">
<div class="sideitem">
<h6>Incubation</h6>
<div style="text-align: center">
<a href="/projects/what-is-incubation.php"><img src="/images/egg-incubation.png" alt="Incubation"/></a>
</div>
</div>
</div>
EOHTML;
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>