APD
PHP Manual

Exemples

Comment utiliser PHP-APD dans vos scripts

  1. À la première ligne de votre script PHP, appelez la fonction apd_set_pprof_trace() afin de commencer à enregistrer la trace :

    apd_set_pprof_trace();

    Vous pouvez insérer la ligne n'importe où dans votre script, mais si vous ne commencez pas à enregistrer la trace au début de votre script, vous désactiverez les données du profile qui pourraient vous mener à trouver un goulot d'étranglement.

  2. Maintenant, exécutez votre script. L'affichage sera écrit dans le fichier apd.dumpdir/pprof_pid.ext.

    Astuce

    Si vous utilisez la version CGI de PHP, vous devrez utiliser l'option "-e" afin d'activer les informations étendues d'APD. Par exemple : php -e -f script.php

  3. Pour désactiver le formatage des données du profile, exécutez la commande pprofp et affichez les options de votre choix. Le formatage de la sortie ressemblera à :

    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
    

    L'option -R utilisé dans cette exemple trie la table du profile par la colonne "Real Time", représentant le temps mis par le script à exécuter une fonction donnée. La colonne "cumm call" montre le nombre de fois que la fonction a été appelée et la colonne "s/call", le nombre de seconde chaque appel à la fonction nécessite, en moyenne.

  4. Pour générer un fichier "calltree" que vous pourrez importer dans l'application d'analyse de profile KCacheGrind, exécutez la commande pprof2calltree.


APD
PHP Manual