8398c9048d
code was modified slightly, so the code differs from the original downloadable 1.9.5 version
33 lines
No EOL
682 B
JavaScript
33 lines
No EOL
682 B
JavaScript
dojo.provide("dojox.lang.aspect.profiler");
|
|
|
|
(function(){
|
|
var aop = dojox.lang.aspect,
|
|
uniqueNumber = 0;
|
|
|
|
var Profiler = function(title){
|
|
this.args = title ? [title] : [];
|
|
this.inCall = 0;
|
|
};
|
|
dojo.extend(Profiler, {
|
|
before: function(/*arguments*/){
|
|
if(!(this.inCall++)){
|
|
console.profile.apply(console, this.args);
|
|
}
|
|
},
|
|
after: function(/*excp*/){
|
|
if(!--this.inCall){
|
|
console.profileEnd();
|
|
}
|
|
}
|
|
});
|
|
|
|
aop.profiler = function(/*String?*/ title){
|
|
// summary:
|
|
// Returns an object, which can be used to time calls to methods.
|
|
//
|
|
// title:
|
|
// The optional name of the profile section.
|
|
|
|
return new Profiler(title); // Object
|
|
};
|
|
})(); |