TRACE-FILTER attribute
- Last Updated: August 29, 2023
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
The TRACE-FILTER attribute controls how the "Tracing Data" section is
populated. TRACE-FILTER specifies a comma-separated string that uses wildcard
matching for any procedure or class you want the profiler to write timing data for. The setting
provides a quick way to find out timing data about specific procedures or classes in an ABL
application. Because TRACE-FILTER has a performance impact, Progress does not
recommend enabling it in production systems.
Data type: CHARACTER
Access: Readable/Writable
Applies to: PROFILER system handle
The initial value is an empty string ("").
The expression patterns are interpreted in the same way as the ABL built-in
MATCHES operator. If a procedure name matches one of the patterns on the list,
then the profiler records detailed timing information for every executable line in that
procedure. The pattern matching is not case-sensitive.
In addition to recording summary timing data for each executable line,
TRACE-FILTER records timing information each time a statement is executed.
With this detailed information, a complete execution trace for the application can be
established.
If the value of TRACE-FILTER is " ", then
the pattern does not match any procedure names. When no procedure names are matched, the only
tracing information the profiler records is what is specified by the PROFILER:TRACING attribute. If the value
is "*", then the pattern matches all procedure names.
Set the TRACE-FILTER pattern before turning on profiling
(that is, before setting PROFILER:PROFILING=TRUE).
Redundant entries in the PROFILER:TRACE-FILTER list are
automatically removed.
Separate timing data is generated for each ABL statement in the procedure. Therefore, if your procedure contains a loop, your output file will contain a line of timing data for each executable statement of each iteration of the loop.
Examples
TRACE-FILTER to:
|
TRACE-FILTER to:
|