+ All Categories
Home > Technology > Profiling TYPO3 Flow Applications

Profiling TYPO3 Flow Applications

Date post: 21-Jan-2015
Category:
Upload: karsten-dambekalns
View: 2,026 times
Download: 3 times
Share this document with a friend
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.
Popular Tags:
28
Inspiring people to share Inspiring people to share Profiling TYPO3 Flow Applications
Transcript
Page 1: Profiling TYPO3 Flow Applications

Inspiring people to

shareInspiring people to

share

ProfilingTYPO3 Flow Applications

Page 2: Profiling TYPO3 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

Page 3: Profiling TYPO3 Flow Applications

Plumber & PhpProfiler

Page 4: Profiling TYPO3 Flow Applications

Features

Page 5: Profiling TYPO3 Flow Applications

Metrics at a glance

Page 6: Profiling TYPO3 Flow Applications

Listing Profiling Runs

Page 7: Profiling TYPO3 Flow Applications

Listing Profiling Runs

Page 8: Profiling TYPO3 Flow Applications

XHProf Profiling Data

Page 9: Profiling TYPO3 Flow Applications

Request Timeline

Page 10: Profiling TYPO3 Flow Applications

Comparing Runs

Page 11: Profiling TYPO3 Flow Applications

Installation &Configuration

Page 12: Profiling TYPO3 Flow Applications

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

"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

-  name: 'Plumber'  uriPattern: 'profiler/<PlumberSubroutes>'  defaults:    '@format': 'html'  subRoutes:    PlumberSubroutes:      package: Sandstorm.Plumber

Installing Plumber

Routes.yaml

Page 15: Profiling TYPO3 Flow Applications

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

What is new?(in my version)

Page 17: Profiling TYPO3 Flow Applications

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

xhprof.io

Page 19: Profiling TYPO3 Flow Applications

xhprof.io

Page 20: Profiling TYPO3 Flow Applications

XHGui, Paul Reinheimer style

Page 21: Profiling TYPO3 Flow Applications

XHGui Custom Views

Page 22: Profiling TYPO3 Flow Applications

Sandstorm: PhpProfiler:

'xhprof.io': enable: true username: 'myuser' password: 'mypassword'

'xhgui': enable: true

Configuration

Settings.yaml

Page 23: Profiling TYPO3 Flow Applications

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

Up and Coming

Page 25: Profiling TYPO3 Flow Applications

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 28: Profiling TYPO3 Flow Applications

Recommended