You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
670 B
33 lines
670 B
dojo.provide("dojox.lang.aspect.timer"); |
|
|
|
(function(){ |
|
var aop = dojox.lang.aspect, |
|
uniqueNumber = 0; |
|
|
|
var Timer = function(name){ |
|
this.name = name || ("DojoAopTimer #" + ++uniqueNumber); |
|
this.inCall = 0; |
|
}; |
|
dojo.extend(Timer, { |
|
before: function(/*arguments*/){ |
|
if(!(this.inCall++)){ |
|
console.time(this.name); |
|
} |
|
}, |
|
after: function(/*excp*/){ |
|
if(!--this.inCall){ |
|
console.timeEnd(this.name); |
|
} |
|
} |
|
}); |
|
|
|
aop.timer = function(/*String?*/ name){ |
|
// summary: |
|
// Returns an object, which can be used to time calls to methods. |
|
// |
|
// name: |
|
// The optional unique name of the timer. |
|
|
|
return new Timer(name); // Object |
|
}; |
|
})(); |