<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Week 2 &#8211; The many faces of end-user experience monitoring</title>
	<atom:link href="http://blog.dynatrace.com/2010/01/18/week-2-the-many-faces-of-end-user-experience-monitoring/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dynatrace.com/2010/01/18/week-2-the-many-faces-of-end-user-experience-monitoring/</link>
	<description>dynaTrace Blog on Performance, Scalabilty and Architecture - Java and .NET  Application Performance Management</description>
	<lastBuildDate>Fri, 30 Jul 2010 14:50:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Ben Rushlo</title>
		<link>http://blog.dynatrace.com/2010/01/18/week-2-the-many-faces-of-end-user-experience-monitoring/comment-page-1/#comment-11168</link>
		<dc:creator>Ben Rushlo</dc:creator>
		<pubDate>Tue, 19 Jan 2010 22:34:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dynatrace.com/?p=1349#comment-11168</guid>
		<description>Great information. I will say if you have to choose one approach (most companies can&#039;t explore all in parallel), I would suggest synthetic browser based measurements.  

I am biased (I work for Keynote Systems) but having done performance management for 10 years, using a synthetic transaction solves many of the variability/sample issues of other approaches.  

Performance management is best done in a controlled manner and if you can guarantee that your sample is always the same (ie. same hardware, software, locations, network etc) than detecting even slight changes (that you can influence) is possible.

The weakness with this approach is that you can&#039;t see every user and that some transactions cannot be done synthetically (think of applying for a credit card using unique SSN#).   In those cases a instrumentation of some sort (or a network sniffer - though with CDN&#039;s and other hybrid hosting I am not sure this approach is going to be valid for much longer) is the best approach.

We have been working lately on combing our metrics from the browser with the Dynatrace Ajax Edition tool with great success with customers. Now when there is a client/browser delay we can determine exactly what JS or Web Service call is causing the problem.  The combination is very powerful.   Adding a back-end view of application health is the logical next step.  Doing this would provide the browser  network  application view which is critical.

Ben Rushlo
Director - Keynote Systems</description>
		<content:encoded><![CDATA[<p>Great information. I will say if you have to choose one approach (most companies can&#8217;t explore all in parallel), I would suggest synthetic browser based measurements.  </p>
<p>I am biased (I work for Keynote Systems) but having done performance management for 10 years, using a synthetic transaction solves many of the variability/sample issues of other approaches.  </p>
<p>Performance management is best done in a controlled manner and if you can guarantee that your sample is always the same (ie. same hardware, software, locations, network etc) than detecting even slight changes (that you can influence) is possible.</p>
<p>The weakness with this approach is that you can&#8217;t see every user and that some transactions cannot be done synthetically (think of applying for a credit card using unique SSN#).   In those cases a instrumentation of some sort (or a network sniffer &#8211; though with CDN&#8217;s and other hybrid hosting I am not sure this approach is going to be valid for much longer) is the best approach.</p>
<p>We have been working lately on combing our metrics from the browser with the Dynatrace Ajax Edition tool with great success with customers. Now when there is a client/browser delay we can determine exactly what JS or Web Service call is causing the problem.  The combination is very powerful.   Adding a back-end view of application health is the logical next step.  Doing this would provide the browser  network  application view which is critical.</p>
<p>Ben Rushlo<br />
Director &#8211; Keynote Systems</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wim Leers</title>
		<link>http://blog.dynatrace.com/2010/01/18/week-2-the-many-faces-of-end-user-experience-monitoring/comment-page-1/#comment-11138</link>
		<dc:creator>Wim Leers</dc:creator>
		<pubDate>Mon, 18 Jan 2010 19:59:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dynatrace.com/?p=1349#comment-11138</guid>
		<description>Thanks for the mention!

This is the most comprehensive post regarding &quot;end-user experience monitoring&quot; (as you call it) yet, to my knowledge. Awesome!

Also, I agree with all points in this article. You even managed to point me to some things I didn&#039;t know of yet:

the network-sniffing style performance monitors such as Coradiant
Speed Tracer Logging API

I&#039;ve only got a minor addition to make. &lt;a href=&quot;http://code.google.com/p/jiffy-web/&quot;&gt;Jiffy&lt;/a&gt; is a system that&#039;s similar to Episodes, but predates Episodes by some time. It was developed by whitepages.com for their specific performance monitoring goals. One of the goals was to be able to monitor every single page load. So Jiffy did just that. It was even able to analyze the log results in near real-time. The most important component was how the log was kept: it simply used the Apache web server&#039;s logging capabilities. They wrote a script to parse and process those log files, in Perl if I remember correctly. They didn&#039;t even have to apply fancy tricks like sending the logging to multiple servers. And most importantly: they generate millions of page views per month.
That strongly suggests that true real-time performance monitoring of actual end-users, and &lt;em&gt;every&lt;/em&gt; actual end-user (!), is perfectly doable.

I do have a general request though: together with the people active in this area of performance, I&#039;d like to define a definitive set of terms. The difference in naming strongly decreases general understanding, discoverability of articles and perhaps not least importantly, marketability I.e.:
- Steve Souders calls this &quot;front-end performance&quot;
- I called it &quot;page loading performance&quot; because it&#039;s more accurate than &quot;front-end performance&quot;. It also distinguishes more clearly among page loading versus page rendering. The monitoring I called &quot;page loading performance monitoring&quot; as the general term and &quot;real-world page loading performance monitoring&quot; when the monitoring runs from a real-world perspective, i.e., in the end-user&#039;s browser.
- You call &quot;end-user experience monitoring&quot; what I called &quot;real-world page loading performance monitoring&quot;.


I think the entirety of all web site performance optimizations should be named &quot;Web Performance Optimization&quot; (WPO) — as Steve Souders already called it.
An initial proposal toward a full-fledged taxonomy would then be:

  Web Performance Optimization
    
      page loading performance (CSS/JS + loading of resources; page loading therefore always consists of both client &lt;em&gt;and&lt;/em&gt; server; putting client-side performance separately makes no sense since loading of resources is &lt;em&gt;always&lt;/em&gt; necessary)
        
          synthetic transactions
          organic/real-world transactions (i.e. monitoring these would equal what you called &quot;end-user experience monitoring)
        
        
          server-side performance (whatever generates output + HTTP server, possibly behind a reverse proxy and whatnot)
            
              synthetic transactions
              organic/real-world transactions
            
          
        
      
    
  


This is most likely missing a lot of refinement, but roughly, it should be correct.</description>
		<content:encoded><![CDATA[<p>Thanks for the mention!</p>
<p>This is the most comprehensive post regarding &#8220;end-user experience monitoring&#8221; (as you call it) yet, to my knowledge. Awesome!</p>
<p>Also, I agree with all points in this article. You even managed to point me to some things I didn&#8217;t know of yet:</p>
<p>the network-sniffing style performance monitors such as Coradiant<br />
Speed Tracer Logging API</p>
<p>I&#8217;ve only got a minor addition to make. <a href="http://code.google.com/p/jiffy-web/">Jiffy</a> is a system that&#8217;s similar to Episodes, but predates Episodes by some time. It was developed by whitepages.com for their specific performance monitoring goals. One of the goals was to be able to monitor every single page load. So Jiffy did just that. It was even able to analyze the log results in near real-time. The most important component was how the log was kept: it simply used the Apache web server&#8217;s logging capabilities. They wrote a script to parse and process those log files, in Perl if I remember correctly. They didn&#8217;t even have to apply fancy tricks like sending the logging to multiple servers. And most importantly: they generate millions of page views per month.<br />
That strongly suggests that true real-time performance monitoring of actual end-users, and <em>every</em> actual end-user (!), is perfectly doable.</p>
<p>I do have a general request though: together with the people active in this area of performance, I&#8217;d like to define a definitive set of terms. The difference in naming strongly decreases general understanding, discoverability of articles and perhaps not least importantly, marketability I.e.:<br />
- Steve Souders calls this &#8220;front-end performance&#8221;<br />
- I called it &#8220;page loading performance&#8221; because it&#8217;s more accurate than &#8220;front-end performance&#8221;. It also distinguishes more clearly among page loading versus page rendering. The monitoring I called &#8220;page loading performance monitoring&#8221; as the general term and &#8220;real-world page loading performance monitoring&#8221; when the monitoring runs from a real-world perspective, i.e., in the end-user&#8217;s browser.<br />
- You call &#8220;end-user experience monitoring&#8221; what I called &#8220;real-world page loading performance monitoring&#8221;.</p>
<p>I think the entirety of all web site performance optimizations should be named &#8220;Web Performance Optimization&#8221; (WPO) — as Steve Souders already called it.<br />
An initial proposal toward a full-fledged taxonomy would then be:</p>
<p>  Web Performance Optimization</p>
<p>      page loading performance (CSS/JS + loading of resources; page loading therefore always consists of both client <em>and</em> server; putting client-side performance separately makes no sense since loading of resources is <em>always</em> necessary)</p>
<p>          synthetic transactions<br />
          organic/real-world transactions (i.e. monitoring these would equal what you called &#8220;end-user experience monitoring)</p>
<p>          server-side performance (whatever generates output + HTTP server, possibly behind a reverse proxy and whatnot)</p>
<p>              synthetic transactions<br />
              organic/real-world transactions</p>
<p>This is most likely missing a lot of refinement, but roughly, it should be correct.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lesya</title>
		<link>http://blog.dynatrace.com/2010/01/18/week-2-the-many-faces-of-end-user-experience-monitoring/comment-page-1/#comment-11134</link>
		<dc:creator>Lesya</dc:creator>
		<pubDate>Mon, 18 Jan 2010 17:05:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dynatrace.com/?p=1349#comment-11134</guid>
		<description>Thatks for information. It&#039;s very usefull for me.</description>
		<content:encoded><![CDATA[<p>Thatks for information. It&#8217;s very usefull for me.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
