Kbase 20336: What is the 4GL Performance Profiler and is it Supported?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/6/2008 |
|
Status: Verified
GOAL:
What is the 4GL Performance Profiler and is it Supported?
GOAL:
Application Profiler (Profiler)
FACT(s) (Environment):
Progress 9.X
OpenEdge 10.x
FIX:
The 4GL Performance Profiler (also known as the Application Profiler) is a free software tool that is available to customers on the Progress product CD, usually in the following directory:
$DLC/src/samples/profiler
The tool is freeware and is not supported by Progress Technical Support. It is provided as is, has not undergone a quality assurance process, and is not maintained by Progress engineering. Please do not contact Progress Technical Support regarding any aspect of this tool or its use.
A performance profiler is a common and useful tool for a software developer. It provides a "profile" of an application's execution that usually means timing information and call-tree information. With the output, a developer can analyze where the application is spending most of its time, and what part of the application is calling what other part of the application.
When the 4GL Performance Profiler is used with a PROGRESS 4GL application, the result is an output file containing a summary of what code was executed and timing data for each line that was executed. The summary data can be read into a Progress database and analyzed.
When profiling is enabled, the runtime interpreter records 4GL statement begin and end times with microsecond precision. In addition, it records the statement line number and a module identifier. Each distinct external procedure, internal procedure, user-defined function, session database trigger, or user interface trigger that is executed is considered a module and is assigned a unique identifier.
The profiling feature can be controlled in either of two ways:
- From the 4GL itself (most common).
- By command line startup option.
Consult the README.TXT file included in the Profiler directory for more information.
A 4GL application that is run with profiling enabled does not behave differently except for an occasional slowing while the Profiler performs its analysis and input/output.
For further information please review Progress Solution 19495, "Documentation for the Profiler Object in Progress 9.x and OpenEdge 10.x"