Discussions
Categories
- 196.7K All Categories
- 2.2K Data
- 235 Big Data Appliance
- 1.9K Data Science
- 449.9K Databases
- 221.6K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 549 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 532 SQLcl
- 4K SQL Developer Data Modeler
- 186.9K SQL & PL/SQL
- 21.3K SQL Developer
- 295.4K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.1K Development Tools
- 104 DevOps
- 3.1K QA/Testing
- 645.9K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 153 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 158 Java 8 Questions
- 85.9K Java Programming
- 79 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.2K Java SE
- 13.8K Java Security
- 203 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 399 LiveLabs
- 37 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.6K Other Languages
- 2.3K Chinese
- 170 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 230 Portuguese
elapsed_time in apex_workspace_activity_log

Trying to get a better understanding of what elapsed_time is to use it in custom charts to show our highest-used APEX apps.
The description in the apex_dictionary is "Elapsed time to generate page source"
So, if you were to sum the elapsed_time for a certain app and time period, this would be the sum of all the times any page in the app was fully loaded (in seconds)?
Thank you!
Answers
-
That's how I use it. (Though it's not the entire time the user may be waiting. Networking lag...)
And I marry this with frequency, and compared medians & averages to find those that are used often, occasionally slow, frequently slow, rarely used, etc.
-
Thanks Scott! Do you have an example of a query where you've married it with frequency?
-
Yes, I should have clarified further. I think I used an odd choice of words
Here I'm just looking at how often the page was used during the day.
select to_char(view_date,'hh24') dt ,count(*) c ,min(elapsed_time) min ,round(median(elapsed_time),2) median ,round(avg(elapsed_time),2) avg ,max(elapsed_time) max ,round(avg(elapsed_time)-median(elapsed_time),2) difffrom apex_workspace_activity_logwhere view_date > sysdate-2 -- last two daysand application_id = :APP_IDand page_view_type = 'Rendering'group by to_char(view_date,'hh24')order by dt desc
I find it interesting how the outliers tend the average away from the median as the count drops.
And you could do what some of the app builder reports do and multiple them out to find weighted averages / medians
-- top pagesselect r.application_id||':'||r.page_id page ,p.application_name||' - '||p.page_name page ,count(*) c ,count(distinct apeX_user) unique_users ,sum(elapsed_time) sum_elapsed ,count(*) * sum(elapsed_time) weighted_sum ,count(*) * median(elapsed_time) weighted_median ,max(elapsed_time) max_elapsed ,round(avg(elapsed_time),3) avg_elapsed ,median(elapsed_time) median_elapsed ,count(case when page_view_type = 'Rendering' then 1 end) render ,count(case when page_view_type = 'AJAX' then 1 end) ajaxfrom apex_workspace_activity_log r join apx_application_Pages p on p.page_id = r.page_id and p.application_id = r.application_idwhere r.application_id = :MY_APPgroup by r.application_id||':'||r.page_id ,p.application_name||' - '||p.page_name order by c desc
In this case, I might ask why page 5 has a higher median than 1 or 3 (particularly since I'm aware of what those pages do...)
I love this data.
-
These are great examples - thank you so much Scott!
I'm not sure if this is a silly question but is each elapsed_time entry for initial page load only or also for page refresh (such as generating a new chart or report on the same page with new filters)?
-
I don't think it's a silly question. If I remember correctly, the page_view_type column was introduced in APEX 5.0 to help answer this question.
So you get separate records for each, and check out the request_value column to give it some more context.