İzlemeyi başlatmak için PHP betiğinizin ilk satırında apd_set_pprof_trace() işlevini çağırın.
<?php
apd_set_pprof_trace();
?>
İşlevi betiğinizdeki herhangi bir satıra da ekleyebilirsiniz, fakat eğer izlemeye betiğinizin başından başlamazsanız diğer şekilde sizi bir başarım dar boğazına sürükleyebilecek olan profil bilgisini atmış olacaksınız.
Şimdi betiği çalıştırın. Döküm çıktısı apd.dumpdir/pprof_pid.ext dosyasına yazılacaktır.
Eğer PHP'nin CGI sürümünde çalışıyorsanız, apd'nin doğru
şekilde çalışması için '-e' seçeneğini kullanarak
genişletilmiş bilgiyi etkinleştirmeniz gerekecek. Örneğin:
php -e -f script.php
Biçimlendirilmiş profil bilgisini göstermek için, pprofp komutunu istediğiniz sıralama ve gösterme seçenekleri ile çalıştırın. Biçimlendirilmiş çıktı aşağıdaki gibi görünecektir:
bash-2.05b$ pprofp -R /tmp/pprof.22141.0 Trace for /home/dan/testapd.php Total Elapsed Time = 0.00 Total System Time = 0.00 Total User Time = 0.00 Real User System secs/ cumm %Time (excl/cumm) (excl/cumm) (excl/cumm) Calls call s/call Memory Usage Name -------------------------------------------------------------------------------------- 100.0 0.00 0.00 0.00 0.00 0.00 0.00 1 0.0000 0.0009 0 main 56.9 0.00 0.00 0.00 0.00 0.00 0.00 1 0.0005 0.0005 0 apd_set_pprof_trace 28.0 0.00 0.00 0.00 0.00 0.00 0.00 10 0.0000 0.0000 0 preg_replace 14.3 0.00 0.00 0.00 0.00 0.00 0.00 10 0.0000 0.0000 0 str_replace
Bu örnekte kullanılan -R seçeneği profil tablosunu betiğin verili işlevi yürütürken kullandığı gerçek zaman miktarına göre sıralar. "cumm call" sütunu her işlevin ortalama kaç kez çağrıldığını, "s/call" sütunu da her işlev çağrısı için ortalama kaç saniye gerektiğini gösterir
KCacheGrind profil çözümleme uygulamasına aktarabileceğiniz bir çağrı-ağacı dosyası oluşturmak için, pprof2calltree komutunu verin.