Display Report Execution Time with #TIMING# in Oracle APEX


Optimizing performance is a key concern for any Oracle APEX developer, especially when building data-rich dashboards or reports. One simple but effective tool at your disposal is the #TIMING# substitution variable, which allows you to display the elapsed execution time for any report region right where your users can see it.
What Is #TIMING#?
The *TIMING# substitution variable represents the elapsed time (in seconds) taken to render a region, including the time to fetch data and render region items. This variable is available for use in the footer of any report region (such as Interactive Reports, Classic Reports, or Charts).
Why Use #TIMING#?
Performance Transparency: Show users how long their reports take to run, helping set expectations for data-heavy queries.
Troubleshooting: Quickly identify slow-running regions on a page, making it easier to pinpoint and tune problematic queries.
User Communication: When users request large or complex datasets, the timing info helps explain longer wait times.
How to Implement #TIMING# in Your Reports
Edit the Report Region:
In Page Designer, select the report region you want to monitor.Add #TIMING# along with other substitution strings to the Footer:
Fetched #ROWS_FETCHED# rows of #TOTAL_ROWS# in #TIMING# seconds
Special Built-in Region Substitution Strings
| Substitution String | Description | | --- | --- | |
#ROWS_FETCHED#
| Number of rows fetched by the report | |#TOTAL_ROWS#
| Total number of rows in the query | |#TIMING#
| Time taken to render the region (in seconds) | |#APEX$ROW_NUM#
| Row number in Classic Reports |Save and Run:
Save your changes and run the application. The footer will now display real-time execution metrics every time the report runs.Considerations
Works Per Region: #TIMING# is available only for report regions, not for the entire page or non-report regions.
Debugging: For deeper performance analysis, use APEX’s debug mode (LEVEL9) to see detailed execution times for every component.
Subscribe to my newsletter
Read articles from Rodrigo Mesquita directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Rodrigo Mesquita
Rodrigo Mesquita
Rodrigo is a Senior Oracle Developer at QV Systems. He is an experienced software engineer with emphasis in analysis, design and development of bespoke Oracle applications utilising development tools such as APEX, PL / SQL, jQuery, javaScript, CSS and JSON for a variety of international businesses. Rodrigo speaks regularly at Oracle community events and enjoys creating APEX plugins and writing blogs.