PROFILER system handle
- Last Updated: January 21, 2026
- 3 minute read
- OpenEdge
- Version 12.8
- Documentation
A handle to initialize and control the profiler. The output from the profiler provides processing time and call-tree information to locate bottlenecks. Developers can quickly identify where an application is spending the most processing time and navigate through the call tree to the potential bottlenecks.
Syntax
|
- attribute
- Specifies an attribute of the
PROFILERhandle. - method
- Specifies a method of the
PROFILERhandle.
Attributes
Methods
| USER-DATA ( ) method | WRITE-DATA( ) method |
Notes
The best practice for profiling applications during development is to use the in Progress Developer Studio to enable and set the profiler properties on the Profiler tab. This automatically sets the profiler attributes and writes the output to a file which automatically opens in the Profiler view. For more information, see Profiler View.
Developers who want to instrument the profiler using the
PROFILER system handle must set mandatory attributes, optional
attributes, enable profiling, and write the profiler data to the designated output
file. The order in which the attributes are set matters.
- Set the ENABLED attribute.Note: Enabling and disabling profiling triggers the following actions on the profiler data output file, as listed below:
- If you set
PROFILER:ENABLED = FALSE, then profiling is disabled and the AVM writes the accumulated profiling data to the output file, and discards the registry of entries containing the list of active procedures and their module identifiers. - Profiling is automatically disabled if the ABL
session exits while
PROFILER:ENABLED = TRUEor if the AVM shuts down. This ensures that the profiling information is written to the output file.
- If you set
- Set the FILE-NAME attribute.Note: If you do not want the profiler information in the file to be overwritten by a subsequent call to
WRITE-DATA()then ensure that you provide a newFILE-NAMEfor the next profiling session and subsequent invocation ofWRITE-DATA().WRITE-DATA()can be called explicitly or by settingPROFILER:ENABLED = FALSE. - Set the DESCRIPTION attribute.
- Set the optional attributes: COVERAGE attribute, DIRECTORY attribute, LISTINGS attribute, STATISTICS attribute, TRACE-FILTER attribute and TRACING attribute.CAUTION: Avoid setting the
STATISTICSattribute, as it produces large amounts of data. Enable it only if instructed by Technical Support. - Turn on profiling with the PROFILING attribute.
- Run the application you want to profile.
- You can write the profiling information to an output file in
one of two ways:
- Disable profiling by setting
PROFILER:ENABLED = FALSEto automatically write the profiler data to the output file. - Use the WRITE-DATA( ) method.
WRITE-DATA()is useful if you want to save intermediate results without stopping profiling.
Note: If you wish to capture subsequent profiler data, then ensure that you change the file name usingPROFILER:FILE-NAMEattribute. If you don't provide a new file name, then the previous file with the profiler data is overwritten. - Disable profiling by setting
- Turn off profiling when no longer needed with the PROFILING attribute.
The output file can be opened in the Profiler view in Progress Developer Studio.
Examples
The following example shows how to use the PROFILER
programmatically. Note that the output is written automatically when
PROFILER:ENABLED = FALSE.
|
In the following example, the WRITE-DATA() method is used to write
intermediate output.
|