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 "Linux Tools Project/Callgraph/User Guide"

(Features)
Line 1: Line 1:
= Installation =
+
= Overview  =
  
Installation of the Eclipse SystemTap plugin will be done through the yum repository. Users can simply type from command-line :
+
The Eclipse-Callgraph plug-in provides a visual function trace of a program. This allows you to view a visualization of selected (or even all) functions used by the profiled application.  
  
'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.
+
This plug-in allows you to profile C/C++ projects directly within the Eclipse IDE, providing various runtime details such as:
  
<center>
+
*The relationship between function calls
[[Image:Profile-screen.png]]
+
*Number of times each function was called
</center>
+
*Time taken by each instance of a function (relative to the program's execution time)
 +
*Time taken by all instances of a function (relative to program's execution time)
  
= Features =
 
  
==Call Graph==
 
  
Renders a visual function trace of the program, tracking selected or all functions.
+
Eclipse-Callgraph uses SystemTap to perform function traces. For more information about SystemTap, refer to the [http://sources.redhat.com/systemtap/SystemTap_Beginners_Guide/ SystemTap Beginner's Guide].  
  
 +
= Installation  =
  
This feature comes with a few different display options and various other information such as :
+
Performing visual function traces with Eclipse-Callgraph requires three components:  
  
* function parent/children relationships
+
*the Eclipse-Callgraph package
* number of times a function is called
+
*SystemTap
* time spent in an instance of a function
+
*the kernel information packages required by SystemTap
* time spent in all instances of a function
+
  
  
<center>[[Image:Stapgraph menu.png]]</center>
 
  
The following types of views are available to see the call hierarchy of the functions belonging to the executable.
+
You can install all of these items through '''yum'''. To install Eclipse-Callgraph and SystemTap, run:
 +
<pre>yum install eclipse-callgraph systemtap systemtap-runtime -y</pre>
 +
 
 +
 
 +
The required kernel information packages are the matching '''-devel''', '''-debuginfo''', and '''-debuginfo-common''' packages of the kernel you wish to profile. You can use '''yum''' or '''debuginfo-install''' to install these packages. For more details about installing SystemTap, refer to [http://sources.redhat.com/systemtap/SystemTap_Beginners_Guide/using-systemtap.html#using-setup Installation and Setup] from the [http://sources.redhat.com/systemtap/SystemTap_Beginners_Guide/ SystemTap Beginner's Guide].
 +
 
 +
= General Usage  =
 +
 
 +
All the profiling plugins (including Eclipse-Callgraph) are accessible from the C/C++ perspective. Right-click on an application's C/C++ source file (in the Editor view) or binary (in the Package Explorer view).
 +
 
 +
<center>
 +
[[File:Profile-screen.png]]
 +
</center>
 +
 
 +
= Features  =
 +
 
 +
== Call Graph ==
  
 +
Renders a visual function trace of the program, tracking selected or all functions.
  
[[Image:Radial_view.png]]
+
<br> This feature comes with a few different display options and various other information such as&nbsp;:  
[[Image:Tree_view.png]]
+
[[Image:Box_view.png]]
+
[[Image:Aggregate_view.png]]
+
  
 +
*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
  
==Linkage To Source Code==
+
<br>
 +
<center>[[Image:Stapgraph menu.png]]</center>
 +
The following types of views are available to see the call hierarchy of the functions belonging to the executable.
  
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.
+
<br> [[Image:Radial view.png]] [[Image:Tree view.png]] [[Image:Box view.png]] [[Image:Aggregate view.png]]
  
 +
<br>
  
==Function Calls In Chronological Order==
+
== Linkage To Source Code ==
  
Using the "Go To" menu, one can step through functions in chronological order, using the Previous/Next options.
+
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.  
  
<center>[[Image:Callgraph goto menu.png]]</center>
+
<br>  
  
 +
== Function Calls In Chronological Order ==
  
==Open / Save Call Graphs==
+
Using the "Go To" menu, one can step through functions in chronological order, using the Previous/Next options.
 +
<center>[[Image:Callgraph goto menu.png]]</center>
 +
<br>
  
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.
+
== Open / Save Call Graphs ==
  
<center>[[Image:Callgraph_file_menu.png]]</center>
+
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.
 +
<center>[[Image:Callgraph file menu.png]]</center>

Revision as of 21:15, 18 August 2010

Overview

The Eclipse-Callgraph plug-in provides a visual function trace of a program. This allows you to view a visualization of selected (or even all) functions used by the profiled application.


This plug-in allows you to profile C/C++ projects directly within the Eclipse IDE, providing various runtime details such as:

  • The relationship between function calls
  • Number of times each function was called
  • Time taken by each instance of a function (relative to the program's execution time)
  • Time taken by all instances of a function (relative to program's execution time)


Eclipse-Callgraph uses SystemTap to perform function traces. For more information about SystemTap, refer to the SystemTap Beginner's Guide.

Installation

Performing visual function traces with Eclipse-Callgraph requires three components:

  • the Eclipse-Callgraph package
  • SystemTap
  • the kernel information packages required by SystemTap


You can install all of these items through yum. To install Eclipse-Callgraph and SystemTap, run:

yum install eclipse-callgraph systemtap systemtap-runtime -y


The required kernel information packages are the matching -devel, -debuginfo, and -debuginfo-common packages of the kernel you wish to profile. You can use yum or debuginfo-install to install these packages. For more details about installing SystemTap, refer to Installation and Setup from the SystemTap Beginner's Guide.

General Usage

All the profiling plugins (including Eclipse-Callgraph) are accessible from the C/C++ perspective. Right-click on an application's C/C++ source file (in the Editor view) or 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


File: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 File:Box view.png File: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

Back to the top