Eu pensei em compartilhar a função que eu criei. Espero que você possa economizar tempo.
Ele foi originalmente usado para rastrear o tempo de um script baseado em texto, portanto, a saída está no formato de texto. Mas você pode modificá-lo facilmente para HTML, se preferir.
Ele fará todos os cálculos para você por quanto tempo foi gasto desde o início do script e em cada etapa. Ele formata toda a saída com 3 casas decimais de precisão. (Até milissegundos.)
Depois de copiá-lo para a parte superior do seu script, tudo o que você faz é colocar as chamadas da função recordTime após cada peça que você desejar.
Copie isso para o topo do seu arquivo de script:
$tRecordStart = microtime(true);
header("Content-Type: text/plain");
recordTime("Start");
function recordTime ($sName) {
global $tRecordStart;
static $tStartQ;
$tS = microtime(true);
$tElapsedSecs = $tS - $tRecordStart;
$tElapsedSecsQ = $tS - $tStartQ;
$sElapsedSecs = str_pad(number_format($tElapsedSecs, 3), 10, " ", STR_PAD_LEFT);
$sElapsedSecsQ = number_format($tElapsedSecsQ, 3);
echo "//".$sElapsedSecs." - ".$sName;
if (!empty($tStartQ)) echo " In ".$sElapsedSecsQ."s";
echo "\n";
$tStartQ = $tS;
}
Para acompanhar o tempo que passa, basta:
recordTime("What We Just Did")
Por exemplo:
recordTime("Something Else")
//Do really long operation.
recordTime("Really Long Operation")
//Do a short operation.
recordTime("A Short Operation")
//In a while loop.
for ($i = 0; $i < 300; $i ++) {
recordTime("Loop Cycle ".$i)
}
Dá saída assim:
// 0.000 - Start
// 0.001 - Something Else In 0.001s
// 10.779 - Really Long Operation In 10.778s
// 11.986 - A Short Operation In 1.207s
// 11.987 - Loop Cycle 0 In 0.001s
// 11.987 - Loop Cycle 1 In 0.000s
...
// 12.007 - Loop Cycle 299 In 0.000s
Espero que isso ajude alguém!