performance from the user s
play

Performance from the Users Perspective Alois Reitbauer Disclaimer - PowerPoint PPT Presentation

Performance from the Users Perspective Alois Reitbauer Disclaimer We used to measure here We miss about 80% Your visibility ends here lets look at an example Web Application Delivery Chain Content Internet Server Browser


  1. Performance from the User‘s Perspective Alois Reitbauer

  2. Disclaimer

  3. We used to measure here

  4. We miss about 80% Your visibility ends here

  5. … let’s look at an example

  6. Web Application Delivery Chain Content Internet Server Browser Processing 3 rd Party

  7. Robots for Monitoring

  8. Monitor from Everywhere

  9. Robots are not humans (even if they come close)

  10. Challenges Today Lack of standards In Browser Measurement Complex Most tools for development/troubleshooting

  11. We need this …

  12. My

  13. Request Start Time Business Event Time Time-to-First-Byte DNS/Network Time OnLoad Time Bandwidth Rendering Time Latency (Geo)Location JS Execution Time Browser Info Resource Download Time Rendering Time

  14. … we want to get all this information non intrusively (aka hacking)

  15. OnLoad Time Measurement <html> <head> <script type="text/javascript"> var start = new Date().getTime(); function onLoad() { var now = new Date().getTime(); var latency = now - start; alert("page loading time: " + latency); } </script> </head> <body onload="onLoad() "> ……

  16. Resource Time Measurement …… <script type="text/javascript"> downloadStart(“myimg”); </script> <img src=“./myimg.jpg” onload=“downloadEnd(‘myimg’)” /> …..

  17. … browsers have all this information, so why not expose it

  18. W3C Performance Working Group

  19. Web Performance Specs Navigation Timing Basic page navigation information Resource Timing Information about page resources (own & third party) User Timing Custom actions and high-res timer Timeline Unified Access to Performance Data

  20. Understand Page Loading

  21. Navigation Timing window.performance.timing.

  22. Navigation Timing in Chrome

  23. Navigation Timing on Windows Mobile

  24. Let’s try this ourselves ...

  25. The page is not enough

  26. Resource Timing window.performance.getEntriesByType(window.performance.PERF_RESOURCE)[].

  27. Custom Time Measurements

  28. Marks mark (markName) add a new mark with the current timestamp getMarks (markName) Retrieve all marks with the specified name. If none is specified all marks will be returned Result Structure: { <markName> : [<val1>, <val2>, …] ….. }

  29. Measures measure () fetchStart -> now measure (startTime) startTime -> now measure(startTime, endTime) startTime -> endTime

  30. Performance Timeline

  31. 5 s 4 s 3 s 2 s 1 s

  32. Browser Support

  33. Open Issues How to send the data back to the server Rendering and JS Execution Implementing the backend services Full browser support More efficient bandwidth measurement Consistency

  34. Blocking data transfer if(isBrowserCloseEnabled) � { � var startTime = new Date().getTime(); � while(((new Date().getTime()) - startTime) < 750) � { � }; � } �

  35. Legacy Browsers

  36. Real world examples what’s possible today

  37. Identify Geo Hotspots

  38. Page Error Monitoring

  39. Third Party Content

  40. Performance Profiling

  41. Problem Analytics

  42. Performance Bookmarklet http://blog.dynatrace.com/samples/bookmark.html

  43. Alois Reitbauer alois.reitbauer@dynaTrace.com @AloisReitbauer http://blog.dynatrace.com

Recommend


More recommend