[presentations] master: tweaks
[email protected] (Rasmus Lerdorf) Wed, 7 Dec 2022 01:09:24 +0000
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Author: Rasmus Lerdorf (rlerdorf)
Date: 2022-12-06T18:57:57-06:00
Commit: https://github.com/php/presentations/commit/729e93e9454dc940129a3ad2ee01758badaf4d06
Raw diff: https://github.com/php/presentations/commit/729e93e9454dc940129a3ad2ee01758badaf4d06.diff
tweaks
Changed paths:
M etsymex22.html
M etsymex22.xml
M slides/intro/phan_2019.xml
Diff:
diff --git a/etsymex22.html b/etsymex22.html
index 1aa9f2d3..b5b2c576 100644
--- a/etsymex22.html
+++ b/etsymex22.html
@@ -261,7 +261,7 @@ <h1 style="text-align:center;">Static Analysis</h1>
<pre><code class="shell nohighlight" data-trim style="font-size:1em;" >$ composer require --dev phan/phan</code></pre>
<p class="p" style="font-size:1.5em;text-align:left;">Create .phan/config.php</p>
<pre><code class="shell nohighlight" data-trim style="font-size:1em;" >return [
- 'target_php_version' => '8.0',
+ 'target_php_version' => '8.2',
'directory_list' => [ 'src/' ],
"exclude_analysis_directory_list" => [ 'vendor/' ],
];</code></pre>
@@ -303,112 +303,6 @@ <h1 style="text-align:center;">Static Analysis</h1>
<p>Your user agent does not support the HTML5 Video element.</p>
</video>
</div> </section> </section>
- <section>
- <section id="phpspy">
- <h1 style="text-align:center;">phpspy</h1>
- <p class="p" style="font-size:1.1em;text-align:center;">Low-overhead sampling profiler</p>
- <div align="center" style="font-size: 1em; color: ; text-align: center; margin-left: ; margin-right: ; margin-top: ; margin-bottom: ;"><a href="https://github.com/adsr/phpspy" target="">https://github.com/adsr/phpspy</a></div>
- </section>
- <section id="spy1" >
- <p class="p" style="font-size:1.1em;text-align:left;">Sample frequency in nanoseconds (or Hz)</p>
- <pre><code class="shell nohighlight" data-trim style="font-size:0.9em;" >$ phpspy -s 200000000 -- php -r 'sleep(1);'
-0 sleep <internal>:-1
-1 <main> <internal>:-1
-
-0 sleep <internal>:-1
-1 <main> <internal>:-1
-
-0 sleep <internal>:-1
-1 <main> <internal>:-1
-
-0 sleep <internal>:-1
-1 <main> <internal>:-1
-
-0 sleep <internal>:-1
-1 <main> <internal>:-1
-
-process_vm_readv: No such process</code></pre>
- </section>
- <section id="spy2" >
- <p class="p" style="font-size:1.1em;text-align:left;">Attach to a running process</p>
- <pre><code class="shell nohighlight" data-trim style="font-size:0.9em;" >$ sudo phpspy -r -p $(pgrep -n php-fpm)
-
-0 wp_installing /var/www/wordpress/wp-includes/load.php:944
-1 wp_load_alloptions /var/www/wordpress/wp-includes/option.php:189
-2 get_option /var/www/wordpress/wp-includes/option.php:90
-3 create_initial_taxonomies /var/www/wordpress/wp-includes/taxonomy.php:43
-4 WP_Hook::apply_filters /var/www/wordpress/wp-includes/class-wp-hook.php:286
-5 WP_Hook::do_action /var/www/wordpress/wp-includes/class-wp-hook.php:310
-6 do_action /var/www/wordpress/wp-includes/plugin.php:453
-7 <main> /var/www/wordpress/wp-settings.php:450
-8 <main> /var/www/wordpress/wp-config.php:89
-9 <main> /var/www/wordpress/wp-load.php:37
-10 <main> /var/www/wordpress/wp-blog-header.php:13
-11 <main> /var/www/wordpress/index.php:17
-# 1537119612.459615 /index.php p=1 /var/www/wordpress/index.php -
-
-0 mysqli_query <internal>:-1
-1 wpdb::_do_query /var/www/wordpress/wp-includes/wp-db.php:1924
-2 wpdb::query /var/www/wordpress/wp-includes/wp-db.php:1813
-3 wpdb::get_results /var/www/wordpress/wp-includes/wp-db.php:2488
-4 _prime_comment_caches /var/www/wordpress/wp-includes/comment.php:2871
-5 WP_Comment_Query::get_comments /var/www/wordpress/wp-includes/class-wp-comment-query.php:427
-6 WP_Comment_Query::query /var/www/wordpress/wp-includes/class-wp-comment-query.php:346
-7 get_comments /var/www/wordpress/wp-includes/comment.php:226
-8 WP_Widget_Recent_Comments::widget /var/www/wordpress/wp-includes/widgets/class-wp-widget-recent-comments.php:99
-9 WP_Widget::display_callback /var/www/wordpress/wp-includes/class-wp-widget.php:372
-10 dynamic_sidebar /var/www/wordpress/wp-includes/widgets.php:743
-11 <main> /var/www/wordpress/wp-content/themes/twentyfifteen/sidebar.php:41
-12 load_template /var/www/wordpress/wp-includes/template.php:688
-13 locate_template /var/www/wordpress/wp-includes/template.php:647
-14 get_sidebar /var/www/wordpress/wp-includes/general-template.php:110
-15 <main> /var/www/wordpress/wp-content/themes/twentyfifteen/header.php:49
-16 load_template /var/www/wordpress/wp-includes/template.php:688
-17 locate_template /var/www/wordpress/wp-includes/template.php:647
-18 get_header /var/www/wordpress/wp-includes/general-template.php:41
-19 <main> /var/www/wordpress/wp-content/themes/twentyfifteen/single.php:10
-20 <main> /var/www/wordpress/wp-includes/template-loader.php:74
-21 <main> /var/www/wordpress/wp-blog-header.php:19
-22 <main> /var/www/wordpress/index.php:17
-# 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>
- </section>
- <section id="spytop" >
- <p class="p" style="font-size:1.1em;text-align:center;">Top-like output mode </p>
- <img src="/presentations/slides/intro/phpspy_top.gif" align="center" width="772" height="452">
-<aside class="notes"><br />
-sudo ptop<br />
-cd ~/phan<br />
-phan<br />
-</aside>
- </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="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>
<section id="deploy">
<h1 style="text-align:center;">Let's deploy it!</h1>
diff --git a/etsymex22.xml b/etsymex22.xml
index 7b5df422..3f44c589 100644
--- a/etsymex22.xml
+++ b/etsymex22.xml
@@ -27,7 +27,6 @@
<slide>slides/intro/etsyphp22.xml</slide>
<slide>slides/intro/etsyframework.xml</slide>
<slide>slides/intro/phan_2019.xml</slide>
-<slide>slides/intro/phpspy.xml</slide>
<slide>slides/intro/deploy_2016.xml</slide>
<slide>slides/intro/supported.xml</slide>
<slide>slides/intro/wp2022.xml</slide>
diff --git a/slides/intro/phan_2019.xml b/slides/intro/phan_2019.xml
index c98eb1ca..c81b2cca 100644
--- a/slides/intro/phan_2019.xml
+++ b/slides/intro/phan_2019.xml
@@ -12,7 +12,7 @@ $ composer require --dev phan/phan
<example fontsize="1em" result='0' title="" type="shell nohighlight"><![CDATA[
<?php
return [
- 'target_php_version' => '8.0',
+ 'target_php_version' => '8.2',
'directory_list' => [ 'src/' ],
"exclude_analysis_directory_list" => [ 'vendor/' ],
];