Files
doc-fr/reference/apd/examples.xml
Damien Seguy bfbe82ab75 synch with en
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@278204 c90b9560-bf6c-de11-be94-00142212c4b1
2009-04-03 07:11:40 +00:00

109 lines
3.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.5 $ -->
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<appendix xml:id="apd.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.examples;
<section xml:id="apd.examples.usage">
<title>Comment utiliser PHP-APD dans vos scripts</title>
<procedure>
<step>
<para>
À la première ligne de votre script PHP, appelez la fonction
<function>apd_set_pprof_trace</function> afin de commencer
à enregistrer la trace :
</para>
<para>
<programlisting role="php">
<![CDATA[
apd_set_pprof_trace();
]]>
</programlisting>
</para>
<para>
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.
</para>
</step>
<step>
<para>
Maintenant, exécutez votre script. L'affichage sera écrit
dans le fichier <filename>apd.dumpdir/pprof_pid.ext</filename>.
<tip>
<para>
Si vous utilisez la version CGI de PHP, vous devrez utiliser l'option
<literal>"-e"</literal> afin d'activer les informations étendues d'APD.
Par exemple : <userinput>php -e -f script.php</userinput>
</para>
</tip>
</para>
</step>
<step>
<para>
Pour afficher les données formatées du profil, exécutez la commande
<command>pprofp</command> avec les options de tri et d'affichage de
votre choix. Le formatage de la sortie ressemblera à :
<screen>
<![CDATA[
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
]]>
</screen>
</para>
<para>
L'option -R utilisé dans cette exemple trie la table de profil par
la colonne <literal>"Real Time"</literal>, représentant le temps mis
par le script pour exécuter une fonction donnée. La colonne
<literal>"cumm call"</literal> montre le nombre de fois que
la fonction a été appelée et la colonne <literal>"s/call"</literal>,
le nombre de secondes chaque appel à la fonction nécessite, en moyenne.
</para>
</step>
<step>
<para>
Pour générer un fichier <literal>"calltree"</literal> que vous pourrez
importer dans l'application d'analyse de profil KCacheGrind, exécutez
la commande <command>pprof2calltree</command>.
</para>
</step>
</procedure>
</section>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->