Thema: traceMessages
Einzelnen Beitrag anzeigen
Alt 03-04-2003, 20:42   #11 (Permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
@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:
  1. trace(String(traceMessages = function (pObj, pBlnLastMethodOnly) {
  2.     for (var p in pObj) {
  3.         if (typeof pObj[p] != 'function') continue;
  4.         var tmp = pObj[p];
  5.         pObj[p] = function() {
  6.             var t = getTimer() - arguments.callee.__traceMessages.intLastCallTime;
  7.             arguments.callee.__traceMessages.intLastCallTime = getTimer();
  8.             trace('<call-of ['+t+']> ' + arguments.callee.__methodName + '(' + arguments.join(', ') + ')');
  9.             return arguments.callee.__originalMethod.apply(this, arguments);
  10.         }
  11.         pObj[p].__methodName = p;
  12.         pObj[p].__originalMethod = tmp;
  13.         pObj[p].__traceMessages = arguments.callee;
  14.         if (pBlnLastMethodOnly) return '';
  15.     }
  16.     return '';
  17. }).substr(0,0));
__________________
gobogo

Geändert von hOk (03-04-2003 um 20:45 Uhr)
hOk ist offline   Mit Zitat antworten