From Fedora Project Wiki
 
(22 intermediate revisions by 2 users not shown)
Line 3: Line 3:
Installation of the Eclipse SystemTap plugin will be done through the yum repository. Users can simply type from command-line :  
Installation of the Eclipse SystemTap plugin will be done through the yum repository. Users can simply type from command-line :  


'yum install systemtap-eclipse'
'yum install eclipse-callgraph'
 


== General Usage ==
== General Usage ==
Line 10: Line 9:
All the SystemTap plugins are accessible from the C/C++ perspective, by right clicking on C/C++ source file in the editor view, or by right clicking on the corresponding binary in the package explorer view.
All the SystemTap plugins are accessible from the C/C++ perspective, by right clicking on C/C++ source file in the editor view, or by right clicking on the corresponding binary in the package explorer view.


 
<center>
[[File:Profile-screen.png]]
[[File:Profile-screen.png]]
 
</center>


== Features ==
== Features ==
Line 18: Line 17:
'''Call Graph'''
'''Call Graph'''


Clicking on the 'function callgraph' will render a visual representation of the functions that were called while running the executable.
Renders a visual function trace of the program, tracking selected or all functions.
 
 
This feature comes with a few different display options and various other information such as :
 
* function parent/children relationships
* number of times a function is called
* time spent in an instance of a function
* time spent in all instances of a function
 
 
<center>[[File:Stapgraph menu.png]]</center>


[[File:Stapgraph_regular_view_scaled.png]]
The following types of views are available to see the call hierarchy of the functions belonging to the executable.




'''File IO Monitor'''
[[File:Radial_view.png]]
[[File:Tree_view.png]]
[[File:Box_view.png]]
[[File:Aggregate_view.png]]


Clicking on 'File IO Monitor' will prompt the user to specify the location of a file. After this, any read/write calls to that file will be shown with the process that made the read/write call, and the time at which this happened.


Since this script can run for as long as is necessary, the user must manually stop the script by clicking on the 'kill script' button in the SystemTap view.
'''Linkage To Source Code'''


[[File:Fileiomonitor scaled.png]]
The graph views are linked to their source code -- hold CTRL and double-click any function in a non-aggregate view to be taken to where that function was called. Doing the same for an aggregate node will take you to where that function is defined.




'''Function Trace'''
''' Function Calls In Chronological Order'''


Clicing on 'Function Trace' will render a text-based representation of the series of function calls, and returns that were executed.
Using the "Go To" menu, one can step through functions in chronological order, using the Previous/Next options.


[[File:Callgraph_text_scaled.png‎]]
<center>[[FILE:Callgraph goto menu.png]]</center>




'''Script Launch Wizard'''
''' Open / Save Call Graphs '''


Clicking on the 'Launch Wizard' will help the user in launching custom made SystemTap scripts on any chosen C/C++ executable.
Certain large projects might take longer to render, and so users have the ability to save the data collected from having profiled their project. Loading the data file and attempting to render that will take a much shorter time than attempting to go through the full process of profiling a project.


#TODO : finish this
<center>[[FILE:Callgraph_file_menu.png]]</center>

Latest revision as of 23:59, 1 October 2009

Installation

Installation of the Eclipse SystemTap plugin will be done through the yum repository. Users can simply type from command-line :

'yum install eclipse-callgraph'

General Usage

All the SystemTap plugins are accessible from the C/C++ perspective, by right clicking on C/C++ source file in the editor view, or by right clicking on the corresponding binary in the package explorer view.

Profile-screen.png

Features

Call Graph

Renders a visual function trace of the program, tracking selected or all functions.


This feature comes with a few different display options and various other information such as :

  • function parent/children relationships
  • number of times a function is called
  • time spent in an instance of a function
  • time spent in all instances of a function


Stapgraph menu.png

The following types of views are available to see the call hierarchy of the functions belonging to the executable.


Radial view.png Tree view.png Box view.png Aggregate view.png


Linkage To Source Code

The graph views are linked to their source code -- hold CTRL and double-click any function in a non-aggregate view to be taken to where that function was called. Doing the same for an aggregate node will take you to where that function is defined.


Function Calls In Chronological Order

Using the "Go To" menu, one can step through functions in chronological order, using the Previous/Next options.

Callgraph goto menu.png


Open / Save Call Graphs

Certain large projects might take longer to render, and so users have the ability to save the data collected from having profiled their project. Loading the data file and attempting to render that will take a much shorter time than attempting to go through the full process of profiling a project.

Callgraph file menu.png