Como usar PHP-APD en los scripts

  1. 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.

  2. Ahora se corre el script. La salida será escrita a apd.dumpdir/pprof_pid.ext.

    Sugerencia

    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

  3. 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.

  4. 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.