profiling typo3 flow applications
DESCRIPTION
Presentation given at T3CON NA in San Francisco. The slides also match the presentation giving during Inspiring Flow 2013 in Kolbermoor on 2013/04/20.TRANSCRIPT
![Page 1: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/1.jpg)
Inspiring people to
shareInspiring people to
share
ProfilingTYPO3 Flow Applications
![Page 2: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/2.jpg)
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
![Page 3: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/3.jpg)
Plumber & PhpProfiler
![Page 4: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/4.jpg)
Features
![Page 5: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/5.jpg)
Metrics at a glance
![Page 6: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/6.jpg)
Listing Profiling Runs
![Page 7: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/7.jpg)
Listing Profiling Runs
![Page 8: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/8.jpg)
XHProf Profiling Data
![Page 9: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/9.jpg)
Request Timeline
![Page 10: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/10.jpg)
Comparing Runs
![Page 11: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/11.jpg)
Installation &Configuration
![Page 12: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/12.jpg)
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
![Page 13: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/13.jpg)
"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
![Page 14: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/14.jpg)
- name: 'Plumber' uriPattern: 'profiler/<PlumberSubroutes>' defaults: '@format': 'html' subRoutes: PlumberSubroutes: package: Sandstorm.Plumber
Installing Plumber
Routes.yaml
![Page 15: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/15.jpg)
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
![Page 16: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/16.jpg)
What is new?(in my version)
![Page 17: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/17.jpg)
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
![Page 18: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/18.jpg)
xhprof.io
![Page 19: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/19.jpg)
xhprof.io
![Page 20: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/20.jpg)
XHGui, Paul Reinheimer style
![Page 21: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/21.jpg)
XHGui Custom Views
![Page 22: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/22.jpg)
Sandstorm: PhpProfiler:
'xhprof.io': enable: true username: 'myuser' password: 'mypassword'
'xhgui': enable: true
Configuration
Settings.yaml
![Page 23: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/23.jpg)
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
![Page 24: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/24.jpg)
Up and Coming
![Page 25: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/25.jpg)
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
![Page 26: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/26.jpg)
Help to make this reality!
Fund my project proposal
Any amount helps
Have a better Plumber
Pledge
![Page 27: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/27.jpg)
Thank You!
slides:http://speakerdeck.com/kdambekalnshttp://slideshare.net/kfish
email: [email protected] | [email protected]
web: http://karsten.dambekalns.de
twitter & app.net: @kdambekalns
![Page 28: Profiling TYPO3 Flow Applications](https://reader030.vdocuments.us/reader030/viewer/2022020115/54bed68f4a7959fd2a8b46f0/html5/thumbnails/28.jpg)