@tumetom
Sieht wirklich interessant aus, nur mit dem Array funktionierts
nicht, Array hat ja sein eigene toString, die den join(',') macht.
@bokel
Hups, dafür haste jetzt einen gemeinen Käfer bei mir gut...:-)
Hier ist noch eine neue Version, die bei jeder Nachricht die
Millisekunden seit der letzten Nachricht ausgibt. Den Bug habe
ich natürlich rausgenommen...:-)
Werde es wohl nochmal ändern, so dass die Zeit ausgeben wird
die der Methoden-Aufruf verbraucht hat, dann hat man einen
schönen Performance-Profiler.
netten Gruß, Holger
ActionScript:
trace(String(traceMessages = function (pObj, pBlnLastMethodOnly) {
for (var p in pObj) {
if (typeof pObj[p] != 'function') continue;
var tmp = pObj[p];
pObj[p] = function() {
var t = getTimer() - arguments.callee.__traceMessages.intLastCallTime;
arguments.callee.__traceMessages.intLastCallTime = getTimer();
trace('<call-of ['+t+']> ' + arguments.callee.__methodName + '(' + arguments.join(', ') + ')');
return arguments.callee.__originalMethod.apply(this, arguments);
}
pObj[p].__methodName = p;
pObj[p].__originalMethod = tmp;
pObj[p].__traceMessages = arguments.callee;
if (pBlnLastMethodOnly) return '';
}
return '';
}).substr(0,0));