Como primera línea del script PHP, llamar la función apd_set_pprof_trace() para iniciar el rastreo.
<?php
apd_set_pprof_trace();
?>
Se puede insertar la línea en cualquier parte del script, pero si no se inicia el rastreo al comienzo, se descartarán los datos de depurado que pudieran llevar a determinar un cuello de botella del desempeño.
Ahora se corre el script. La salida será escrita a apd.dumpdir/pprof_pid.ext.
Si está corriendo la versión CGI de PHP, es necesario agregar la opción
'-e' para activar la información extendida que APD requiere para trabajar
apropiadamente. Por ejemplo:
php -e -f script.php
Para mostrar formateados los datos de performance, se envía el comando pprofp con las opciones de ordenado y presentación. La salida formateada se verá algo como esto:
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
La opción –R usada en este ejemplo, ordena la tabla del performance por la cantidad de tiempo real que el script gasta ejecutando una función dada. La columna "cumm call" revela cuantas veces cada función es llamada y la columna "s/call" muestra cuantos segundos requiere en promedio cada llamada a la función.
Para generar un archivo de árbol de llamados que se pueda importar en la aplicación de análisis de perfil KCacheGrind, enviar el comando pprof2calltree.