Inspiring people to share Inspiring people to share Profiling TYPO3 Flow Applications
Jan 21, 2015
Inspiring people to
shareInspiring people to
share
ProfilingTYPO3 Flow Applications
Karsten Dambekalns
TYPO3 Neos and Flow developer
35 years old
lives in Lübeck, Germany
1 wife, 3 sons
1 espresso machine
likes canoeing & climbing
Plumber & PhpProfiler
Features
Metrics at a glance
Listing Profiling Runs
Listing Profiling Runs
XHProf Profiling Data
Request Timeline
Comparing Runs
Installation &Configuration
Installing XHProf
On Windows:
• If you need a working DLL for XHProf on Windows (PHP 5.4) check http://dev.freshsite.pl/php-extensions/xhprof.html
• This one tracks time, while other builds found on the internet did not
MacPorts:
• sudo port install php54-xhprof
Linux:
• Search for a package in your distribution of choice
"repositories": [ { "type": "git", "url": "https://github.com/kdambekalns/Plumber.git" }, { "type": "git", "url": "https://github.com/kdambekalns/PhpProfiler.git" } ]
"require": { "sandstorm/plumber": "standalone", "sandstorm/phpprofiler": "standalone-addedbackends as 1.0.3-dev" }
Installing Plumber
composer.json
- name: 'Plumber' uriPattern: 'profiler/<PlumberSubroutes>' defaults: '@format': 'html' subRoutes: PlumberSubroutes: package: Sandstorm.Plumber
Installing Plumber
Routes.yaml
Sandstorm: Plumber: calculations: fileSystemCalls: label: 'No. of FS calls' type: regexSum regex: '#==>(file_get_contents|file_exists|filesize|is_dir|is_file|is_link|realpath|symlink|file_put_contents)#'
Configuration
Settings.yaml
What is new?(in my version)
More XHProf Beauty
PhpProfiler can store data for
• xhprof.io settings (http://xhprof.io/)
• preinheimer-xhgui (https://github.com/preinheimer/xhgui)
Install from their websites and set up as documented there :)
Configure the backend(s) to use
xhprof.io
xhprof.io
XHGui, Paul Reinheimer style
XHGui Custom Views
Sandstorm: PhpProfiler:
'xhprof.io': enable: true username: 'myuser' password: 'mypassword'
'xhgui': enable: true
Configuration
Settings.yaml
Running the UIs
preinheimer-xhgui
cd /path/to/xhgui/web/webrootphp -S localhost:8080
xhprof.io
cd /path/to/xhprof.iophp -S localhost:8080
• unfortunately that needs a proper virtual host
Up and Coming
Plans for the near Future
Make use of backends configurable
• there are some more helpful configuration settings
Import existing profiles into new analysis tools
• if a better UI comes up, using old data would be nice
Provide "production mode" that can be left running on live servers
• do not profile every request, but only every 2nd, 10th, 100th, …
Merge branches back into master, polish, promote
Help to make this reality!
Fund my project proposal
Any amount helps
Have a better Plumber
Pledge
Thank You!
slides:http://speakerdeck.com/kdambekalnshttp://slideshare.net/kfish
email: [email protected] | [email protected]
web: http://karsten.dambekalns.de
twitter & app.net: @kdambekalns