A session is a single execution of a project, compiled or not, during which profile data is gathered.


Data acquisition

There are 2 different methods of data acquisition: Internal and External. You don't need to care about this; VB Watch will always select the best method unless you force one. Everything is done automatically from project intrumentation to results display.



Profiling a project requires to log timing data each time a line is executed. The code needed to log time, also known as overhead, may of course be longer than the line it times and thus should not be counted.

VB Watch uses advanced techniques that minimizes the overhead time so as to give very accurate data and to not delay the overall execution time too much. Again, all of this is handled seamlessly so you don't have to worry about it.

Important: it is recommended to close other applications running on your system before profiling a session.


Session Files

.pfl: raw profile data file. This file is created at the end of a session and may be huge (contains one line for each line of code executed or procedure call), thus it may take some time to analyze the first time it is loaded in the Profiler.

.pfd: analyzed data file. .pfl files are transformed in .pfd files once they have been analyzed at least once in the Profiler. They are typically much smaller than .pfl's and take much less time to load.

When you click on one of the load session toolbar button, you may also select:

.vbp: select the original .vbp project file to load all sessions relevant to the current version of this project (ignores sessions of older versions).


Merge and Compare sessions

When 2 or more sessions are selected, the Merge and Compare sessions appear.

The Merge session is a session that merges the data of all selected sessions, as if the data had been gathered in only one session. It is generally used for coverage analysis.

The Compare sessions allow to compare the data of different sessions, in the data view only. They are generally used for timing analysis.

When the 2 or more selected sessions share the same source project (1), they are said homogeneous, and heterogeneous otherwise. The main difference is that in the case of heterogeneous sessions, lines are not analyzed, only procedures and modules.

(1) Important: by source project, we mean the instrumented project: the one that is created and includes profiling code. So if you wish to have homogeneous sessions, you must always run or re-run the instrumented project or its compiled file, and not restart a instrumentation from the toolbar. Besides it will save you time.

The session view helps you determine which sessions share the same source project.

By default, the instrumented project is created in a subdirectory of the original project named like "Profiler-<project name> <project version>". This subdirectory should itself contain all .pfl and .pfd files associated to the instrumented project.


Project group sessions

When profiling a .vbg project group, sessions are analyzed as a single project group and saved as a single .pfd file. They are displayed with their subprojects as shown below: