Supplementare @ risposta di Gordon in merito a xhprof.
ci sono due parti:
- Il PECL extension
- Il user-space viewer
L'estensione PECL aggiunge metodi al motore PHP per la raccolta delle metriche. È necessario installare questa estensione.
Il visualizzatore spazio utente fornisce un'interfaccia Web per la comprensione dell'output della raccolta di metriche. Non è necessario, ma davvero desidera esso. A meno che non ti piaccia guardare i dati delle metriche non elaborati.Per installare e configurare il visualizzatore user-space in modo che PHPUnit possa profilare i test:
(1) Aggiungere questi pacchetti per il vostro composer.json
:
composer require "facebook/xhprof:[email protected]" --dev
composer require "phpunit/test-listener-xhprof:1.0.*@dev" --dev
(2) Configurare il server web per servire il fornitore/directory facebook/xhprof/xhprof_html /. Ricorda l'URL.
(3) Adattare la configurazione PHPUnit esistente in un phpunit-xhprof.xml
simile a questo. Assicurati di cambiare il "appNamespace" per abbinare il vostro codice e cambiamento "xhprofWeb" per l'URL dal passaggio 2:
<phpunit>
<testsuites>
<testsuite name="All Tests">
<directory suffix="Test.php">tests/</directory>
</testsuite>
</testsuites>
<listeners>
<listener class="PHPUnit\XHProfTestListener\XHProfTestListener" file="vendor/phpunit/test-listener-xhprof/src/XHProfTestListener.php">
<arguments>
<array>
<element key="appNamespace">
<string>App</string>
</element>
<element key="xhprofWeb">
<string>http://localhost/vendor/facebook/xhprof/xhprof_html/index.php</string>
</element>
<element key="xhprofLibFile">
<string>./vendor/facebook/xhprof/xhprof_lib/utils/xhprof_lib.php</string>
</element>
<element key="xhprofRunsFile">
<string>./vendor/facebook/xhprof/xhprof_lib/utils/xhprof_runs.php</string>
</element>
<element key="xhprofFlags">
<string>XHPROF_FLAGS_CPU,XHPROF_FLAGS_MEMORY</string>
</element>
<element key="xhprofIgnore">
<string>call_user_func,call_user_func_array</string>
</element>
</array>
</arguments>
</listener>
</listeners>
</phpunit>
(4) Eseguire PHP e raccogliere statistiche: phpunit -c ./phpunit-xhprof.xml
Vedrai uscita simile al seguente:
* BishopB\Pattern\Exception\InvalidArgumentTest::test_hierarchy
http://localhost/vendor/facebook/xhprof/xhprof_html/index.php?run=556e05cec844c&source=BishopB\Pattern
Questo è l'URL che è stato configurato per visualizzare il risultato della corsa. Se si desidera visualizzare i dati grezzi metriche, trovare la chiave run ("556e05cec844c", in questo esempio) nella directory temporanea:
$ ls -l /tmp/556e05cec844c.BishopB\\Pattern.xhprof
-rw-rw-r-- 1 bishop staff 16963 Jun 2 15:36 /tmp/556e05cec844c.BishopB\Pattern.xhprof
domanda riguardava xhprof, questo è xdebug –