Slide 1

Slide 1 text

Inspiring people to share Inspiring people to share Profiling TYPO3 Flow Applications

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Plumber & PhpProfiler

Slide 4

Slide 4 text

Features

Slide 5

Slide 5 text

Metrics at a glance

Slide 6

Slide 6 text

Listing Profiling Runs

Slide 7

Slide 7 text

Listing Profiling Runs

Slide 8

Slide 8 text

XHProf Profiling Data

Slide 9

Slide 9 text

Request Timeline

Slide 10

Slide 10 text

Comparing Runs

Slide 11

Slide 11 text

Installation & Configuration

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

"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

Slide 14

Slide 14 text

- name: 'Plumber' uriPattern: 'profiler/' defaults: '@format': 'html' subRoutes: PlumberSubroutes: package: Sandstorm.Plumber Installing Plumber Routes.yaml

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

What is new? (in my version)

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

xhprof.io

Slide 19

Slide 19 text

xhprof.io

Slide 20

Slide 20 text

XHGui, Paul Reinheimer style

Slide 21

Slide 21 text

XHGui Custom Views

Slide 22

Slide 22 text

Sandstorm: PhpProfiler: 'xhprof.io': enable: true username: 'myuser' password: 'mypassword' 'xhgui': enable: true Configuration Settings.yaml

Slide 23

Slide 23 text

Running the UIs preinheimer-xhgui cd /path/to/xhgui/web/webroot php -S localhost:8080 xhprof.io cd /path/to/xhprof.io php -S localhost:8080 •unfortunately that needs a proper virtual host

Slide 24

Slide 24 text

Up and Coming

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

Help to make this reality! Fund my project proposal Any amount helps Have a better Plumber Pledge

Slide 27

Slide 27 text

Thank You! slides: http://speakerdeck.com/kdambekalns http://slideshare.net/kfish email: [email protected] | [email protected] web: http://karsten.dambekalns.de twitter & app.net: @kdambekalns

Slide 28

Slide 28 text

No content