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 &lt;main&gt; /home/rasmus/phan/src/phan.php:1
+# mem 119159776 123721960
+
+0 ast\parse_code &lt;internal&gt;:-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 &lt;main&gt; /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 &gt; /tmp/output
 $ cat /tmp/output | stackcollapse-phpspy.pl | flamegraph.pl &gt; 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>