Launch local SystemTap scripts on Eclipse
Summary
Graphically displays the call hierarchy from executing a C/C++ binary, along with various other runtime statistics.
Owner
- Name: Charley Wang
- E-mail: chwang@redhat.com
- Name: Roland Grunberg
- E-mail: rgrunber@redhat.com
Current status
- Targeted release: Fedora 12
- Last updated: 2009-09-29
- Percentage of completion: 100%
Detailed Description
Allow developers to profile their C/C++ projects directly from Eclipse, and view various runtime information about their program such as :
- Relationship between function calls
- Number of times each function was called
- Time an instance of a function took relative to whole program
- Cumulative time of a function relative to whole program
- Ability to click on a function in the visual graph, and jump to its source code
- Ability to 'step' through function calls within the graph in chronological order
In addition, this feature allows the viewing of the entire call hierarchy in various ways :
- One function at a time, and only its children, along with nodes coloured to represent whether that function has additional children
- All function in a condensed tree-like structure to show as much of the call hierarchy as is possible
- All functions in a larger tree structure so as to give the user the ability to pan around the hierarchy
- All unique functions as boxes with colour and size relative to the number of calls, and time taken respectively
- Ability to switch between viewing all instances of functions called, and all identical functions grouped together
Benefit to Fedora
Makes it easier for C/C++ developers to use SystemTap. Offers developers new ways to trace function calls, system calls, with a tidy frontend for user-friendly data.
Scope
Adds a small plugin family to Eclipse, which will provide the above functionality.
Test Plan
- Run upstream unit tests
User Experience
- Users of Eclipse's CDT tools will be able to select Profile As and select the script to run.
- The present release will only contain a preconstructed function call graph script, other preconstructed scripts and a launch wizard will be in future versions.
- For screenshots and more details, see: Eclipse/CallGraph
- Brief demo video : http://altrez.darktech.org/basicFunctions.ogg (~ 1 min)
Dependencies
- SystemTap translator/driver (version 0.9.8/0.141+) <rpm: systemtap>
- Eclipse 3.4.1 or greater, with CDT <rpm: eclipse-cdt, eclipse-platform>
- Eclipse GEF (specifically Zest) <rpm: eclipse-gef>
Contingency Plan
- Continue without such capability.
Documentation
- SystemTap documentation: The upstream website has documentation and examples of SystemTap scripts.
- SystemTap Eclipse Documentation : Eclipse/CallGraph
Release Notes
Users will need to be part of the stapdev group on their machine in order to fully take advantage of SystemTap's offerings.