Programming Tools:prgtools

How to analyze profiling data Foundation

When a trace run is complete, raw trace data is stored in a PRF file and can be analyzed using the Xbase++ Profiler Analyzing Tool (XPPPAT.EXE). The name of the PRF file can be passed on the command line when XPPPAT.EXE is started, or the PRF file is selected from the menu "File->New session".

An analyzing session begins with a Session Info window where remarks can be entered about the current version of the analyzed program. This is helpful when different versions of a program are compared in the course of program code optimization.
Raw trace data can be viewed immediately using "Analyze->View raw trace data".
Statistical data can be viewed via "Analyze->Call/time statistics". The calculation of the statistic may take a considerable amount of time, depending on the duration of the trace run and how much information is collected. A progress bar indicates how much data is already processed.
The execution flow of multi-threaded programs can be viewed using "Analyze->Execution flow".

Menu

Option

File

New session

Displays a file dialog for opening a PRF file.

Open session

Re-opens a saved session.

Save session

Save the selected session data for later review.

Close session

Close the selected session along with associated browse windows.

Exit

This ends the Profiler Analyzing Tool.

Menu

Option

Edit

Preferences

Displays the preferences dialog.

Preference dialog settings
Page Item Meaning
PrintOuts
Font Select a font to be used when printing
Diagram
View raw trace For a quicker access to diagrams, the creation of sorted columns can be configured.
Call statistic "
Calculate Decide if a new calculation has to be confirmed.

The settings will be stored in a file named XPPPAT.PAI located in the directory where XPPPAT.EXE resides. If you have any problems while restoring previously saved preferences delete the file XPPPAT.PAI.

Menu

Option

Analyze

View raw trace data

Opens a browser window displaying raw trace data.

Browser columns of raw data
Column heading Description
TID Thread-Id. 0 is used to mark entries made by the profiler itself.
OP Type of operation:
I - enter function
O - exit function
B - begin of trace
X - exit of trace
H - trace on hold
R - trace resumed
E - error while tracing
MSG The name of the function/method/macro or other messages
LINE Line-number when available
PARAMS Parameters of call

Call/Time statistics

Opens a browser window displaying statistical data about function/method calls and the time used for code execution.

Browser columns of Call/Time statistics
Column heading Description
FUNCTION / METHOD / MACRO Name of the function/method/macro or other messages
CALLS Number of calls made to this function
TIME CLEAR Consumed time excluding the time consumed by sub routines
TIME GROSS Total consumed time
TIME MAX Longest call
TIME MIN Shortest call
AVG TIME Average consumed time (Time clear/calls)
PERCENT Part of total consumed time clear

Execution flow

Opens a browser window that displays data about the execution flow of a program. This is mainly of interest if a program uses multiple threads. Each thread is displayed in a separate browser column.

Browser columns of Execution flow
Column heading Description
TIME Milliseconds elapsed since program start
TID Function/method call in thread with this ID

Menu

Option

Context Menu

Copy

On a result view, right-click with the mouse. A context menu appears. "Copy" will copy the current view to the clipboard as text.

Context Menu

Print

"Print" lets you print the current view. You may want to select a font before the first printout, see "Preferences". The printer dialog has a "printer" button where you can optionally select ie. a landscape formatted output instead of portrait.

Context Menu

Save as

The current view will be saved as a text report to a file.

Feedback

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.