|
Description
The tracing and profiling feature allows you to collect and analyze information about the execution of your PowerBuilder application. There are three ways to collect trace data:
- You can use the Profiling page on the System Options dialog box to enable tracing
- You can insert tracexxx( ) functions in your application scripts at the beginning and end of the code you want to trace
- You can add a window to your application that lets you turn tracing on and off as you run the application (w_starttrace is provided in the Profile.pbl)
To analyze the collected data, you can use the Application Profiler or the profiling and trace system objects to build your own analysis and/or display applications.
Uses
The tracing and profiling feature helps you identify areas that you should rewrite to improve performance and find errors in the application's logic.
Objects
A number of new system objects have been added to support tracing and profiling.
The following objects provide the functions and properties to create a performance analysis model from your trace file and to extract information from that model:
|
ProfileCall
|
ProfileRoutine
|
|
ProfileClass
|
Profiling
|
|
ProfileLine
|
|
The following objects provide the functions and properties to create a nested tree model from your trace file and to extract information from that model:
|
TraceTree
|
TraceTreeNode
|
|
TraceTreeError
|
TraceTreeObject
|
|
TraceTreeESQL
|
TraceTreeRoutine
|
|
TraceTreeGarbageCollect
|
TraceTreeUser
|
|
TraceTreeLine
|
|
The following objects provide the functions and properties to access the data in your trace file sequentially:
|
TraceActivityNode
|
TraceGarbageCollect
|
|
TraceBeginEnd
|
TraceLine
|
|
TraceError
|
TraceObject
|
|
TraceESQL
|
TraceRoutine
|
|
TraceFile
|
TraceUser
|
Functions
The following functions have been added to collect data in a trace file:
|
TraceBegin( )
|
TraceEnd( )
|
|
TraceClose( )
|
TraceError( )
|
|
TraceDisableActivity( )
|
TraceOpen( )
|
|
TraceEnableActivity( )
|
TraceUser( )
|
The following functions have been added or modified to build models and/or extract information:
|
BuildModel( )
|
NextActivity( )
|
|
ClassList( )
|
Open( )
|
|
Close( )
|
OutgoingCallList( )
|
|
DestroyModel( )
|
Reset( )
|
|
EntryList( )
|
RoutineList( )
|
|
GetChildrenList( )
|
SetTraceFileName( )
|
|
IncomingCallList( )
|
SystemRoutine( )
|
|
LineList( )
|
|
|