YUI recommends YUI3.
YUI 2 has been deprecated since 2011. This site acts as an archive for files and documentation.
This documentation is no longer maintained.
This example shows basic usage of the Profiler for profiling a single function. A single function is profiled and all of the information displayed.
Keep an eye on the Logger console at right to see the profiling information being reported.
This example begins by creating a namespace:
This namespace serves as the core object upon which others will be added (to prevent creating global objects).
Next, an object is created with a method:
This object, MathHelper
contains a single method called factorial()
that computes the
factorial of a given number. Any time factorial()
is called, the argument indicates how many times
the function will be recursively called. For example, factorial(10)
results in the funtion being
called 10 times. This makes it an ideal test case for profiling because the results are so predictable.
The most important step to profile this function is to call registerFunction()
with the fully-qualified
function name, which is YAHOO.example.profiler.MathHelper
:
Since this function is fully accessible in the global scope, there's no need to provide the owner object as the second argument.
With everything setup, the last step is to run the code. This initialization is assigned to take place when the document tree has been
completely loaded by using the Event utility's onDOMReady()
method:
The code block begins by calling factorial()
once, which gets profiled. Then, the information
about the function can be retrieved from the Profiler. This information is output into the Logger on the page,
displaying the number of times that the function was called along with the minimum, maximum, and average
running times. Since this is a very simple function, the run times will most likely be 0ms on most machines.
All YUI 2.x users should review the YUI 2.8.2 security bulletin, which discusses a vulnerability present in YUI 2.4.0-2.8.1.
Copyright © 2013 Yahoo! Inc. All rights reserved.