Databases Reference
In-Depth Information
And in any account, what you really should be paying attention to is EXECUTION_TIME. If you want
to find what you need to performance-tune within your page, pay attention to the thing with the largest
execution time.
Using Debug Data for More Than Debugging
The fact that you have direct access to the data, and now know how to keep the data around for
longer than the natural four-week cycle that is built in to APEX, means that you can begin to use this
data for more than just debugging. The overall information that is available makes this data perfect for
performing longer-term analysis and performance tracking.
For instance, using programmatic debugging, you could choose to collect and keep performance
information about your most important application pages. You may not want to keep information for
every page view, but you could easily write logic that captures n % of all page views. Then using the
information contained in your long-term debug tables you can track the performance over time. You
could even begin to spot and map trends in performance, potentially identifying when a critical process
might trend outside its window of acceptability.
Another potential use is to compare data before and after making a change to a page. If the main
structure of the page hasn't changed, but instead the driving query behind it, then you would be able to
easily write code to compare, line for line, whether the new version of the page ran faster or slower than
a previously captured version.
If a page calls stored PL/SQL code that is also instrumented using the APEX Debugging API, you
then have insight into the performance trends of the business logic that you've written in PL/SQL.
The bottom line is, you have this data for whatever purposes you wish, and the better instrumented
your code, the more detail you have at your disposal.
Debugging Dynamic Actions
Because the Dynamic Actions framework is actually implemented as JavaScript that is processed in the
browser, debugging dynamic actions is approached a bit differently. APEX still uses Debug mode to
determine whether or not the Dynamic Actions framework should emit data and you can still enable
debugging in all the same ways that have been discussed. However, instead of inserting data into the
underlying debug messages tables, the Dynamic Actions framework emits message to the browser's
JavaScript console.
The information that appears in the JavaScript console takes the following form:
Dynamic Action Fired: [Dynamic Action Name](Specific Action Fired])
Figure 6-28 shows an example of using the FireBug JavaScript console in Firefox to view the debug
information.
Search WWH ::




Custom Search