mirror of
https://github.com/php/doc-es.git
synced 2026-03-26 08:22:08 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@301259 c90b9560-bf6c-de11-be94-00142212c4b1
107 lines
3.4 KiB
XML
107 lines
3.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- $Revision$ -->
|
||
<!-- EN-Revision: f453f7036c74f5f8ce5e15d3d5abbaf8dfd599e2 Maintainer: jpberdejo Status: ready -->
|
||
|
||
<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>Como usar PHP-APD en los scripts</title>
|
||
<procedure>
|
||
<step>
|
||
<para>
|
||
Como primera línea del script PHP, llamar la función apd_set_pprof_trace()
|
||
para iniciar el rastreo.
|
||
</para>
|
||
<para>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
apd_set_pprof_trace();
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</para>
|
||
<para>
|
||
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.
|
||
</para>
|
||
</step>
|
||
<step>
|
||
<para>
|
||
Ahora se corre el script. La salida será escrita a
|
||
<filename>apd.dumpdir/pprof_pid.ext</filename>.
|
||
<tip>
|
||
<para>
|
||
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:
|
||
<userinput>php -e -f script.php</userinput>
|
||
</para>
|
||
</tip>
|
||
</para>
|
||
</step>
|
||
<step>
|
||
<para>
|
||
Para mostrar formateados los datos de performance, se envía el comando
|
||
<command>pprofp</command> con las opciones de ordenado y presentación.
|
||
La salida formateada se verá algo como esto:
|
||
<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>
|
||
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>
|
||
</step>
|
||
<step>
|
||
<para>
|
||
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 <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:"~/.phpdoc/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
|
||
-->
|