com presentations: more phpspy features: etsy18.html slides/intro/phpspy.xml
[email protected] (Rasmus Lerdorf) Tue, 13 Nov 2018 22:57:21 +0000
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Commit: cc4ca42afb8b2b992bd8d498797c013f4028669d Author: Rasmus Lerdorf <[email protected]> Tue, 13 Nov 2018 17:57:21 -0500 Parents: ddb3fe3518f368089794fad7fa93eb8f5aaba6ba Branches: master Link: http://git.php.net/?p=presentations.git;a=commitdiff;h=cc4ca42afb8b2b992bd8d498797c013f4028669d Log: more phpspy features Changed paths: M etsy18.html M slides/intro/phpspy.xml Diff: diff --git a/etsy18.html b/etsy18.html index 7051f14..3ab6b6b 100644 --- a/etsy18.html +++ b/etsy18.html @@ -906,11 +906,32 @@ process_vm_readv: No such process</code></pre> # 1537119612.459615 /index.php p=1 /var/www/wordpress/index.php -</code></pre> </section> <section id="spy3"> + <p class="p" style="font-size:1.1em;text-align:left;">Memory usage on stack frames</p> + <pre><code class="shell nohighlight" data-trim style="font-size:0.9em;" >$ sudo phpspy -m php src/phan.php + +0 Phan\Analysis::parseNodeInContext /home/rasmus/phan/src/Phan/Analysis.php:176 +1 Phan\Analysis::parseNodeInContext /home/rasmus/phan/src/Phan/Analysis.php:176 +2 Phan\Analysis::parseNodeInContext /home/rasmus/phan/src/Phan/Analysis.php:176 +3 Phan\Analysis::parseNodeInContext /home/rasmus/phan/src/Phan/Analysis.php:176 +4 Phan\Analysis::parseFile /home/rasmus/phan/src/Phan/Analysis.php:63 +5 Phan\Phan::analyzeFileList /home/rasmus/phan/src/Phan/Phan.php:94 +6 <main> /home/rasmus/phan/src/phan.php:1 +# mem 119159776 123721960 + +0 ast\parse_code <internal>:-1 +1 Phan\AST\Parser::parseCode /home/rasmus/phan/src/Phan/AST/Parser.php:42 +2 Phan\Analysis::parseFile /home/rasmus/phan/src/Phan/Analysis.php:63 +3 Phan\Phan::analyzeFileList /home/rasmus/phan/src/Phan/Phan.php:94 +4 <main> /home/rasmus/phan/src/phan.php:1 +# mem 82471616 123721960</code></pre> + <p class="p" style="font-size:1em;text-align:left;">perf/callgrind output support soon, Adam?</p> + </section> +<section id="spy4"> <p class="p" style="font-size:1.1em;text-align:left;">Generate a flame graph</p> <pre><code class="shell nohighlight" data-trim style="font-size:0.9em;" >$ phpspy phan > /tmp/output $ cat /tmp/output | stackcollapse-phpspy.pl | flamegraph.pl > flame.svg</code></pre> </section> -<section id="spy4"> +<section id="spy5"> <object data="/presentations/slides/intro/phan.svg" type="image/svg+xml" align="center" width="80%" height="80%">Use a newer browser, please</object> </section> </section> <section> diff --git a/slides/intro/phpspy.xml b/slides/intro/phpspy.xml index a965836..9165e0a 100644 --- a/slides/intro/phpspy.xml +++ b/slides/intro/phpspy.xml @@ -73,13 +73,37 @@ $ sudo phpspy -r -p $(pgrep -n php-fpm) ]]></example> <break lines="1" section="spy3"/> +<blurb fontsize="1.1em" align="left">Memory usage on stack frames</blurb> +<example fontsize="0.9em" result='0' title="" type="shell nohighlight"><![CDATA[ +$ sudo phpspy -m php src/phan.php + +0 Phan\Analysis::parseNodeInContext /home/rasmus/phan/src/Phan/Analysis.php:176 +1 Phan\Analysis::parseNodeInContext /home/rasmus/phan/src/Phan/Analysis.php:176 +2 Phan\Analysis::parseNodeInContext /home/rasmus/phan/src/Phan/Analysis.php:176 +3 Phan\Analysis::parseNodeInContext /home/rasmus/phan/src/Phan/Analysis.php:176 +4 Phan\Analysis::parseFile /home/rasmus/phan/src/Phan/Analysis.php:63 +5 Phan\Phan::analyzeFileList /home/rasmus/phan/src/Phan/Phan.php:94 +6 <main> /home/rasmus/phan/src/phan.php:1 +# mem 119159776 123721960 + +0 ast\parse_code <internal>:-1 +1 Phan\AST\Parser::parseCode /home/rasmus/phan/src/Phan/AST/Parser.php:42 +2 Phan\Analysis::parseFile /home/rasmus/phan/src/Phan/Analysis.php:63 +3 Phan\Phan::analyzeFileList /home/rasmus/phan/src/Phan/Phan.php:94 +4 <main> /home/rasmus/phan/src/phan.php:1 +# mem 82471616 123721960 +]]></example> + +<blurb fontsize="1em" align="left">perf/callgrind output support soon, Adam?</blurb> + +<break lines="1" section="spy4"/> <blurb fontsize="1.1em" align="left">Generate a flame graph</blurb> <example fontsize="0.9em" result='0' title="" type="shell nohighlight"><![CDATA[ $ phpspy phan > /tmp/output $ cat /tmp/output | stackcollapse-phpspy.pl | flamegraph.pl > flame.svg ]]></example> -<break lines="1" section="spy4"/> +<break lines="1" section="spy5"/> <object filename="phan.svg" type="image/svg+xml" width="80%" height="80%" align="center"/> </slide>