Ces fonctions Javascript vous permettront de tester combien de temps
la page exécute des portions de code ASP. On définira
une variable de type TimeTest par:
var TT = new TimeTest(true);
Puis on placera un "marquage" là où l'on
désire tester le temps d'exécution, par exemple:
TT.Mark("Menus afficher");
Il ne reste plus, en bas de page, qu'à afficher les statistiques
de chargement (temps total, temps et pourcentage du temps total
pour chaque marque) avec:
TT.Stats();
function TimeTest(DoIt) {
this.bDoIt = DoIt;
this.LastMill = (new Date()).getMilliseconds();
this.LastSec = (new Date()).getSeconds();
this.Total = 0;
this.Marks = new Array();
this.Mark = TimeTest_Mark;
this.Mark("TOP");
this.Stats = TimeTest_Stats;
}
function TimeTest_Mark(LogText) {
if (this.bDoIt) {
var Sec = (new Date()).getSeconds();
var Mill = (new Date()).getMilliseconds();
var Diff = 0;
if (Sec==this.LastSec) Diff = (Mill-this.LastMill)
else Diff = ((1000-this.LastMill) + Mill)
+ ((Sec - (this.LastSec+1)) * 1000)
this.Total += Diff;
Response.Write("<P><B>" + LogText + " : " + Sec + ":" + Mill
+ " +" + Diff
+ " (" + this.Total + ")</B></P>");
this.LastSec = Sec;
this.LastMill = Mill;
this.Marks[this.Marks.length] = new Array(LogText, Diff);
}
}
function TimeTest_Stats() {
if (this.bDoIt) {
for (var i=0; i<this.Marks.length; i++)
Response.Write("<B>" + this.Marks[i][0] + " - " + this.Marks[i][1]
+ " - " + (((this.Marks[i][1]/this.Total)*100)+"").
substring(0,(((this.Marks[i][1]/this.Total)*100)+"").indexOf(".")+2)
+ "%</B><BR>");
}
}
|