<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Apdex Alliance</title>
	<atom:link href="http://apdex.org/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://apdex.org</link>
	<description></description>
	<lastBuildDate>Mon, 02 Jan 2012 19:01:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Apdex Alliance Welcomes WatchMouse</title>
		<link>http://apdex.org/index.php/2011/04/apdex-alliance-welcomes-watchmouse/</link>
		<comments>http://apdex.org/index.php/2011/04/apdex-alliance-welcomes-watchmouse/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 13:44:12 +0000</pubDate>
		<dc:creator>Peter Sevcik</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://apdex.org/?p=2614</guid>
		<description><![CDATA[<p>Today, the Apdex Alliance welcomes its latest sponsor. WatchMouse tests websites, services and applications utilizing an infrastructure that includes over 58 worldwide remote monitoring stations and a global network of checkpoints in 26 countries. The worldwide coverage is impressive as shown in the map below.</p> <p></p> <p>WatchMouse has implemented Apdex reporting in its tools. [...]]]></description>
			<content:encoded><![CDATA[<p>Today, the Apdex Alliance welcomes its latest sponsor. WatchMouse tests websites, services and applications utilizing an infrastructure that includes over 58 worldwide remote monitoring stations and a global network of checkpoints in 26 countries. The worldwide coverage is impressive as shown in the map below.</p>
<p><a href="http://apdex.org/Wordpress/wp-content/uploads/2011/04/WatchMouseMap2.jpg"><img class="aligncenter size-full wp-image-2617" title="WatchMouseMap" src="http://apdex.org/Wordpress/wp-content/uploads/2011/04/WatchMouseMap2.jpg" alt="" width="356" height="221" /></a></p>
<p>WatchMouse has implemented Apdex reporting in its tools. You can easily add Apdex reports to the many monitoring systems that WatchMouse supplies. But this is just one from a wide range of reporting tools available. They support many user platforms along with detailed test settings. I have been using the tool for a while and will be writing about how to use Apdex with WatchMouse in the future.</p>
<p>WatchMouse has also implemented a great Live Apdex Report widget that is running on the left of this website. We have been working with WatchMouse to make is simple and informative. I hope you agree. You can add the Apdex widget to track any service and make it part of your website (public or private). I am still experimenting with the widget. At the moment it is reporting on my two favorite websites (this one and NetForecast). But I think we should widen the scope of sites to track. Got any suggestions?</p>
<p>I recommend you try out their service which is available with a free 30-day trail.</p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2011/04/apdex-alliance-welcomes-watchmouse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gomez Launches Apdex-Based “User Experience Index”</title>
		<link>http://apdex.org/index.php/2010/11/gomez-launches-%e2%80%9cuser-experience-index%e2%80%9d-in-time-for-the-holidays/</link>
		<comments>http://apdex.org/index.php/2010/11/gomez-launches-%e2%80%9cuser-experience-index%e2%80%9d-in-time-for-the-holidays/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 04:02:05 +0000</pubDate>
		<dc:creator>Peter Sevcik</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2480</guid>
		<description><![CDATA[<p>It’s the busiest online shopping week of the year, and to mark it Gomez has launched a novel way to show how well retail websites are performing from a user’s viewpoint. This is a noteworthy first. Called the Compuware Gomez Retail User Experience Index (UX Index for short), this new report is much easier [...]]]></description>
			<content:encoded><![CDATA[<p>It’s the busiest online shopping week of the year, and to mark it Gomez has launched a novel way to show how well retail websites are performing <span style="text-decoration: underline;">from a user’s viewpoint</span>. This is a noteworthy first. Called the Compuware Gomez Retail User Experience Index (UX Index for short), this new report is much easier to interpret than traditional reports that simply rank websites by response time or other raw metrics.</p>
<p>Rather than report raw numbers for response time, availability and consistency, the UX Index uses Apdex scoring <a href="http://www.apdex.org/overview.html">methodology</a> to give websites one user experience-based score, which Gomez rolls up into a macro view of how well websites are performing for the top 500 online retailers, the top 15 retailer websites, and the top 15 mobile retailer websites. They also show how well the sites are performing relative to a baseline. Because Apdex factors in response time, consistency as well as availability, it enables Gomez to assign a single score to a measurement sample. This aspect of Apdex also makes it easy to aggregate the results of many websites into a single group score&#8211;allowing Gomez to compare multiple benchmarks over time.</p>
<p>Gomez assigns every unique test an outcome of Satisfied, Tolerating or Frustrated. These categories are defined as:</p>
<ul>
<li>Satisfied: Page response time of 2 seconds or less;</li>
<li>Tolerating: Page response time of between 2 and 8 seconds;</li>
<li>Frustrated: Page response time of greater than 8 seconds or the test failed.</li>
</ul>
<p>An Apdex score is determined by comparing the ratio of all Satisfied tests and half the Tolerating tests to the total of all tests. A score of 100 means that all tests (or users) in the sample fell into the Satisfied bucket. A score of zero indicates that all tests (or users) fell into the Frustrated bucket. Generally, a score of lower than 70 is considered poor, and 70 or greater is considered fair. A score between 85 and above 94 is considered good. A score above 94 is considered excellent.</p>
<p>If there is one day of the year when retail websites are stressed to the maximum, Cyber Monday is it, so check out the UX Index <a href="http://gomez.com/benchmarks/cyber-monday/">here</a> and see how things look. Later this week we plan to analyze how well the websites tested fared on Black Friday and Cyber Monday.</p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/11/gomez-launches-%e2%80%9cuser-experience-index%e2%80%9d-in-time-for-the-holidays/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apdex-G and Apdex-R Composite Sections 1-5</title>
		<link>http://apdex.org/index.php/2010/09/apdex-g-and-apdex-r-composite-sections-1-5/</link>
		<comments>http://apdex.org/index.php/2010/09/apdex-g-and-apdex-r-composite-sections-1-5/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 04:01:34 +0000</pubDate>
		<dc:creator>Chris Loosley</dc:creator>
				<category><![CDATA[Apdex Specification]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2222</guid>
		<description><![CDATA[ p { clear: left; } .clear { clear: both; } .box { border: 1px solid #DDDDDD; padding: 5px; } .clearBox { margin: 0 40px; } .textBox { margin: 0 40px; border: 1px solid #DDDDDD; background-color: #E8E8E8; padding: 10px; } .specBox { min-width: 500px; z-index: 1000; position: relative; overflow: visible; } .Apdex { border: [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
p { clear: left; }
.clear { clear: both; }
.box {
     border: 1px solid #DDDDDD;
     padding: 5px;
     }
.clearBox {
     margin: 0 40px;
     }
.textBox {
     margin: 0 40px;
     border: 1px solid #DDDDDD;
     background-color: #E8E8E8; 
     padding: 10px;
     }
.specBox { 
     min-width: 500px; 
     z-index: 1000;
     position: relative;
     overflow: visible;
     }
.Apdex { 
     border: 1px solid #DDDDDD; 
     padding: 5px;
     background-color: #F0F0D0;
     }
.Apdex-G { 
     border: 1px solid #6D83B2; 
     padding: 5px;
     }
.leftCol { float: left; width: 32%; display: block; font-size: 85%;}
.rightCol { float: right; width: 62%; display: block; }
.leftHalf { float: left; width: 47%; }
.rightHalf { float: right; width: 47%; }
.part1 { background-color: #FFFFF0; }
.part2 { background-color: #FFF8F0; }
.part3 { background-color: #F8F8F0; }
.part4 { background-color: #F8F0F0; }
.part5 { background-color: #F0F0F0; }
.part6 { background-color: #E8F0F0; }
.part7 { background-color: #E8E8F0; }
.red { background-color: #FE0000 !important; }
.yellow { background-color: #FDFE00 !important; }
.green { background-color: #339933 !important; }
.dark { color: #888888; }
.new { border-bottom: 2px solid #66FF66; }
.new { border-bottom: 0 !important; } 
.new.G { border-bottom: 2px solid #6666FF; }
.new.G { border-bottom: 0 !important; }
.tbd {  font-style: italic; border-bottom: 2px solid #FDFE00 !important;}
del { font-size: 85%;}
.quote {
     border-left: 7px solid #CCCCCC; 
     padding: 10px 100px 20px 25px;
     }
.quoteSource {
     float: right;
     padding-right: 25px;
     font-style: italic;
     }
cite { 
     font-style: normal; 
     font-size: smaller; 
     font-variant: small-caps; 
     }
cite:before { content: "["; }
cite:after { content: "]"; }
dl.bibliography dt { 
     font-style: normal; 
     font-size: small; 
     font-variant: small-caps;
     float: left; 
     clear: left; 
     width: 6em;
     margin: 0 5px 5px 0; 
     border: 1px solid #CCCCCC; 
     padding: 2px;
     }
dl.bibliography dd { 
     margin-left: 6.5em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
dl.glossary dt { 
     float: left; 
     clear: left; 
     border: 1px solid #DDDDDD;
     width: 10em;
     margin: 0 5px 5px 0; 
     padding: 2px;
     }
.rightCol  dl.glossary dt,
.leftCol dl.glossary dt { 
     width: 7em;
     }
dl.glossary dd { 
     margin-left: 11em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
.rightCol  dl.glossary dd,
.leftCol dl.glossary dd { 
     margin-left: 8em; 
     }
table.text {
     margin: 10px 40px; 
     border:1px solid #DDDDDD;
     }
table.text caption {
     caption-side: bottom;
     text-align: left; 
     font-style: italic; 
     margin-bottom: 10px; 
     }
table.text td {
     vertical-align: top;
     padding: 4px !important;
     }
table.text th {
     padding-left: 4px !important;
     padding-right: 4px !important;
     }
.width05 { width: 5%; }
.width08 { width: 8%; }
.width10 { width: 10%; }
.width12 { width: 12%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width24 { width: 24%; }
.width30 { width: 30%; }
.width35 { width: 35%; }
.width36 { width: 36%; }
.width40 { width: 40%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }
</style>
<p><em>I’m writing a series of posts about Generalizing Apdex. This is #25. To minimize confusion, section numbers in the current spec are accompanied by the section symbol, like this: &sect;1. The corresponding section numbers in the generalized spec documents, Apdex-G and Apdex-R, are enclosed in square brackets and prefixed by the document type, like this: [G&nbsp;1] and [R&nbsp;1].</em></p>
<p>Drafts of the Apdex-G spec were posted as <a href="http://apdex.org/?p=1987">Section [1] Introduction</a>, <a href="http://apdex.org/?p=2020">Section [2] Index Overview</a>, <a href="http://apdex.org/?p=2054">Section [3] Calculation Inputs</a>, <a href="http://apdex.org/?p=2059">Section [4] Calculating the Index</a>, <a href="http://apdex.org/?p=2085">Section [5] Reporting</a>, and <a href="http://apdex.org/?p=2194">Section [6] References</a>. </p>
<p>Drafts of the Apdex-R spec were posted as <a href="http://apdex.org/?p=2326">Section [1] Introduction and [2] Overview</a>, <a href="http://apdex.org/?p=2341">Section [3] Calculation Inputs</a>, <a href="http://apdex.org/?p=2402">Section [4] Calculating the Index</a>, and <a href="http://apdex.org/?p=2455">Section [5] Reporting</a>. Those posts show how the proposed Apdex-R spec is derived from the present Apdex spec.</p>
<p>This post consolidates the Apdex-G and Apdex-R proposals side-by-side, without annotations, allowing sections 1-5 of both documents to be viewed together.</p>
<p><span id="more-2456"></span></p>
<div class="clear"></div>
<p><!-- ======================================= [1] --></p>
<div class="specBox" style="font-size: 85%;">
<div class="Apdex-G leftHalf part1" style="font-size: 85%;">
<h3>Apdex-G, second draft:</h3>
<p><!--close Apdex-G--></div>
<div class="Apdex Apdex-R rightHalf">
<h3>Apdex-R, first draft:</h3>
<p><!--close Apdex-R--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 1] Introduction</strong></p>
<p><span class="new G">Apdex (Application Performance Index) is a metric that reflects the degree to which a set of performance measurements achieves designated targets. </span></p>
<p><span class="new">This specification defines Apdex-R, the Apdex index of customer satisfaction with transactional application response times.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part1">
<strong>[G 1] Introduction</strong></p>
<p>Apdex (Application Performance Index) is a metric that reflects the degree to which a set of performance measurements achieves designated targets. </p>
<p>Originally designed as an index of user satisfaction with the responsiveness of enterprise applications, Apdex can also be used to report on many other quality measures, such as the degree to which a product conforms to technical standards, or the degree to which a service achieves business objectives. </p>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 1.1] Apdex Specification Documents</strong></p>
<p><span class="new">A master specification document, Apdex-G, specifies rules for calculating and reporting the Apdex index. The suffix &#8216;G&#8217; denotes <em>generic</em>, indicating that the master document specifies domain-independent rules.</span></p>
<p><span class="new">This document, Apdex-R, is a supplemental document, termed an <em>Addendum</em>. The suffix &#8216;R&#8217; is the Addendum Type or Document Type. An addendum contains rules that apply only to applications of Apdex within a specific measurement domain.</span></p>
<p><span class="new">Note that Apdex-R contains <em>supplemental rules</em> for applying Apdex to response times; except where specifically stated, an addendum <em>does not replace</em> any provision of Apdex-G.</span></p>
<p><span class="new">References to sections or paragraphs of Apdex documents are distinguished by the inclusion of the document type with the paragraph number, for example  [G 1.1] or [R 1.1].</span><br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part1">
<strong>[G 1.1] Apdex Specification Documents</strong></p>
<p>This document, Apdex-G, specifies rules for calculating and reporting the Apdex index. </p>
<p>The suffix &#8216;G&#8217; denotes <em>generic</em>, indicating that this document specifies domain-independent rules. A supplemental document, termed an <em>addendum</em>, may contain rules that apply only to applications of Apdex within a specific measurement domain. An addendum is named Apdex-X, where the suffix &#8216;X&#8217; is the Addendum Type <span class="new">or Document Type</span>, and denotes a specific measurement domain. For example, the addendum Apdex-R contains supplemental rules for applying Apdex to response times.</p>
<p><span class="new">References to sections or paragraphs of Apdex documents are distinguished by the inclusion of the document type with the paragraph number, for example  [G&nbsp;1.1] or [R&nbsp;1.1].</span><br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 1.2] Document Status</strong></p>
<p><span class="new G">This document was developed by the Apdex Alliance, a group of companies and individuals collaborating to promote Apdex. It was ratified by &#8230;</span></p>
<p><span class="tbd">[ Ratification history/status of Apdex-G will be inserted here ]</span></p>
<p><span class="new G">Apdex specifications may be updated from time to time to reflect feedback based on practical experience with Apdex. Current versions of all Apdex specifications are available from the Alliance web site, www.apdex.org.</span><br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part1">
<strong>[G 1.2] Document Status</strong></p>
<p>This document was developed by the Apdex Alliance, a group of companies and individuals collaborating to promote Apdex. It was ratified by &#8230;</p>
<p><span class="tbd">[<em> Ratification history/status of Apdex-G will be inserted here </em>]</span></p>
<p>Apdex specifications may be updated from time to time to reflect feedback based on practical experience with Apdex. Current versions of all Apdex specifications are available from the Alliance web site, www.apdex.org.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[G 1.3] Broader Apdex Goals</strong></p>
<p><span class="new">See [G 1.3] for broader Apdex goals that fall outside the scope of this specification.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part1">
<strong>[G 1.3] Broader Apdex Goals</strong></p>
<p>The Apdex Alliance has adopted the following statements of intent: </p>
<ul>
<strong>Tools:</strong> Members of the Alliance will implement tools and/or services that adhere to this specification.<br />
<strong>Research:</strong> Members of the Alliance support an ongoing process of inquiry into the relationship between application or process performance and customer satisfaction.<br />
<strong>Education:</strong> Members of the Alliance will develop and maintain additional documents and educational material to help enterprises understand the Apdex metric and put it to productive use within their organizations.<br />
<strong>Documentation:</strong> Members of the Alliance will contribute to an Apdex Technical Guide, which will provide detailed information about implementing Apdex.
</ul>
<p>These statements reflect goals that fall outside the scope of this specification. Current information about Apdex Alliance goals and activities can be found at the Alliance web site, www.apdex.org<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!-- ======================================= [2] --></p>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2] Index Overview</strong></p>
<p><span class="new">See [G 2] for a general statement of the requirement for a performance index; this section focuses on the requirement to report response times using an index.</span></p>
<p>Many aspects of performance <span class="new">affect</span> the delivery and management of information technology.  One critical performance factor is the responsiveness of the human-computer interface from the perspective of the human user.  This responsiveness is a core quality of a transactional application.  The speed by which an application reacts to the needs of the user directly affects the user’s productivity and satisfaction with the application experience.  It is a critical metric of application performance that has direct implications for business revenue, customer retention, and user productivity.</p>
<p>Therefore, measuring<span class="new">, reporting,</span> and tracking application response time is important to an enterprise that values the opinion and productivity of its users’ experiences.  The Application Performance Index (“Apdex”) defines a methodology for reporting the responsiveness of human-application transactions, in terms of its effect on user <span class="new">satisfaction and </span>productivity.<br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2] Index Overview</strong></p>
<p>Performance is a critical metric of application or process quality that has direct implications for business revenue, customer retention, and user productivity.  Users of any application or process are directly affected by its performance. An enterprise that values the opinion of its customers, or the productivity of its internal users, must measure and track the performance of its applications and processes. </p>
<p>Collecting measurements is only one step in the proper management of user experience. Managers must set quality objectives, and track whether those objectives are being met. Such tracking requires that large numbers of individual performance measurements be summarized for easy review. To address this requirement, the Apdex standard defines a method for reporting the degree to which a set of performance measurements meet designated targets.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2.1] Index Objectives</strong></p>
<p><span class="new">See [G 2.1] for the goals of the Apdex metric.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2.1] Index Objectives</strong></p>
<p>The fundamental objective of Apdex is to simplify the reporting of any application or process measurements by making it possible to represent a set of such measurement using a common metric. Measurements can describe many applications or processes, and their magnitudes can vary widely. The Apdex metric normalizes this variability, producing values that lie within a fixed range, for all measurement input. </p>
<p>The goals of the Apdex metric are:</p>
<ol>
<li>To be easy to understand</li>
<li>To be a summary of the quality or performance of an application or process, based on a set of measurements</li>
<li>To be a performance indicator for any application or process that is subject to performance targets</li>
<li>To be dimensionless, irrespective of the measurement domain being reported</li>
<li>To lie within a fixed range of values, irrespective of the measurement data being summarized</li>
<li>To operate so that index values of 1 and 0 indicate the best and worst performance respectively</li>
<li>To operate so that a particular value of the index indicates a comparable level of quality for different applications or process</li>
<li>To operate so that different Apdex tools will report similar index values for user experiences having comparable levels of quality</li>
</ol>
<p>This document defines a standard by which creators of measurement and reporting tools can achieve these objectives.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2.2] Terminology</strong></p>
<p><span class="new">See [G 2.2] and [G 7] for Apdex terminology. The following terms are also defined within Apdex-R:</span></p>
<table class="text">
<tr>
<th>Apdex Term</th>
<th>General Definition</th>
<th>HTML/HTTP Equivalent</th>
</tr>
<tr>
<td>Session</td>
<td>The period of time that a user is “connected” to an application.  This is a continuous period of time that the user is interacting with the application.</td>
<td>No specific HTML or HTTP markers define a session.  A proxy is an IP address connection (open-to-close).  Another is the assignment of a session identification cookie followed by a period of inactivity.</td>
</tr>
<tr>
<td>Process</td>
<td>A multi-step series of user interactions (Task, see below)together with the corresponding user Think Times – that may (buy a book, look up an address, get a stock quote) or may not (no clear end) be well defined.  Often called the “transaction” or “application use case.”</td>
<td>A series of web pages that allow a user to perform a defined application function, together with the user interaction times (“Think Times”) required to interact with those pages.</td>
</tr>
<tr>
<td>Task</td>
<td>Each user interaction with the application during a Process.  Task time is measured from the moment the user enters an application query, command, function, etc., that requires a server response to the moment the user receives the response such that they can proceed with the application.  Often called the “user wait time” or “application response time.”</td>
<td>A Page download, consisting of a container and zero or more component objects, and the time required to perform that download, measured from the time of a user interface action until the page download completes and the page is available for use.</td>
</tr>
<tr>
<td>Task Chain</td>
<td>A defined sequence of Tasks. The Tasks comprising a Task Chain may or may not correspond to a complete Process (as defined above). Furthermore, time of a Task Chain corresponds to the sum of the Task times only, and does not include any user Think Time that may occur between Tasks.</td>
<td>A defined sequence of Web pages, and their associated download times, excluding any Think Times between user interface actions.</td>
</tr>
<tr>
<td>Turn</td>
<td>Each application client-server software interaction needed to generate a user response or Task (see above).  These software-level client-server interactions add to the time it takes for the software to complete a Task.  The user does not see Turns operating.  A Turn is a client-server request-driven round-trip.  Often called application “chattiness.”</td>
<td>HTTP Gets for parts of a Web page or frame. <span class="new">In HTML, each object &#8212; such as a container (index.html), component (image.gif) or stand-alone document (program.zip) &#8212; will generate a Turn.</span> </td>
</tr>
<tr>
<td>Protocol</td>
<td>The above Turns are further deconstructed into transport protocol events required to reliably move information among computers.  These include DNS look-ups, TCP Opens, TCP transmission, TCP ACKs, retransmission, etc.</td>
<td>TCP is the protocol supporting HTTP.  HTML/HTTP do not generate additional events at this layer of the transactional model.</td>
</tr>
<tr>
<td>Packet</td>
<td>The smallest unit of interaction and transmission between the user’s client and the application server is the packet.  Packets are routed and transported by networks from source to destination.</td>
<td>HTML/HTTP do not generate additional events at this layer of the transactional model.</td>
</tr>
<caption>Table 1 – Taxonomy of Transactional Computer Applications</caption>
</table>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2.2] Terminology</strong></p>
<p>The following terms are defined:</p>
<dl class="glossary">
<dt>Measurement Domain</dt>
<dd>The set of all possible values from which the input to an Apdex calculation is drawn. Unless limited by a domain-specific Addendum, this will be the real number domain (-&infin;, &infin;)</dd>
<div class="clear"></div>
<dt>Apdex Tool</dt>
<dd>A system that calculates Apdex values, or reports Apdex values, or does both. The calculation and reporting functions may be separated between an Apdex analysis tool and an Apdex reporting tool. Apdex tools may employ software or hardware components, or both. </dd>
<div class="clear"></div>
<dt>Tool Creator</dt>
<dd>The developer(s) of an Apdex tool. In practice, a tool creator may refer to a tool vendor, an open-source community, or an individual developer. </dd>
<div class="clear"></div>
<dt>Technician</dt>
<dd>The person who controls an Apdex tool, or who reads and interprets Apdex values.  Typically, a technician is an enterprise staff member responsible for application or process quality.</dd>
<div class="clear"></div>
<dt>User or Customer</dt>
<dd>A person served by an application or process that is the subject of an Apdex index.</dd>
<div class="clear"></div>
</dl>
<p>Other Apdex terms are defined in context within this document and its addenda. Section [G 7] Glossary collects together all Apdex terminology.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2.3] Measurement Types: User-Application Interaction Model</strong></p>
<p><span class="new">See [G 2.3] for an introduction to <em>Measurement Types</em> in Apdex; this section focuses on response time measurements.</span></p>
<p>In order for the index to properly report on users’ perceptions of application responsiveness, the measurements that are used as input must measure the actual time that a user is waiting for the application to respond.  Transactional applications are characterized by a query-response interaction process.  A user types, clicks, or makes some entry followed by a period of time when the system (network, computers, databases, etc.) handles the entry and generates a response.  This period is typically called “user wait time.”  The critical factor regarding the duration of this time is that the user is typically incapable – even prevented from – proceeding with the application until the response is delivered.  The user will then read, react, or in some way think about the response that will then lead him or her to make the next entry.  This period of time where the system is waiting for the user to make the next entry is typically called “user think time.”  This enter-wait-think cycle repeats many times during the user’s session with the application.</p>
<p>The user’s perception of the application’s responsiveness or speed is formed by an accumulated number of views regarding the lengths of wait times or response times.  Many components of a client-server interaction make up response time. Transactional applications have complex behaviors that operate at many levels. <span class="new">Section [R 2.2] defines a taxonomy comprising seven layers of interaction, and illustrates that taxonomy by identifying the layers of a web-based application built using HTTP/HTML.</span> Transactional applications based upon other protocols or proprietary schema follow the same taxonomy and may therefore be reported by tools using Apdex-R.<br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2.3] Measurement Types</strong></p>
<p>This document specifies domain-independent rules that apply to all measurement types. An addendum may define a class of measurements within a specific measurement domain, and specify supplemental rules that apply only to that class of measurements. The addendum type (see [G 1.1]) may also be referred to as the <span class="new">Document Type, or the </span><em>Measurement Type</em> of that class of measurements.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2.4] Measurement Subtypes: Processes, Tasks and Task Chains</strong></p>
<p>Within the taxonomy described in Section [R 2.2], application response time is defined to be the time that elapses between a user completing a Task entry and the computer system responding with sufficient information to allow the user to proceed to the next Task. Furthermore, human users are most aware of the responsiveness of an application delivery system at its Task and Process layers, because these layers usually correspond to two distinct and readily identifiable aspects of a user’s interaction with a computer system, as follows:</p>
<dl class="glossary">
<dt>Task Time</dt>
<dd>An instance of application response time a human user experiences while the computer system is performing one operation (or one step) of an application.</dd>
<dt>Process Time</dt>
<dd>The sum of the Task Times a user experiences while performing a sequence of related Tasks necessary to complete a single application function, including user think time.  This is the actual time a user experiences while completing a Process.</dd>
</li>
<dt>Task Chain Time</dt>
<dd>The sum of the Task Times of a defined series of Tasks.  Task Chain Time differs from Process time in two ways: (a) the total time does not include user think time, and (b) the set of Tasks does not necessarily correspond to a complete Process.</dd>
</li>
</dl>
<p>In Section [R 2.5.1], this specification defines the Apdex method for computing and reporting measurements of Task Time and Task Chain Time. </p>
<p><span class="tbd">TBD: When reporting response-time measurements, is Apdex-R mandatory, or an alternative to Apdex-G? Is the answer the same for Tasks, Task Chains, and other response times?</span><br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2.4] Measurement Subtypes</strong></p>
<p>This document specifies domain-independent rules that apply to all measurement types. An addendum that addresses a particular measurement type may also identify subtypes of that measurement type, and specify supplemental rules that apply to each of those subtypes.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2.5] Satisfaction Levels: How Users Experience Application Response Times</strong></p>
<p><span class="new">Apdex satisfaction levels are defined in [G 2.5]. For interactive applications, the three levels of user satisfaction with responsiveness are further defined as follows:</span></p>
<dl class="glossary">
<dt>Satisfied</dt>
<dd>The response time is fast enough to satisfy the user, who is therefore able to concentrate fully on the work at hand. </dd>
<div class="clear"></div>
<dt>Tolerating</dt>
<dd> <span class="new">The response time is slower than desired, potentially impairing user productivity, but not slow enough to make the system or application unusable. A user notices how long it takes to interact with the system, but can tolerate the slower response.</span> </p>
<div class="clear"></div>
<dt>Frustrated</dt>
<dd>As response times increase, at some threshold the user becomes unhappy with slow performance, becoming frustrated. A casual user is likely to abandon a course of action and a production user is likely to cancel a task or process.</dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2.5] Satisfaction Levels</strong></p>
<p>Apdex works by assigning a satisfaction level to each measurement, as defined below:</p>
<dl class="glossary">
<dt>Satisfaction Level</dt>
<dd>One of three categories (<strong>Satisfied</strong>, <strong>Tolerating</strong>, or <strong>Frustrated</strong>) that reflects how an organization using Apdex evaluates the performance of the application or process being reported. For the Apdex method to be applicable to a <strong>Measurement Domain</strong>, it must be possible to assign a Satisfaction Level to any value within the Measurement Domain.</dd>
<div class="clear"></div>
<dt>Quality Level</dt>
<dd>An alternative term for <strong>Satisfaction Level</strong>.</dd>
<div class="clear"></div>
<dt>Satisfied</dt>
<dd>A <strong>Satisfaction Level</strong> that reflects the desired level of performance for the application or process being reported. Measurements classified as Satisfied usually indicate that the application or process being measured is meeting its targets and needs little or no attention.</dd>
<div class="clear"></div>
<dt>Tolerating</dt>
<dd>A <strong>Satisfaction Level</strong> that reflects a level of performance below the desired level, but which can be tolerated. Measurements classified as Tolerating may signal the need for caution or greater attention to the application or process being measured.</dd>
<div class="clear"></div>
<dt>Frustrated</dt>
<dd>A <strong>Satisfaction Level</strong> that reflects an unsatisfactory level of performance for the application or process being reported. Measurements classified as Frustrated may be associated with undesirable outcomes, and lead to remedial or abnormal actions.</p>
<p>[<em>TBD, include these examples of abnormal actions?</em> For example, a customer may abandon an unsatisfactory transaction, an executive may assign more resources to a critical business process that is not meeting its assigned targets, or a supervisor may halt a manufacturing process whose product is outside the specified tolerance.] </dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2.5.1] Thresholds and Performance Intervals</strong></p>
<p><span class="new">See [G 2.5.1] for general definitions of Apdex Thresholds and Performance Intervals. When using Apdex to report response time measurements, Apdex-R simplifies the general method by eliminating the need to specify Performance Intervals, and by specifying just one or two Thresholds, as follows:</span></p>
<dl class="glossary">
<dt>Threshold</dt>
<dd>A response time value that defines a boundary between <span class="new">two adjacent</span> performance zones. <span class="new">Apdex-R defines two thresholds, the tolerating threshold (T) and the frustrated threshold (F).</span></dd>
<div class="clear"></div>
<dt>T</dt>
<dd>The Tolerating Threshold. The value T is contained in the Satisfied Zone, and is the boundary between the Satisfied Zone and the Tolerating Zone. </dd>
<div class="clear"></div>
<dt>F</dt>
<dd>The Frustrated Threshold. The value F contained in the Tolerating Zone, and is the boundary between the Tolerating Zone and the Frustrated Zone. <span class="new">The default value of F is four times the value T. When this default is adopted, only the value of T has to be specified.</span></dd>
<div class="clear"></div>
<p><strong>Applying The Default F=4xT</strong></p>
<p>In Apdex-R, the default value of F is four times the value T. This means, for example, that if users perceive response time as tolerable beginning at 4 seconds then they will be frustrated at response times slower than 16 seconds. <span class="new">However, tool creators are expected to support separate specification of T and F, and users of Apdex-R are encouraged to review the applicability of the default rule in their own reporting environment.</span></p>
<p><strong> Basis for The Default F=4xT</strong></p>
<p>Research supporting the default assertion F=4xT is described in Reference [G 6.1].  Further background information is available in References [G 6.2], [G 6.3], and [G 6.4] <span class="tbd">and on the Apdex web site www.apdex.org</span>.</p>
<p>Most research into application response times has focused on user attitudes and behaviors when exposed to differing Task times. Since Processes and Task Chains are simply sequences of Tasks, this Apdex specification assumes that applicable research conclusions obtained for Tasks can be generalized to apply to Task Chains also. </p>
<p>Because the set of Task times comprising a Task Chain time are likely either to be independent (because environmental conditions affecting one Task have no effect on other tasks in a chain), or to be positively correlated (because some or all of the Tasks share a common system environment) it is reasonable to generalize the conclusions obtained for single Task times to Task Chain times. </p>
<p>Such a generalization would not be valid if the Task times comprising a Task Chain tended to be negatively correlated, because in that case (for example) user frustration with one task could be offset by obtaining rapid response time from another task in the chain. Users accustomed to such offsetting behavior might well expect smaller levels of variance in total Task Chain times, and thus develop thresholds for Task Chains that were lower than the sum of the individual Task thresholds, and which did not adhere to the rule that F is four times T. In this situation, the proposed Apdex mathematics would still work, but the resulting Apdex score could overestimate the users’ perceived quality of a Task Chain. </p>
<p>At present, Apdex considers such negatively correlated Task times unlikely. Therefore the default relationship F=4xT may be employed when reporting measurements of a single Task or of a Task Chain.<br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2.5.1] Thresholds and Performance Intervals</strong></p>
<p> A performance interval is a range of values within the measurement domain that share a common satisfaction level. Thresholds define the boundaries of performance intervals:</p>
<dl class="glossary">
<dt>Threshold</dt>
<dd>One of N distinct values within the <strong>Measurement Domain</strong>, which partition the Measurement Domain into N+1 contiguous non-empty <strong>Performance Intervals</strong> in such a way that measurement values within a Performance Interval have identical <strong>Satisfaction Levels</strong>. Each Threshold lies within one and only one Performance Interval. Unless otherwise specified by a domain-specific <strong>Addendum</strong>, a Threshold lies within the Performance Interval for which it acts as the upper bound.</dd>
<div class="clear"></div>
<dt>Threshold Name</dt>
<dd>Thresholds can have user-assigned names. Tools may also assign default generic names (T1, T2, &#8230; or T<sub>1</sub>, T<sub>2</sub>, &#8230;) to thresholds based on their order, from low to high. An <strong>Addendum</strong> may specify domain-specific names and orderings.</dd>
<div class="clear"></div>
<dt>Performance Interval</dt>
<dd>A partition of the <strong>Measurement Domain</strong> defined by <strong>Thresholds</strong>. All measurement values within a Performance Interval have the same <strong>Satisfaction Level</strong>, which is therefore considered to be an attribute of the Performance Interval. There must be at least three Performance Intervals, one for each of the three Satisfaction Levels. When the context is unambiguous, the term &#8216;Performance Interval&#8217; may be shortened to  <strong>Interval</strong>.</em></dd>
<div class="clear"></div>
<dt>Performance Interval Name</dt>
<dd>Performance Intervals can have user-assigned names. Tools may also assign default generic names (such as PI1, PI2, &#8230; or PI<sub>1</sub>, PI<sub>2</sub>, &#8230;) or names signifying the <strong>Satisfaction Level</strong> of the Interval (such as PIS, PIT1, PIT2, PIF1, &#8230; or PI<sub>s</sub>, PI<sub>t1</sub>,  PI<sub>t2</sub>, PI<sub>f1</sub> &#8230;). Default names should be assigned to Intervals based on their order, from low to high. An <strong>Addendum</strong> may specify domain-specific names and orderings.</dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2.5.2] Performance Zones </strong></p>
<p><span class="new">See [G 2.5.2] for general definitions of Apdex Performance Zones. When using Apdex to report response time measurements, Apdex-R uses the thresholds T and F to define three <strong>Performance Zones</strong>, one for each satisfaction level.</span> </p>
<dl class="glossary">
<dt>Performance Zone</dt>
<dd> A response time range within which user possesses a common satisfaction level. See Satisfied Zone, Tolerating Zone, Frustrated Zone.</span>
<dd>
<div class="clear"></div>
<dt>Satisfied Zone</dt>
<dd>The range of application response times from 0 to T, that reflect the desired level of performance for the application or process being reported. The user is not adversely affected by the response time.</dd>
<div class="clear"></div>
<dt>Tolerating Zone</dt>
<dd>The range of application response times greater than T to F, that reflect a level of performance below the desired level, but which can be tolerated. The user is somewhat negatively affected by response time.</dd>
<div class="clear"></div>
<dt>Frustrated Zone</dt>
<dd>Application response times greater than F, that reflects an unsatisfactory level of performance for the application or process being reported. The user is very negatively affected by response time.</dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2.5.2] Performance Zones </strong></p>
<p>Apdex defines three <strong>Performance Zones</strong>, one for each satisfaction level. The performance zone is the union of all Performance Intervals having that satisfaction level:</p>
<dl class="glossary">
<dt>Satisfied Zone</dt>
<dd>The union of all <strong>Performance Intervals</strong> that have the <strong>Satisfaction Level</strong> of &#8216;Satisfied&#8217;. </dd>
<div class="clear"></div>
<dt>Tolerating Zone</dt>
<dd>The union of all <strong>Performance Intervals</strong> that have the <strong>Satisfaction Level</strong> of &#8216;Tolerating&#8217;. </dd>
<div class="clear"></div>
<dt>Frustrated Zone</dt>
<dd>The union of all <strong>Performance Intervals</strong> that have the <strong>Satisfaction Level</strong> of &#8216;Frustrated&#8217;. </dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 2.6] How the Index Works</strong></p>
<p><span class="new">Applying the Apdex method converts a set of response times into a unitless index value in the range 0 to 1. See [G 2.6] for an overview of how the Apdex index works.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part2">
<strong>[G 2.6] How the Index Works</strong></p>
<p>The Apdex method converts measurements into an index by counting the samples in each performance zone and computing a weighted proportion of satisfied samples. Satisfied samples carry more weight than tolerating samples, which in turn carry more weight than frustrated samples.</p>
<p>The index is a ratio that always lies in the range 0 to 1.  An index of zero means that all of the samples were within the frustrated zone. An index of 1 means that all of the samples were within the satisfied zone.  An index that is greater than zero and less than one means that the samples were from a mix of the performance zones. The higher the index value, the higher the overall satisfaction level of the measurements.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!-- ======================================= [3] --></p>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 3]. Apdex Calculation Inputs</strong></p>
<p><span class="new">See [G 3] for a general introduction to Apdex calculation inputs.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part3">
<strong>[G 3] Apdex Calculation Inputs</strong></p>
<p>Apdex does not favor any tool or method; a wide variety of tools and methods may be used to gather the necessary information for an Apdex calculation and report. </p>
<p>This section specifies the minimal requirements governing input to any Apdex calculation. A tool creator may add features and capabilities above these minimal requirements. An addendum for a particular measurement type may also specify domain-specific rules governing the methods and tools used to obtain measurements of that type.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 3.1] Measurements: Tasks and Task Chains</strong></p>
<p><span class="new">See [G 3.1] for a general rules regarding measurements.</span></p>
<p><span class="new"><strong>[R 3.1.1] Task Measurements</strong></span></p>
<p>Tool creators must identify which applications their tool is capable of interpreting at the Task level.  For example, having the ability to mark the start and end of a Web page by interpreting the HTTP and HTML protocols is sufficient for Web-based applications.  The tool must clearly identify the application by protocol (e.g., HTTP/HTML), or by software maker and product name (e.g., Microsoft Exchange), that it is capable of properly interpreting Tasks and measuring their response times.</p>
<p>Implementation of the Task measurement will vary.  However, Task measurements must be a reasonable approximation of response time measurements that could be performed by the user with a stopwatch.</p>
<p><span class="new"><strong>[R 3.1.2] Task Chain Measurements</strong></span></p>
<p>Because Task Chain Time is defined to be the sum of a set of Task Times, and does not include any Think Time between Tasks, obtaining a Task Chain Time measurement will probably necessitate measuring and accumulating individual Task times. However, the implementation is left to the measurement tool developer, provided that the result is a reasonable approximation of a measurement of Task Chain Time a user could obtain by measuring and summing the component Task Times.</p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part3">
<strong>[G 3.1] Measurements</strong></p>
<p>Tool creators must identify the measurement types their tool is capable of analyzing. When a tool analyzes a measurement type that is covered by an addendum, the tool creator must apply the rules specified in that addendum, in addition to those specified in this document.</p>
<p>Implementations of Apdex-based reporting may vary, provided that individual measurements are assigned to a performance zone that is factored into an Apdex calculation and reported as further defined in this specification.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 3.2] Report Groups</strong></p>
<p><span class="new G">The report group is a named set of measurement samples that will be input to an Apdex calculation. Tools must provide a way for the technician to specify a report group.</span> <span class="new">See [G 3.2] for general rules regarding the specification of report groups. Tools implementing Apdex-R must <strong>also</strong> allow the technician to specify the following values for filters:</span></p>
<dl class="glossary">
<dt>Measurement Type (R)</dt>
<dd>If the tool analyzes measurements of more than one type, it must provide a filter that limits a report group to response time data only. The value &#8220;R&#8221; (signifying &#8220;response time data&#8221;) may be the default measurement type.</dd>
<div class="clear"></div>
<dt>Measurement Subtypes</dt>
<dd>Task and Task Chain must be distinguished; measurements of Task Time and Task Chain Time may not be combined in one report group.</dd>
<div class="clear"></div>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part3">
<strong>[G 3.2] Report Groups</strong></p>
<p>The report group is a named set of measurement samples that will be input to an Apdex calculation. Tools must provide a way for the technician to specify a report group.  </p>
<p> Report groups can be defined in many ways, but tools must allow the technician to specify values for the following filters: </p>
<dl class="glossary">
<dt>Measurement Type</dt>
<dd>Required if the tool analyzes measurements of more than one type. Measurements of different types may not be included in the same report group.</dd>
<dt>Measurement Subtype</dt>
<dd>Required if the measurement type is covered by an addendum that defines distinct subtypes, and the tool analyzes measurements of more than one subtype. Measurements of different subtypes may not be included in the same report group.</dd>
<dt>Application(s) or Process(es)</dt>
<dd>Required if the tool analyzes measurements of more than one application or process. Measurements of more than one application or process may be included in the same report group if they are subject to the same thresholds.</dd>
<dt>Usage Segment(s)</dt>
<dd>Required if the tool analyzes measurements of more than one usage segment. A usage segment is any identifiable subset of the measurements of an application or process, such as a demographic segment, a geographic segment, an organizational segment, etc. Measurements of different usage segments may be included in the same report group if they are subject to the same thresholds. </dd>
<dt>Time Period(s)</dt>
<dd>Required. The technician must be able to define the time period(s) for which the index will be calculated.</dd>
</dl>
<p>Filters can be applied alone and in combination with others, to select a report group from a larger database of measurement data. An addendum governing a particular measurement type may define additional filters to be provided for measurement of that type.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 3.3] Report Group Size</strong></p>
<p><span class="new">See [G 3.3] for rules regarding report group size.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part3">
<strong>[G 3.3] Report Group Size</strong></p>
<p>A set of measurement samples comprising a  report group may be unique or may overlap with the measurement samples in other report groups.  A report group may be defined as broadly as all of the samples for an application, or as narrowly as a single sample.  </p>
<p>For normal reporting, the default minimum sample count for a report group is 100 samples; addenda may specify domain-specific minima. Any report group containing fewer than the specified minimum sample count is considered a <em>small group</em>.</p>
<p>Small groups may not be reliable as performance indicators, but may occur when reporting low traffic periods, or when reporting diagnostic measurements. Special handling is required for reporting small groups; this is specified in section [G 5.2]. </p>
<p> A report group must contain at least one sample for an Apdex value to be calculated.  Single samples report groups may be useful for diagnostic purposes. Single sample Apdex results are also permitted when reporting low traffic periods, but discouraged.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 3.4] Thresholds</strong></p>
<p><span class="new">See [G 3.4] for rules regarding threshold settings. For tools supporting Apdex-R, it is recommended that the default target threshold value, T, be set to 4 seconds.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part3">
<strong>[G 3.4] Thresholds</strong></p>
<p>Tools must provide a way for the technician to specify the thresholds that define the boundaries of performance intervals to be used when calculating an Apdex index for a report group. A single set of thresholds is applied to all samples in a report group.</p>
<p>Thresholds are decimal values having no more than two significant digits of precision. This means that the following types of values are permitted, for any measurement unit, where a &#8216;unit&#8217; refers to the dimension of the measurement type, such as seconds, meters, kilograms:</p>
<dl class="glossary">
<dt>0&lt;<span class="new"><span class="new">|T|</span></span>&lt;10</dt>
<dd>Values greater than 0 units and below 10 units can be defined to a tenth of a unit.<br />Examples: 0.5, 1.2, 5.8, 9.9</dd>
<dt>10&lt;<span class="new">|T|</span>&lt;100</dt>
<dd>Values equal to or greater than 10 units but below 100 units can be defined to one unit.<br />Examples: 10, 19, 56, 85, 99</dd>
<dt>100&lt;<span class="new">|T|</span>&lt;1,000</dt>
<dd>Values equal to or greater than 100 units but below 1000 units can be defined to 10 units.<br />Examples: 100, 190, 560, 850, 990</dd>
<dt><span class="new">|T|</span>&gt;1,000</dt>
<dd>Values equal to or greater than 1,000 units follow the same two significant digits restriction.</dd>
</dl>
<p>A tool that supports a specific measurement type will ship with default threshold values selected by the tool creator, which technicians can change. These defaults enable the tool to begin supplying information with minimal set-up by the technician. An addendum may specify additional rules governing default threshold values, relationships among threshold values, and the required precision of threshold values, as appropriate for a specific measurement type. </p>
<p>A goal of Apdex is to operate so that different Apdex tools will report similar index values for user experiences having comparable levels of quality (see [G 2.1] item 8). However, tools use different measurement methods, and measure from different vantage points within a system. As a result, data purporting to measure the same quantity can have different values. If such differences are systematic, the technician can adjust the Apdex thresholds used with measurements from different tools so that the Apdex calculation produces comparable index values.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!-- ======================================= [4] --></p>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 4] Calculating the Index</strong></p>
<p><span class="new">See [G 4] for a general introduction to the Apdex index calculation.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part4">
<strong>[G 4] Calculating the Index</strong></p>
<p>The Apdex does not entail new measurements, rather it is a new way to represent an existing set of measurements, reflecting the degree to which those measurements achieve designated targets. </p>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 4.1] The Apdex Formula</strong></p>
<p><span class="new">See [G 4.1] for the Apdex formula, and corresponding input requirements:</span></p>
<ul>
<img src="http://apdex.org/Wordpress/wp-content/uploads/2010/08/Apdex-Formula.jpg" alt="Apdex Formula" title="Apdex Formula" width="380" height="75" class="aligncenter size-full wp-image-1788" />
</ul>
<p><span class="new">The following sections address Apdex-R input requirements:</span></p>
<ul>
<span class="new"><strong>Measurement data:</strong>  [R 3.1]</span></p>
<p><span class="new"><strong>Report group</strong>: [R 3.2] and [R 3.3]</span></p>
<p><span class="new"><strong>Performance zones</strong>: [R 2.5], [R 2.5.1], [R 2.5.2], and [R 3.4]</span>
</ul>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part4">
<strong>[G 4.1] The Standard Apdex Formula</strong></p>
<p>The Apdex index is calculated as follows. Given:</p>
<ul>
<strong>Measurement data</strong> that meets the requirements of section [G 3.1]</p>
<p><strong>A report group</strong> comprising measurement samples, defined as specified in sections [G 3.2] and [G 3.3]</p>
<p><strong>Three performance zones</strong> (Satisfied, Tolerating, Frustrated), defined as specified in sections [G 2.5], [G 2.5.1], [G 2.5.2], and [G 3.4]</p>
<p><strong>An allocation process</strong> that assigns each sample to a performance zone, and counts all samples, so that:</p>
<p><strong>Total_Samples</strong> is the number of all samples in the report group</p>
<p><strong>Satisfied_Count</strong> is the number of report group samples in the Satisfied Zone</p>
<p><strong>Tolerating_Count</strong> is the number of report group samples in the Tolerating Zone
</ul>
<p>Then the Apdex index for the report group is:</p>
<ul>
<img src="http://apdex.org/Wordpress/wp-content/uploads/2010/08/Apdex-Formula.jpg" alt="Apdex Formula" title="Apdex Formula" width="380" height="75" class="aligncenter size-full wp-image-1788" />
</ul>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 4.1.1] The Standard Formula in Action</strong></p>
<p><span class="new">See [G 4.1.1] for a general overview of the Apdex formula in action.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part4">
<strong>[G 4.1.1] The Standard Formula in Action</strong></p>
<p>Note that measurements in the Frustrated zone are counted in Total_Samples, the denominator of the formula, but do not contribute to the numerator.  </p>
<p>Another way to describe the Apdex index is as the weighted proportion of satisfactory samples in the report group. Samples in the Satisfied Zone have weights of 1, those in the Tolerating Zone have weights of &frac12;, and those in the Frustrated Zone have weights of 0. </p>
<div class="box">
[ <em>TBD:</em> ] Therefore to achieve the optimal Apdex value of 1.00, all samples must represent the Satisfaction Level of &#8216;Satisfied&#8217;.  If any samples reflect Tolerating or Frustrated performance, the index drops below 1.00.  For example, if 80% of samples are Satisfied and 10% are Tolerating, while the remaining 10% are Frustrated, the index is 0.85.
</div>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 4.1.2] Alternative Scoring in the Tolerating Zone</strong></p>
<p><span class="new">See [G 4.1.2] for the rules for optional alternative scoring. </p>
<p>Apdex-R permits tool creators to substitute an alternative scoring function in the tolerating zone, provided that sample values (or value ranges) closest to the satisfied zone receive the greatest weight.</span><br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part4">
<strong>[G 4.1.2] Alternative Scoring in the Tolerating Zone</strong></p>
<p>If the characteristics of a particular measurement and reporting domain justify using graduated weights within the Tolerating zone, an Addendum may substitute an alternative scoring function for the factor <em>Tolerating_Count/2</em> in the standard formula. Any alternative scoring function (such as a sliding scale) must have the property that sample values (or value ranges) closest to the satisfied zone receive the greatest weight, in accordance with the index objectives (see [G 2.1] item 6).<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 4.2] Dealing with Exceptions</strong></p>
<p><span class="new">See [G 4.2] for general rules for dealing with exceptions. The following additional notes may apply to measurements of Task (and Task Chain) times.</span></p>
<p><span class="new"><strong>User aborts:</strong></span> A user abort occurs when a user enters a new inquiry before the system responds with the original inquiry.  A user-generated abort stops the timing of the Task.  Therefore, user aborts can fall into any of the satisfied, tolerating, frustrated zones.  </p>
<p><span class="new"><strong>Server failure:</strong></span> If a tool can detect a clear server-generated abort, then it is handled differently.  Server aborts (e.g., TCP closes within a Task) are counted as a frustrated sample regardless of the Task time measurement.</p>
<p><span class="new"><strong>Application failure:</strong></span> Some tools may have the optional capability to interpret the application to a greater level of detail than the minimal Task boundary.  For example, they may be able to detect user relevant information at the layer of the application logic. If the tool can detect Task errors, then these application errors (e.g. Web page 404 replies) are counted as frustrated samples.</p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part4">
<strong>[G 4.2] Dealing with Exceptions</strong> </p>
<p>When a Report Group contains samples marked as errors or exceptions, tools performing the Apdex calculation should classify those measurements as follows:</p>
<p><strong>User Error:</strong> Exceptions caused by user actions may be classified as Satisfied, Tolerating, or Frustrated in the same way as any other measurement, if the necessary field(s) are present in the sample. If the field(s) required to perform classification are absent, user-generated exceptions should be classified as Satisfied.</p>
<p><strong>Warning:</strong> Exceptions indicating abnormal system or process behavior may be classified as Tolerating if the system or process returned immediately to normal operation without requiring abnormal intervention.</p>
<p><strong>Failure:</strong> Exceptions indicating a system or process failure that is experienced by the user should be classified as Frustrated.</p>
<p><strong>Measurement Error:</strong> Exceptions indicating measurement errors should be discarded from the Report Group.</p>
<p><strong>Unknown:</strong> Exceptions not amenable to classification should be discarded from the Report Group. However, tool creators must attempt to minimize the number of error types assigned to this category.</p>
<p>Because all exceptions are specific to a particular measurement domain, an addendum may specify domain-specific refinements to these general guidelines.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!-- ======================================= [5] --></p>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5] Reporting the Index</strong></p>
<p><span class="new G">In this section, the terms <em>Report(s)</em> and <em>Reporting</em> refer to any representation of an Apdex index, whether in print, on a computer screen, or elsewhere.</span><br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5] Reporting the Index</strong></p>
<p>In this section, the terms <em>Report(s)</em> and <em>Reporting</em> refer to any representation of an Apdex index, whether in print, on a computer screen, or elsewhere.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.1] Reporting the Apdex Value</strong></p>
<p><span class="new">See [G 5.1] for general rules about reporting the Apdex value. Apdex-R adds the following rule for reporting performance zones:  </span></p>
<p><span class="new">All Apdex-R values are calculated using two thresholds, T and F, which must be reported in association with the corresponding Apdex score for a report group. The value of T must always be reported. If the specification of the report group applied a default rule for the value of F (see [R 2.5.1]), the value of F may be omitted. </span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5.1] Reporting the Apdex Value</strong></p>
<p>Reports must adhere to the following rules:</p>
<ol>
<li>The index is a decimal value between 0 and 1, rounded to a precision of two decimal places. Values equal to or greater than 0.995 round to 1.00. </li>
<li>Unless its value is 1.00, the index is always reported with a zero in the tens place, followed by a decimal point, followed by no more than two decimal places.</li>
<li>Apdex values must be identified as such.  When several Apdex values are presented in tabular form, a single Apdex identifier can be identify a group of values in a row, column, or table.</li>
<li>All Apdex values are calculated based on specified performance zones. The performance zone specification must be clearly displayed in association with the Apdex score.</li>
</ol>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.1.1] Describing General Cases</strong></p>
<p><span class="new">See [G 5.1.1] for rules about describing unspecified Apdex thresholds.</span> </p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5.1.1] Describing General Cases</strong> </p>
<p>In general discussions of Apdex values, references to unspecified performance thresholds are written using the notation “[T]”, as shown in the following examples.</p>
<p>“Everyone should understand that 0.90 [T] is a better value than 0.80 [T].”<br />
&#8220;Apdex scores in the range 0.85 to 0.93 [T] are rated <em>Good</em>.&#8221;</p>
<p>Sections [G 5.3] and [G 5.4] also use this notation when referring to threshold reporting.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.2] Uniform Output File (Mandatory)</strong></p>
<p><span class="new G">To support the exchange of index values between Apdex analysis and reporting tools, all Apdex analysis tools must support the Apdex Uniform Output format</span><span class="new"> specified in [G 5.2]. In Apdex-R, the following additional rules apply:</span> </p>
<p><strong>[R 5.2.1] Bracketed Output Format (Mandatory)</strong></p>
<p><span class="new">Tools implementing Apdex-R must be capable of reporting Apdex-R values using the bracketed format described in Table 2. When the value of F is set using a default rule (see [R 2.5.1]) elements 5 and 6 in Table 2 may be omitted, so that only the value of the threshold T accompanies the reported Apdex value.</span></p>
<table class="text" id="table2">
<tr>
<th class="width15">Element Number</th>
<th class="width35">Definition</th>
<th class="width15">Type</th>
<th class="width35">Content</th>
</tr>
<tr>
<td>1</td>
<td>Apdex index value</td>
<td>Number</td>
<td>Decimal in range [0.00, 1.00]</td>
</tr>
<tr>
<td>2</td>
<td>Space</td>
<td>Literal</td>
<td></td>
</tr>
<tr>
<td>3</td>
<td>Left bracket designating start of threshold(s)</td>
<td>Literal</td>
<td>[</td>
</tr>
<tr>
<td>4</td>
<td>Tolerating threshold, T</td>
<td>Number</td>
<td>Decimal</td>
</tr>
<tr>
<td>5</td>
<td>Comma</td>
<td>Literal</td>
<td>,</td>
</tr>
<tr>
<td>6</td>
<td>Frustrated threshold, F</td>
<td>Number</td>
<td>Decimal</td>
</tr>
<tr>
<td>7</td>
<td>Right bracket designating end of threshold(s)</td>
<td>Literal</td>
<td>]</td>
</tr>
<tr>
<td>8</td>
<td>Small Group Indicator</td>
<td>Literal</td>
<td>* or NS</td>
</tr>
<caption>Table 2. Bracketed Output Format</caption>
</table>
<p>Examples of bracketed output format are: 0.85 [5.5], 1.00 [8.0]*, 0.90 [4.0], and 0.77 [450].</p>
<p><strong>[R 5.2.2] Subscripted Output Format (Optional)</strong></p>
<p><span class="new">When the value of F is set using a default rule (see [R 2.5.1]),</span> tools may display Apdex values in which the value of T is shown as a mathematical subscript.  For example, an Apdex value of 0.75 that is based upon a T value of 4 seconds is shown as 0.75<sub>4</sub>.</p>
<p>When T has a decimal component, as defined in section [G 3.4], then the exact value of T must be shown (example: 0.75<sub>4.5</sub>). To increase readability, tools may drop the decimal portion of T if it is zero (example: 0.75<sub>4.0</sub> becomes 0.75<sub>4</sub>).<br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part5" style="font-size: 85%;">
<strong>[G 5.2] Uniform Output File (Mandatory)</strong></p>
<p>Separate tools may be used to calculate Apdex index values from measurement data and to report Apdex index values. To support the exchange of index values between Apdex analysis and reporting tools, all Apdex analysis tools must support the Apdex Uniform Output format. A tool shall display, print, and export Apdex-G values to an ASCII file having a comma-separated values (CSV) format. For this purpose, Apdex-G incorporates the IETF specification of CSV published in RFC 4180 (see section [G 6] References). </p>
<p>A Uniform Output File is composed of a uniform output header record, followed by one or more uniform output data records. The header record contains the same number of comma-separated fields as all data records in the file. Fields in the header record contain fixed literal values, or names that correspond to each field in the data records. The content of a uniform output header and data records are described in Tables 2 and 3 below. In Table 2, each element except the last is followed by a comma. </p>
<table class="text" id="table5">
<tr>
<th class="width10" rowspan="2">Element Number</th>
<th class="width25" rowspan="2">Definition</th>
<th class="width25" colspan="2">Header Record</th>
<th class="width40" colspan="2">Data Record</th>
</tr>
<tr>
<th class="width5">Type</th>
<th class="width20">Content</th>
<th class="width5">Type</th>
<th class="width35">Content</th>
</tr>
<tr>
<td>1</td>
<td>Apdex data record identifier</td>
<td>Literal</td>
<td>Apdex Header</td>
<td>Literal</td>
<td>Apdex</td>
</tr>
<tr>
<th colspan="2"><strong>Report Group Metadata Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>2</td>
<td><strong>A</strong>pdex <strong>R</strong>eport <strong>G</strong>roup section identifier</td>
<td>Literal</td>
<td>ARG</td>
<td>Literal</td>
<td>ARG</td>
</tr>
<tr>
<td>3</td>
<td>Report Group Name</td>
<td>Literal</td>
<td>Report Group</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>4</td>
<td>Report Group Description</td>
<td>Literal</td>
<td>Description</td>
<td>Text String</td>
<td>Defined by tool or user. <em>See note 1 below</em></td>
</tr>
<tr>
<td>5</td>
<td>Measurement Type</td>
<td>Literal</td>
<td>Type</td>
<td>Name</td>
<td>G, or addendum type (e.g. R for Apdex-R)</td>
</tr>
<tr>
<td>6</td>
<td>Measurement Subtype</td>
<td>Literal</td>
<td>Subtype</td>
<td>Name</td>
<td>Values specified in an addendum for this measurement type</td>
</tr>
<tr>
<td>7</td>
<td>Application</td>
<td>Literal</td>
<td>Application</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>8</td>
<td>User Group</td>
<td>Literal</td>
<td>User Group</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>9</td>
<td>Time Period Start</td>
<td>Literal</td>
<td>Start Time</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<td>10</td>
<td>Time Period End</td>
<td>Literal</td>
<td>End Time</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<th colspan="2"><strong>Input Data Summary Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>11</td>
<td><strong>A</strong>pdex <strong>D</strong>ata <strong>S</strong>ummary section identifier</td>
<td>Literal</td>
<td>ADS</td>
<td>Literal</td>
<td>ADS</td>
</tr>
<tr>
<td>12</td>
<td>Sample Count</td>
<td>Literal</td>
<td>Total Samples</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>13</td>
<td>Satisfied Zone Count</td>
<td>Literal</td>
<td>Satisfied Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>14</td>
<td>Tolerating Zone Count</td>
<td>Literal</td>
<td>Tolerating Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>15</td>
<td>Frustrated Zone Count</td>
<td>Literal</td>
<td>Frustrated Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>16</td>
<td>Earliest Sample Timestamp</td>
<td>Literal</td>
<td>First Sample</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<td>17</td>
<td>Latest Sample Timestamp</td>
<td>Literal</td>
<td>Last Sample</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<th colspan="2"><strong>Apdex Index Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>18</td>
<td><strong>A</strong>pdex <strong>I</strong>nde<strong>X</strong> section identifier</td>
<td>Literal</td>
<td>AIX</td>
<td>Literal</td>
<td>AIX</td>
</tr>
<tr>
<td>19</td>
<td>Apdex index value</td>
<td>Literal</td>
<td>Apdex Index</td>
<td>Number</td>
<td>Decimal in range [0.00, 1.00]</td>
</tr>
<tr>
<td>20</td>
<td>Satisfied Zone Identifier</td>
<td>Literal</td>
<td>S</td>
<td>Literal</td>
<td>S</td>
</tr>
<tr>
<td>21</td>
<td>Satisfied Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>22</td>
<td>Tolerating Zone Identifier</td>
<td>Literal</td>
<td>T</td>
<td>Literal</td>
<td>T</td>
</tr>
<tr>
<td>23</td>
<td>Tolerating Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>24</td>
<td>Frustrated Zone Identifier</td>
<td>Literal</td>
<td>F</td>
<td>Literal</td>
<td>F</td>
</tr>
<tr>
<td>25</td>
<td>Frustrated Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>26</td>
<td><strong>S</strong>mall <strong>G</strong>roup <strong>I</strong>ndicator</td>
<td>Literal</td>
<td>SGI</td>
<td>Literal</td>
<td>* or NS</td>
</tr>
<caption>Table 2. Layout of a Uniform Output Data Record</caption>
</table>
<p><strong>Note 1</strong>: To avoid ambiguity, tool creators must ensure that Report Group description fields do not contain commas, because commas separate fields in the Uniform Output format.</p>
<p><strong>Performance Interval Names</strong> </p>
<p>If a tool has obtained user-specified names for performance intervals, those names should be included in the corresponding fields of the header record (elements 21, 23, and 25 in Table 2). If user-specified names are not available, distinct default names must be supplied for each performance interval field in the header record. See also section [G 2.5.1] Thresholds and Performance Intervals. </p>
<p><strong>Performance Interval Groups</strong></p>
<p>In Table 2, each Interval Group (elements 21, 23, and 25)  is composed of one or more Performance Interval elements, separated by commas. Table 3 shows the structure of <strong>a single</strong> Performance Interval element, therefore the components shown in Table 3 are <strong>not</strong> separated by commas.</p>
<table class="text" id="table3">
<tr>
<th class="width10" rowspan="2">Component</th>
<th class="width25" rowspan="2">Definition</th>
<th class="width25" colspan="2">Header Record</th>
<th class="width40" colspan="2">Data Record</th>
</tr>
<tr>
<th class="width5">Type</th>
<th class="width20">Content</th>
<th class="width5">Type</th>
<th class="width35">Content</th>
</tr>
<tr>
<td>1</td>
<td>Opening backet</td>
<td rowspan="5">Name</td>
<td rowspan="5">Performance Interval Name</td>
<td>Literal</td>
<td>( or [</td>
</tr>
<tr>
<td>2</td>
<td>Lower threshold</td>
<td>Number</td>
<td>Decimal number -- see [G 3.4]</td>
</tr>
<tr>
<td>3</td>
<td>Colon</td>
<td>Literal</td>
<td>: <em>See note 2 below</em></td>
</tr>
<tr>
<td>4</td>
<td>Upper threshold</td>
<td>Number</td>
<td>Decimal number &#8212; see [G 3.4]</td>
</tr>
<tr>
<td>5</td>
<td>Closing backet</td>
<td>Literal</td>
<td>) or ]</td>
</tr>
<caption>Table 3. Components of a Performance Interval within a Uniform Output Data Record</caption>
</table>
<p><strong>Note 2</strong>: Interval Notation, described in References [G 6.8], uses a comma to separate the upper and lower bounds of an interval. To avoid ambiguity Apdex substitutes a colon, because commas separate fields in the Uniform Output format.</p>
<p><strong>Optional Sections</strong></p>
<p>The Uniform Output File format comprises three sections, each having its own identifier (fields 2, 11, and 18). The Report Group Metadata Section and the Apdex Index Section are required, because they contain the necessary data for reporting Apdex scores. The Input Data Summary Section is optional, but tool creators are encouraged to produce this data at the analysis stage, and to pass it to Reporting tools. Reporting tools can use this data to provide additional context for Apdex scores. If the Input Data Summary Section is omitted, fields 11 through 17 must be omitted from the header and data records. </p>
<p><strong>Examples of the uniform output</strong></p>
<p>Examples of the uniform output are:</p>
<p>       Apdex Header,ARG,,,,,,,,,AIX,Apdex Index,S,Green,T,Yellow,F,Red,SGI  CRLF  <em>user labels</em><br />
       Apdex,ARG,,,,,,,,,AIX,0.72,S,[0:4],T,(4:16],F,(16:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.85,S,[0:6],T,(6:20],F,(20:INF),*  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.58,S,[0:3],T,(3:10],F,(10:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.91,S,[0:10],T,(10:30],F,(30:INF)  CRLF</p>
<p>       Apdex Header,ARG,,,,,,,,,AIX,Apdex Index,S,PI3,T,PI2,PI4,F,PI1,PI5,SGI  CRLF  <em>generic labels</em><br />
       Apdex,ARG,,,,,,,,,AIX,0.88,S,(10:12],T,(6:10],(12:16],F,[0:6],(16:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.96,S,(9:15],T,(6:9],(15:18],F,[0:6],(18:INF)  CRLF</p>
<p><span class="tbd">[ <em>More details and examples will be added here</em> ]</span></p>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.3] Indicating Sample Size</strong></p>
<p><span class="new">See [G 5.3] for rules about reporting the sample size of an Apdex report group.</span></p>
<p><!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5.3] Indicating Sample Size</strong></p>
<p>Apdex values are calculated based upon a set of measurements (samples) in the report group.  If there are a small number of samples, the tool must still present a result.  However, a result for such a small report group must be clearly marked.</p>
<p>A small report group is defined as one having fewer than 100 samples. An addendum may modify this definition to be appropriate for a particular measurement domain. Apdex tools will clearly indicate that the result is based upon one of the following scenarios:</p>
<dl class="glossary">
<dt>No Samples</dt>
<dd>The Apdex calculation could not be performed because there were no samples (NS) within the report group.  Where the calculated Apdex value would normally appear, the tool will show an output of NS [T], where [T] is the normal threshold display (see section [G 5.1.1]).</dd>
<dt>Small Group</dt>
<dd>When an Apdex value is the output of a small group calculation, an asterisk (*) must be appended to that value, for example: 0.84* [T], where [T] is the normal threshold display (see section [G 5.1.1]). </dd>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.4] Apdex Quality Ratings</strong></p>
<p><span class="new">See [G 5.4] for rules about assigning and reporting Apdex quality ratings.</span></p>
<p><span class="new">In Apdex-R, when the value of F is set using a default rule (see [R 2.5.1]), the target threshold T may be shown as a subscript, as illustrated in Table 3. The table shows examples where T is 4 seconds.</span></p>
<p><strong>Table 3 – Apdex Qualitative Reporting Rules</strong><br />
(Examples where T=4)</p>
<table class="text" id="table6A">
<tr>
<th class="width30"><strong>Apdex Value Range</strong></th>
<th class="width25"><strong>Rating</strong></th>
<th class="width45"><strong>Color Indication</strong></th>
</tr>
<tr>
<td>0.94<sub>4</sub> to 1.00<sub>4</sub></td>
<td>Excellent<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.85<sub>4</sub> to 0.93<sub>4</sub></td>
<td>Good<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.70<sub>4</sub> to 0.84<sub>4</sub></td>
<td>Fair<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.50<sub>4</sub> to 0.69<sub>4</sub></td>
<td>Poor<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.00<sub>4</sub> to 0.49<sub>4</sub></td>
<td>Unacceptable<sub>4</sub> or UNAX<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td colspan="3"><strong>Low Sample Cases</strong></td>
</tr>
<tr>
<td>NS<sub>4</sub></td>
<td>NoSample<sub>4</sub></td>
<td>Determined by creator (with a 4 plus an NS inside color indication)</td>
</tr>
<tr>
<td>0.85<sub>4</sub>*</td>
<td>Good<sub>4</sub>*</td>
<td>Determined by creator (with a 4 plus an * inside color indication)</td>
</tr>
<caption>Table 3. Apdex Qualitative Reporting Rules</caption>
</table>
<p><span class="tbd">Note: In the current specification, the &#8216;Apdex Value Range&#8217; column of Table 3 contains a typo in the &#8216;NoSample&#8217; row, which reads &#8217;0.NS<sub>4</sub>&#8216;. That cell should read &#8216;NS<sub>4</sub>&#8216; (as shown above).</span><br />
<!--close Apdex-R--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5.4] Apdex Quality Ratings</strong></p>
<p>Some tool creators may wish to assign quality ratings to Apdex value ranges, and to present those ratings graphically. This is an optional feature, but, if implemented, it must follow these guidelines. </p>
<p>Two alternative representations are permitted for quality ratings: a rating word or a color indication. Table 6 below lists the value ranges to be used when assigning a rating to an Apdex value. The table shows examples for the target threshold [T], where [T] is the normal threshold display as described in section [G 5.1.1]. </p>
<p>Colors may be selected by the creator for consistency with other products, or based on user-supplied preferences. However a legend must clearly indicate which color represents each Apdex rating. </p>
<table class="text" id="table6B">
<tr>
<th class="width30"><strong>Apdex Value Range</strong></th>
<th class="width25"><strong>Rating Word</strong></th>
<th class="width45"><strong>Color Indication</strong></th>
</tr>
<tr>
<td>0.94 to 1.00 [T]</td>
<td>Excellent [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.85 to 0.93 [T]</td>
<td>Good [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.70 to 0.84 [T]</td>
<td>Fair [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.50 to 0.69 [T]</td>
<td>Poor [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.00 to 0.49 [T]</td>
<td>Unacceptable [T] or UNAX [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td colspan="3"><strong>Low Sample Cases</strong></td>
</tr>
<tr>
<td>NS [T]</td>
<td>NoSample [T]</td>
<td>Determined by creator (with [T] plus an NS inside color indication)</td>
</tr>
<tr>
<td>0.85* [T]</td>
<td>Good* [T]</td>
<td>Determined by creator (with [T] plus an * inside color indication)</td>
</tr>
<caption>Table 6. Rules for Apdex Quality Ratings</caption>
</table>
<p><strong>Note:</strong> An addendum may specify alternative colors <span class="tbd">[<em>TBD: and/or value ranges?</em>]</span> to be applied when reporting Apdex scores for a particular measurement domain.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!--THE END--></p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/09/apdex-g-and-apdex-r-composite-sections-1-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apdex-R Section [5] Reporting</title>
		<link>http://apdex.org/index.php/2010/09/apdex-r-section-5-reporting/</link>
		<comments>http://apdex.org/index.php/2010/09/apdex-r-section-5-reporting/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 00:12:02 +0000</pubDate>
		<dc:creator>Chris Loosley</dc:creator>
				<category><![CDATA[Apdex Specification]]></category>
		<category><![CDATA[How Apdex Works]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2455</guid>
		<description><![CDATA[ p { clear: left; } .clear { clear: both; } .box { border: 1px solid #DDDDDD; padding: 5px; } .clearBox { margin: 0 40px; } .textBox { margin: 0 40px; border: 1px solid #DDDDDD; background-color: #E8E8E8; padding: 10px; } .specBox { min-width: 500px; z-index: 1000; position: relative; overflow: visible; } .Apdex { border: [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
p { clear: left; }
.clear { clear: both; }
.box {
     border: 1px solid #DDDDDD;
     padding: 5px;
     }
.clearBox {
     margin: 0 40px;
     }
.textBox {
     margin: 0 40px;
     border: 1px solid #DDDDDD;
     background-color: #E8E8E8; 
     padding: 10px;
     }
.specBox { 
     min-width: 500px; 
     z-index: 1000;
     position: relative;
     overflow: visible;
     }
.Apdex { 
     border: 1px solid #DDDDDD; 
     padding: 5px;
     background-color: #F0F0D0;
     }
.Apdex-G { 
     border: 1px solid #6D83B2; 
     padding: 5px;
     }
.leftCol { float: left; width: 32%; display: block; font-size: 85%;}
.rightCol { float: right; width: 62%; display: block; }
.leftHalf { float: left; width: 47%; }
.rightHalf { float: right; width: 47%; }
.part1 { background-color: #FFFFF0; }
.part2 { background-color: #FFF8F0; }
.part3 { background-color: #F8F8F0; }
.part4 { background-color: #F8F0F0; }
.part5 { background-color: #F0F0F0; }
.part6 { background-color: #E8F0F0; }
.part7 { background-color: #E8E8F0; }
.red { background-color: #FE0000 !important; }
.yellow { background-color: #FDFE00 !important; }
.green { background-color: #339933 !important; }
.dark { color: #888888; }
.new { border-bottom: 2px solid #66FF66 !important; }
.new.G { border-bottom: 2px solid #6666FF !important; }
.tbd {  font-style: italic; border-bottom: 2px solid #FDFE00 !important;}
del { font-size: 85%;}
.quote {
     border-left: 7px solid #CCCCCC; 
     padding: 10px 100px 20px 25px;
     }
.quoteSource {
     float: right;
     padding-right: 25px;
     font-style: italic;
     }
cite { 
     font-style: normal; 
     font-size: smaller; 
     font-variant: small-caps; 
     }
cite:before { content: "["; }
cite:after { content: "]"; }
dl.bibliography dt { 
     font-style: normal; 
     font-size: small; 
     font-variant: small-caps;
     float: left; 
     clear: left; 
     width: 6em;
     margin: 0 5px 5px 0; 
     border: 1px solid #CCCCCC; 
     padding: 2px;
     }
dl.bibliography dd { 
     margin-left: 6.5em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
dl.glossary dt { 
     float: left; 
     clear: left; 
     border: 1px solid #DDDDDD;
     width: 10em;
     margin: 0 5px 5px 0; 
     padding: 2px;
     }
.rightCol  dl.glossary dt,
.leftCol dl.glossary dt { 
     width: 7em;
     }
dl.glossary dd { 
     margin-left: 11em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
.rightCol  dl.glossary dd,
.leftCol dl.glossary dd { 
     margin-left: 8em; 
     }
table.text {
     margin: 10px 40px; 
     border:1px solid #DDDDDD;
     }
table.text caption {
     caption-side: bottom;
     text-align: left; 
     font-style: italic; 
     margin-bottom: 10px; 
     }
table.text td {
     vertical-align: top;
     padding: 4px !important;
     }
table.text th {
     padding-left: 4px !important;
     padding-right: 4px !important;
     }
.width05 { width: 5%; }
.width08 { width: 8%; }
.width10 { width: 10%; }
.width12 { width: 12%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width24 { width: 24%; }
.width30 { width: 30%; }
.width35 { width: 35%; }
.width36 { width: 36%; }
.width40 { width: 40%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }
</style>
<p><em>I’m writing a series of posts about Generalizing Apdex. This is #24. To minimize confusion, section numbers in the current spec are accompanied by the section symbol, like this: &sect;1. The corresponding section numbers in the generalized spec documents, Apdex-G and Apdex-R, are enclosed in square brackets and prefixed by the document type, like this: [G&nbsp;1] and [R&nbsp;1].</em></p>
<p>Drafts of the Apdex-G spec were posted as <a href="http://apdex.org/?p=1987">Section [1] Introduction</a>, <a href="http://apdex.org/?p=2020">Section [2] Index Overview</a>, <a href="http://apdex.org/?p=2054">Section [3] Calculation Inputs</a>, <a href="http://apdex.org/?p=2059">Section [4] Calculating the Index</a>, <a href="http://apdex.org/?p=2085">Section [5] Reporting</a>, and <a href="http://apdex.org/?p=2194">Section [6] References</a>. </p>
<p>The first draft of Apdex-R began with <a href="http://apdex.org/?p=2326">Sections 1 and 2</a>, <a href="http://apdex.org/?p=2341">Section 3</a>, and <a href="http://apdex.org/?p=2402">Section 4</a>. This post covers <a href="http://apdex.org/?p=2455">Section 5</a>. </p>
<p><span id="more-2455"></span></p>
<p>Apdex-R specifies the Apdex rules for reporting response-time measurements, therefore my first draft draws heavily on the present <a href="http://apdex.org/specs.html">Apdex spec</a>. My goal is to reformat the present spec&#8217;s rules within the context established by Apdex-G. To allow both documents to be viewed together, I show Apdex-G (draft #2, plus a few subsequent amendments) on the left, and Apdex-R (draft #1) on the right. </p>
<p>Differences between Apdex-R and the corresponding sections of the present spec are highlighted, as follows:</p>
<ul>
<li><del>text deleted from the present spec</del> This text is covered in Apdex-G, or elsewhere in Apdex-R, or extraneous.</li>
<li><span class="new">new text added to Apdex-R (plus a few additions to Apdex-G draft #2)</span></li>
<li><span class="new G">new text created for Apdex-G, now being repeated in Apdex-R for readability</span></li>
<li><span class="tbd">notes, questions, issues to be resolved</span></li>
</ul>
<p>While major deletions, additions, and changes to the present spec <em>are marked</em>, many minor wording changes to the present spec&#8217;s text, to improve continuity and clarity of meaning, <em>are not marked</em>. I believe those changes do not substantially alter the meaning and intent of the present spec.</p>
<div class="clear"></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf" style="font-size: 85%;">
<h3>Apdex-R, first draft:</h3>
<p><!--close Apdex--></div>
<div class="Apdex-G leftHalf part5" style="font-size: 85%;">
<h3>Apdex-G, second draft:</h3>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5] Reporting the Index</strong></p>
<p><span class="new G">In this section, the terms <em>Report(s)</em> and <em>Reporting</em> refer to any representation of an Apdex index, whether in print, on a computer screen, or elsewhere.</span> <del>The index is a decimal value between 0 and 1.  The Apdex representation on all reports (screen, print, or otherwise) must adhere to the following rules.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5] Reporting the Index</strong></p>
<p>In this section, the terms <em>Report(s)</em> and <em>Reporting</em> refer to any representation of an Apdex index, whether in print, on a computer screen, or elsewhere.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.1] Reporting the Apdex Value</strong></p>
<p><span class="new">See [G 5.1] for general rules about reporting the Apdex value. Apdex-R adds the following rule for reporting performance zones:  </span></p>
<p><span class="new">All Apdex-R values are calculated using two thresholds, T and F, which must be reported in association with the corresponding Apdex score for a report group. The value of T must always be reported. If the specification of the report group applied a default rule for the value of F (see [R 2.5.1]), the value of F may be omitted. </span></p>
<p><del>The index always starts with a 0, followed by a decimal point, followed by the fractional value for the calculation to two decimals, and the value of T is clearly associated with the index presentation as defined below.  There is a special case of the value 1.00 that starts with the digit of 1.  A 1.00 is presented when the formula produces a result that can be rounded arithmetically to 1.00 (results equal to or greater than 0.995 round to 1.00).</del></p>
<p><del>Apdex may not be reported in granularity smaller than one one-hundredth.  Decimal values of 3 or more digits are not permitted.</del></p>
<p><del>Tools in a computer screen or in printed reports always identify it as an Apdex value.  When there are many values of the index presented in tabular form representing many reporting groups, then the Apdex label should appear with the appropriate column or row.</del></p>
<p><del>All Apdex values are calculated with a particular target threshold, T.  The value of T must be clearly displayed in association with the Apdex score.  Furthermore, in order to facilitate exporting Apdex values from a tool and then importing them to other analysis tools, all tools must support at least one uniform output as shown below.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5.1] Reporting the Apdex Value</strong></p>
<p>Reports must adhere to the following rules:</p>
<ol>
<li>The index is a decimal value between 0 and 1, rounded to a precision of two decimal places. Values equal to or greater than 0.995 round to 1.00. </li>
<li>Unless its value is 1.00, the index is always reported with a zero in the tens place, followed by a decimal point, followed by no more than two decimal places.</li>
<li>Apdex values must be identified as such.  When several Apdex values are presented in tabular form, a single Apdex identifier can be identify a group of values in a row, column, or table.</li>
<li>All Apdex values are calculated based on specified performance zones. The performance zone specification must be clearly displayed in association with the Apdex score.</li>
</ol>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.1.1] Describing General Cases</strong></p>
<p><span class="new">See [G 5.1.1] for rules about describing unspecified Apdex thresholds.</span> </p>
<p><del>General Apdex value discussions that reflect any target of T are written with “T” as shown in the following examples.</del></p>
<p><del><strong>Uniform Output:</strong>  “Everyone should understand that 0.90 [T] is a better value than 0.80 [T].”</del><br />
<del><strong>Subscripted Output:</strong> “Everyone should understand that 0.90<sub>T</sub> is a better value than 0.80<sub>T</sub>.”</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5.1.1] Describing General Cases</strong> </p>
<p>In general discussions of Apdex values, references to unspecified performance thresholds are written using the notation “[T]”, as shown in the following examples.</p>
<p>“Everyone should understand that 0.90 [T] is a better value than 0.80 [T].”<br />
&#8220;Apdex scores in the range 0.85 to 0.93 [T] are rated <em>Good</em>.&#8221;</p>
<p>Sections [G 5.3] and [G 5.4] also use this notation when referring to threshold reporting.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.2] Uniform Output File (Mandatory)</strong></p>
<p><span class="new G">To support the exchange of index values between Apdex analysis and reporting tools, all Apdex analysis tools must support the Apdex Uniform Output format</span><span class="new"> specified in [G 5.2]. In Apdex-R, the following additional rules apply:</span> </p>
<p><strong>[R 5.2.1] Bracketed Output Format (Mandatory)</strong></p>
<p><span class="new">Tools implementing Apdex-R must be capable of reporting Apdex-R values using the bracketed format described in Table 2. When the value of F is set using a default rule (see [R 2.5.1]) elements 5 and 6 in Table 2 may be omitted, so that only the value of the threshold T accompanies the reported Apdex value.</span></p>
<table class="text" id="table2">
<tr>
<th class="width15">Element Number</th>
<th class="width35">Definition</th>
<th class="width15">Type</th>
<th class="width35">Content</th>
</tr>
<tr>
<td>1</td>
<td>Apdex index value</td>
<td>Number</td>
<td>Decimal in range [0.00, 1.00]</td>
</tr>
<tr>
<td>2</td>
<td>Space</td>
<td>Literal</td>
<td></td>
</tr>
<tr>
<td>3</td>
<td>Left bracket designating start of threshold(s)</td>
<td>Literal</td>
<td>[</td>
</tr>
<tr>
<td>4</td>
<td>Tolerating threshold, T</td>
<td>Number</td>
<td>Decimal</td>
</tr>
<tr>
<td>5</td>
<td>Comma</td>
<td>Literal</td>
<td>,</td>
</tr>
<tr>
<td>6</td>
<td>Frustrated threshold, F</td>
<td>Number</td>
<td>Decimal</td>
</tr>
<tr>
<td>7</td>
<td>Right bracket designating end of threshold(s)</td>
<td>Literal</td>
<td>]</td>
</tr>
<tr>
<td>8</td>
<td>Small Group Indicator</td>
<td>Literal</td>
<td>* or NS</td>
</tr>
<caption>Table 2. Bracketed Output Format</caption>
</table>
<p>Examples of bracketed output format are: 0.85 [5.5], 1.00 [8.0]*, 0.90 [4.0], and 0.77 [450].</p>
<p><strong>[R 5.2.2] Subscripted Output Format (Optional)</strong></p>
<p><span class="new">When the value of F is set using a default rule (see [R 2.5.1]),</span> tools may display Apdex values in which the value of T is shown as a mathematical subscript.  For example, an Apdex value of 0.75 that is based upon a T value of 4 seconds is shown as 0.75<sub>4</sub>.</p>
<p>When T has a decimal component, as defined in section [G 3.4], then the exact value of T must be shown (example: 0.75<sub>4.5</sub>). To increase readability, tools may drop the decimal portion of T if it is zero (example: 0.75<sub>4.0</sub> becomes 0.75<sub>4</sub>).<br />
<!--close Apdex--></div>
<div class="Apdex-G leftHalf part5" style="font-size: 85%;">
<strong>[G 5.2] Uniform Output File (Mandatory)</strong></p>
<p>Separate tools may be used to calculate Apdex index values from measurement data and to report Apdex index values. To support the exchange of index values between Apdex analysis and reporting tools, all Apdex analysis tools must support the Apdex Uniform Output format. A tool shall display, print, and export Apdex-G values to an ASCII file having a comma-separated values (CSV) format. For this purpose, Apdex-G incorporates the IETF specification of CSV published in RFC 4180 (see section [G 6] References). </p>
<p>A Uniform Output File is composed of a uniform output header record, followed by one or more uniform output data records. The header record contains the same number of comma-separated fields as all data records in the file. Fields in the header record contain fixed literal values, or names that correspond to each field in the data records. The content of a uniform output header and data records are described in Tables 2 and 3 below. In Table 2, each element except the last is followed by a comma. </p>
<table class="text" id="table5">
<tr>
<th class="width10" rowspan="2">Element Number</th>
<th class="width25" rowspan="2">Definition</th>
<th class="width25" colspan="2">Header Record</th>
<th class="width40" colspan="2">Data Record</th>
</tr>
<tr>
<th class="width5">Type</th>
<th class="width20">Content</th>
<th class="width5">Type</th>
<th class="width35">Content</th>
</tr>
<tr>
<td>1</td>
<td>Apdex data record identifier</td>
<td>Literal</td>
<td>Apdex Header</td>
<td>Literal</td>
<td>Apdex</td>
</tr>
<tr>
<th colspan="2"><strong>Report Group Metadata Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>2</td>
<td><strong>A</strong>pdex <strong>R</strong>eport <strong>G</strong>roup section identifier</td>
<td>Literal</td>
<td>ARG</td>
<td>Literal</td>
<td>ARG</td>
</tr>
<tr>
<td>3</td>
<td>Report Group Name</td>
<td>Literal</td>
<td>Report Group</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>4</td>
<td>Report Group Description</td>
<td>Literal</td>
<td>Description</td>
<td>Text String</td>
<td>Defined by tool or user. <em>See note 1 below</em></td>
</tr>
<tr>
<td>5</td>
<td>Measurement Type</td>
<td>Literal</td>
<td>Type</td>
<td>Name</td>
<td>G, or addendum type (e.g. R for Apdex-R)</td>
</tr>
<tr>
<td>6</td>
<td>Measurement Subtype</td>
<td>Literal</td>
<td>Subtype</td>
<td>Name</td>
<td>Values specified in an addendum for this measurement type</td>
</tr>
<tr>
<td>7</td>
<td>Application</td>
<td>Literal</td>
<td>Application</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>8</td>
<td>User Group</td>
<td>Literal</td>
<td>User Group</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>9</td>
<td>Time Period Start</td>
<td>Literal</td>
<td>Start Time</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<td>10</td>
<td>Time Period End</td>
<td>Literal</td>
<td>End Time</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<th colspan="2"><strong>Input Data Summary Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>11</td>
<td><strong>A</strong>pdex <strong>D</strong>ata <strong>S</strong>ummary section identifier</td>
<td>Literal</td>
<td>ADS</td>
<td>Literal</td>
<td>ADS</td>
</tr>
<tr>
<td>12</td>
<td>Sample Count</td>
<td>Literal</td>
<td>Total Samples</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>13</td>
<td>Satisfied Zone Count</td>
<td>Literal</td>
<td>Satisfied Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>14</td>
<td>Tolerating Zone Count</td>
<td>Literal</td>
<td>Tolerating Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>15</td>
<td>Frustrated Zone Count</td>
<td>Literal</td>
<td>Frustrated Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>16</td>
<td>Earliest Sample Timestamp</td>
<td>Literal</td>
<td>First Sample</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<td>17</td>
<td>Latest Sample Timestamp</td>
<td>Literal</td>
<td>Last Sample</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<th colspan="2"><strong>Apdex Index Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>18</td>
<td><strong>A</strong>pdex <strong>I</strong>nde<strong>X</strong> section identifier</td>
<td>Literal</td>
<td>AIX</td>
<td>Literal</td>
<td>AIX</td>
</tr>
<tr>
<td>19</td>
<td>Apdex index value</td>
<td>Literal</td>
<td>Apdex Index</td>
<td>Number</td>
<td>Decimal in range [0.00, 1.00]</td>
</tr>
<tr>
<td>20</td>
<td>Satisfied Zone Identifier</td>
<td>Literal</td>
<td>S</td>
<td>Literal</td>
<td>S</td>
</tr>
<tr>
<td>21</td>
<td>Satisfied Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>22</td>
<td>Tolerating Zone Identifier</td>
<td>Literal</td>
<td>T</td>
<td>Literal</td>
<td>T</td>
</tr>
<tr>
<td>23</td>
<td>Tolerating Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>24</td>
<td>Frustrated Zone Identifier</td>
<td>Literal</td>
<td>F</td>
<td>Literal</td>
<td>F</td>
</tr>
<tr>
<td>25</td>
<td>Frustrated Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>26</td>
<td><strong>S</strong>mall <strong>G</strong>roup <strong>I</strong>ndicator</td>
<td>Literal</td>
<td>SGI</td>
<td>Literal</td>
<td>* or NS</td>
</tr>
<caption>Table 2. Layout of a Uniform Output Data Record</caption>
</table>
<p><strong>Note 1</strong>: To avoid ambiguity, tool creators must ensure that Report Group description fields do not contain commas, because commas separate fields in the Uniform Output format.</p>
<p><strong>Performance Interval Names</strong> </p>
<p>If a tool has obtained user-specified names for performance intervals, those names should be included in the corresponding fields of the header record (elements 21, 23, and 25 in Table 2). If user-specified names are not available, distinct default names must be supplied for each performance interval field in the header record. See also section [G 2.5.1] Thresholds and Performance Intervals. </p>
<p><strong>Performance Interval Groups</strong></p>
<p>In Table 2, each Interval Group (elements 21, 23, and 25)  is composed of one or more Performance Interval elements, separated by commas. Table 3 shows the structure of <strong>a single</strong> Performance Interval element, therefore the components shown in Table 3 are <strong>not</strong> separated by commas.</p>
<table class="text" id="table3">
<tr>
<th class="width10" rowspan="2">Component</th>
<th class="width25" rowspan="2">Definition</th>
<th class="width25" colspan="2">Header Record</th>
<th class="width40" colspan="2">Data Record</th>
</tr>
<tr>
<th class="width5">Type</th>
<th class="width20">Content</th>
<th class="width5">Type</th>
<th class="width35">Content</th>
</tr>
<tr>
<td>1</td>
<td>Opening backet</td>
<td rowspan="5">Name</td>
<td rowspan="5">Performance Interval Name</td>
<td>Literal</td>
<td>( or [</td>
</tr>
<tr>
<td>2</td>
<td>Lower threshold</td>
<td>Number</td>
<td>Decimal number -- see [G 3.4]</td>
</tr>
<tr>
<td>3</td>
<td>Colon</td>
<td>Literal</td>
<td>: <em>See note 2 below</em></td>
</tr>
<tr>
<td>4</td>
<td>Upper threshold</td>
<td>Number</td>
<td>Decimal number &#8212; see [G 3.4]</td>
</tr>
<tr>
<td>5</td>
<td>Closing backet</td>
<td>Literal</td>
<td>) or ]</td>
</tr>
<caption>Table 3. Components of a Performance Interval within a Uniform Output Data Record</caption>
</table>
<p><strong>Note 2</strong>: Interval Notation, described in References [G 6.8], uses a comma to separate the upper and lower bounds of an interval. To avoid ambiguity Apdex substitutes a colon, because commas separate fields in the Uniform Output format.</p>
<p><strong>Optional Sections</strong></p>
<p>The Uniform Output File format comprises three sections, each having its own identifier (fields 2, 11, and 18). The Report Group Metadata Section and the Apdex Index Section are required, because they contain the necessary data for reporting Apdex scores. The Input Data Summary Section is optional, but tool creators are encouraged to produce this data at the analysis stage, and to pass it to Reporting tools. Reporting tools can use this data to provide additional context for Apdex scores. If the Input Data Summary Section is omitted, fields 11 through 17 must be omitted from the header and data records. </p>
<p><strong>Examples of the uniform output</strong></p>
<p>Examples of the uniform output are:</p>
<p>       Apdex Header,ARG,,,,,,,,,AIX,Apdex Index,S,Green,T,Yellow,F,Red,SGI  CRLF  <em>user labels</em><br />
       Apdex,ARG,,,,,,,,,AIX,0.72,S,[0:4],T,(4:16],F,(16:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.85,S,[0:6],T,(6:20],F,(20:INF),*  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.58,S,[0:3],T,(3:10],F,(10:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.91,S,[0:10],T,(10:30],F,(30:INF)  CRLF</p>
<p>       Apdex Header,ARG,,,,,,,,,AIX,Apdex Index,S,PI3,T,PI2,PI4,F,PI1,PI5,SGI  CRLF  <em>generic labels</em><br />
       Apdex,ARG,,,,,,,,,AIX,0.88,S,(10:12],T,(6:10],(12:16],F,[0:6],(16:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.96,S,(9:15],T,(6:9],(15:18],F,[0:6],(18:INF)  CRLF</p>
<p>[ <em>More details and examples will be added here</em> ]</p>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.3] Indicating Sample Size</strong></p>
<p><span class="new">See [G 5.3] for rules about reporting the sample size of an Apdex report group.</span></p>
<p><del>Apdex values are calculated based upon a set of measurements (samples) in the report group. If there are a small number of samples, the tool must still present a result. However, a result for such a small report group must be clearly marked.</del></p>
<p><del>A small report group is defined as any number of samples between 0 and 99. Apdex tools will clearly indicate that the result is based upon one of the following scenarios:</del></p>
<dl>
<dt><del>No Samples</del></dt>
<dd><del>The Apdex calculation could not be performed because there were no samples (NS) within the report group. Where the calculated Apdex value would normally appear, the tool will show an output of NS. Examples: NS [4.0], NS<sub>4</sub></del></dd>
<dt><del>Small Group</del></dt>
<dd><del>When an Apdex value is the output of a small group (1 to 99) calculation, an asterisk (*) must be appended to that value. Examples: 0.80 [4.0]*, 0.80<sub>4</sub>*.</del></dd>
</dl>
<p><!--close Apdex--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5.3] Indicating Sample Size</strong></p>
<p>Apdex values are calculated based upon a set of measurements (samples) in the report group.  If there are a small number of samples, the tool must still present a result.  However, a result for such a small report group must be clearly marked.</p>
<p>A small report group is defined as one having fewer than 100 samples. An addendum may modify this definition to be appropriate for a particular measurement domain. Apdex tools will clearly indicate that the result is based upon one of the following scenarios:</p>
<dl class="glossary">
<dt>No Samples</dt>
<dd>The Apdex calculation could not be performed because there were no samples (NS) within the report group.  Where the calculated Apdex value would normally appear, the tool will show an output of NS [T], where [T] is the normal threshold display (see section [G 5.1.1]).</dd>
<dt>Small Group</dt>
<dd>When an Apdex value is the output of a small group calculation, an asterisk (*) must be appended to that value, for example: 0.84* [T], where [T] is the normal threshold display (see section [G 5.1.1]). </dd>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightHalf">
<strong>[R 5.4] Apdex Quality Ratings</strong></p>
<p><span class="new">See [G 5.4] for rules about assigning and reporting Apdex quality ratings.</span></p>
<p><span class="new">In Apdex-R, when the value of F is set using a default rule (see [R 2.5.1]), the target threshold T may be shown as a subscript, as illustrated in Table 3. The table shows examples where T is 4 seconds.</span></p>
<p><del>Some tool creators may wish to add graphical aids to report the Apdex value. This is an optional feature, but, if implemented, it must follow these guidelines.</del> </p>
<p><del>Two forms of alternative representations are permitted: the rating (a word), and a color indication. The following table shows the fixed set of alternative modes of representing the Apdex. </del> </p>
<p><del>The color indication can be determined by the creator in line with their existing product set, however a legend must clearly indicate which color represents each Apdex rating.</del></p>
<p><strong>Table 3 – Apdex Qualitative Reporting Rules</strong><br />
(Examples where T=4)</p>
<table class="text" id="table6A">
<tr>
<th class="width30"><strong>Apdex Value Range</strong></th>
<th class="width25"><strong>Rating</strong></th>
<th class="width45"><strong>Color Indication</strong></th>
</tr>
<tr>
<td>0.94<sub>4</sub> to 1.00<sub>4</sub></td>
<td>Excellent<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.85<sub>4</sub> to 0.93<sub>4</sub></td>
<td>Good<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.70<sub>4</sub> to 0.84<sub>4</sub></td>
<td>Fair<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.50<sub>4</sub> to 0.69<sub>4</sub></td>
<td>Poor<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.00<sub>4</sub> to 0.49<sub>4</sub></td>
<td>Unacceptable<sub>4</sub> or UNAX<sub>4</sub></td>
<td>Determined by creator (with a 4 plus a color indication)</td>
</tr>
<tr>
<td colspan="3"><strong>Low Sample Cases</strong></td>
</tr>
<tr>
<td>NS<sub>4</sub></td>
<td>NoSample<sub>4</sub></td>
<td>Determined by creator (with a 4 plus an NS inside color indication)</td>
</tr>
<tr>
<td>0.85<sub>4</sub>*</td>
<td>Good<sub>4</sub>*</td>
<td>Determined by creator (with a 4 plus an * inside color indication)</td>
</tr>
<caption>Table 3. Apdex Qualitative Reporting Rules</caption>
</table>
<p><span class="tbd">Note: In the current specification, the &#8216;Apdex Value Range&#8217; column of Table 3 contains a typo in the &#8216;NoSample&#8217; row, which reads &#8217;0.NS<sub>4</sub>&#8216;. That cell should read &#8216;NS<sub>4</sub>&#8216; (as shown above).</span><br />
<!--close Apdex--></div>
<div class="Apdex-G leftHalf part5">
<strong>[G 5.4] Apdex Quality Ratings</strong></p>
<p>Some tool creators may wish to assign quality ratings to Apdex value ranges, and to present those ratings graphically. This is an optional feature, but, if implemented, it must follow these guidelines. </p>
<p>Two alternative representations are permitted for quality ratings: a rating word or a color indication. Table 6 below lists the value ranges to be used when assigning a rating to an Apdex value. The table shows examples for the target threshold [T], where [T] is the normal threshold display as described in section [G 5.1.1]. </p>
<p>Colors may be selected by the creator for consistency with other products, or based on user-supplied preferences. However a legend must clearly indicate which color represents each Apdex rating. </p>
<table class="text" id="table6B">
<tr>
<th class="width30"><strong>Apdex Value Range</strong></th>
<th class="width25"><strong>Rating Word</strong></th>
<th class="width45"><strong>Color Indication</strong></th>
</tr>
<tr>
<td>0.94 to 1.00 [T]</td>
<td>Excellent [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.85 to 0.93 [T]</td>
<td>Good [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.70 to 0.84 [T]</td>
<td>Fair [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.50 to 0.69 [T]</td>
<td>Poor [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.00 to 0.49 [T]</td>
<td>Unacceptable [T] or UNAX [T]</td>
<td>Determined by creator (with [T] plus a color indication)</td>
</tr>
<tr>
<td colspan="3"><strong>Low Sample Cases</strong></td>
</tr>
<tr>
<td>NS [T]</td>
<td>NoSample [T]</td>
<td>Determined by creator (with [T] plus an NS inside color indication)</td>
</tr>
<tr>
<td>0.85* [T]</td>
<td>Good* [T]</td>
<td>Determined by creator (with [T] plus an * inside color indication)</td>
</tr>
<caption>Table 6. Rules for Apdex Quality Ratings</caption>
</table>
<p><strong>Note:</strong> An addendum may specify alternative colors [<em>TBD: and/or value ranges?</em>] to be applied when reporting Apdex scores for a particular measurement domain.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!--THE END--></p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/09/apdex-r-section-5-reporting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apdex-R Section [4] Calculating the Index</title>
		<link>http://apdex.org/index.php/2010/09/apdex-r-section-4-calculating-the-index/</link>
		<comments>http://apdex.org/index.php/2010/09/apdex-r-section-4-calculating-the-index/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 06:15:48 +0000</pubDate>
		<dc:creator>Chris Loosley</dc:creator>
				<category><![CDATA[Apdex Specification]]></category>
		<category><![CDATA[How Apdex Works]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2402</guid>
		<description><![CDATA[ p { clear: left; } .clear { clear: both; } .box { border: 1px solid #DDDDDD; padding: 5px; } .clearBox { margin: 0 40px; } .textBox { margin: 0 40px; border: 1px solid #DDDDDD; background-color: #E8E8E8; padding: 10px; } .specBox { min-width: 500px; z-index: 1000; position: relative; overflow: visible; } .Apdex { border: [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
p { clear: left; }
.clear { clear: both; }
.box {
     border: 1px solid #DDDDDD;
     padding: 5px;
     }
.clearBox {
     margin: 0 40px;
     }
.textBox {
     margin: 0 40px;
     border: 1px solid #DDDDDD;
     background-color: #E8E8E8; 
     padding: 10px;
     }
.specBox { 
     min-width: 500px; 
     z-index: 1000;
     position: relative;
     overflow: visible;
     }
.Apdex { 
     border: 1px solid #DDDDDD; 
     padding: 5px;
     background-color: #F0F0D0;
     }
.Apdex-G { 
     border: 1px solid #6D83B2; 
     padding: 5px;
     }
.leftCol { float: left; width: 32%; display: block; font-size: 85%;}
.rightCol { float: right; width: 62%; display: block; }
.leftHalf { float: left; width: 47%; }
.rightHalf { float: right; width: 47%; }
.part1 { background-color: #FFFFF0; }
.part2 { background-color: #FFF8F0; }
.part3 { background-color: #F8F8F0; }
.part4 { background-color: #F8F0F0; }
.part5 { background-color: #F0F0F0; }
.part6 { background-color: #E8F0F0; }
.part7 { background-color: #E8E8F0; }
.red { background-color: #FE0000 !important; }
.yellow { background-color: #FDFE00 !important; }
.green { background-color: #339933 !important; }
.dark { color: #888888; }
.new { border-bottom: 2px solid #66FF66 !important; }
.new.G { border-bottom: 2px solid #6666FF !important; }
.tbd {  font-style: italic; border-bottom: 2px solid #FDFE00 !important;}
del { font-size: 85%;}
.quote {
     border-left: 7px solid #CCCCCC; 
     padding: 10px 100px 20px 25px;
     }
.quoteSource {
     float: right;
     padding-right: 25px;
     font-style: italic;
     }
cite { 
     font-style: normal; 
     font-size: smaller; 
     font-variant: small-caps; 
     }
cite:before { content: "["; }
cite:after { content: "]"; }
dl.bibliography dt { 
     font-style: normal; 
     font-size: small; 
     font-variant: small-caps;
     float: left; 
     clear: left; 
     width: 6em;
     margin: 0 5px 5px 0; 
     border: 1px solid #CCCCCC; 
     padding: 2px;
     }
dl.bibliography dd { 
     margin-left: 6.5em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
dl.glossary dt { 
     float: left; 
     clear: left; 
     border: 1px solid #DDDDDD;
     width: 10em;
     margin: 0 5px 5px 0; 
     padding: 2px;
     }
.rightCol  dl.glossary dt,
.leftCol dl.glossary dt { 
     width: 7em;
     }
dl.glossary dd { 
     margin-left: 11em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
.rightCol  dl.glossary dd,
.leftCol dl.glossary dd { 
     margin-left: 8em; 
     }
table.text {
     margin: 10px 40px; 
     border:1px solid #DDDDDD;
     }
.text caption {
     caption-side: bottom;
     }
.text td {
     vertical-align: top;
     }
.text caption { 
     text-align: left; 
     font-style: italic; 
     margin-bottom: 10px; 
     }
.width05 { width: 5%; }
.width08 { width: 8%; }
.width10 { width: 10%; }
.width12 { width: 12%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width24 { width: 24%; }
.width30 { width: 30%; }
.width36 { width: 36%; }
.width40 { width: 40%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }</p>
</style>
<p><em>I’m writing a series of posts about Generalizing Apdex. This is #23. To minimize confusion, section numbers in the current spec are accompanied by the section symbol, like this: &sect;1. The corresponding section numbers in the generalized spec documents, Apdex-G and Apdex-R, are enclosed in square brackets and prefixed by the document type, like this: [G&nbsp;1] and [R&nbsp;1].</em></p>
<p>Drafts of the Apdex-G spec were posted as <a href="http://apdex.org/?p=1987">Section [1] Introduction</a>, <a href="http://apdex.org/?p=2020">Section [2] Index Overview</a>, <a href="http://apdex.org/?p=2054">Section [3] Calculation Inputs</a>, <a href="http://apdex.org/?p=2059">Section [4] Calculating the Index</a>, <a href="http://apdex.org/?p=2085">Section [5] Reporting</a>, and <a href="http://apdex.org/?p=2194">Section [6] References</a>. </p>
<p>The first draft of Apdex-R began with <a href="http://apdex.org/?p=2326">Sections 1 and 2</a>, then <a href="http://apdex.org/?p=2341">Section 3</a>. This post covers <a href="http://apdex.org/?p=2402">Section 4</a>. </p>
<p><span id="more-2402"></span></p>
<p>Apdex-R specifies the Apdex rules for reporting response-time measurements, therefore my first draft draws heavily on the present <a href="http://apdex.org/specs.html">Apdex spec</a>. My goal is to reformat the present spec&#8217;s rules within the context established by Apdex-G. To allow both documents to be viewed together, I show Apdex-G (draft #2, plus a few subsequent amendments) on the left, and Apdex-R (draft #1) on the right. </p>
<p>Differences between Apdex-R and the corresponding sections of the present spec are highlighted, as follows:</p>
<ul>
<li><del>text deleted from the present spec</del> This text is covered in Apdex-G, or elsewhere in Apdex-R, or extraneous.</li>
<li><span class="new">new text added to Apdex-R (plus a few additions to Apdex-G draft #2)</span></li>
<li><span class="new G">new text created for Apdex-G, now being repeated in Apdex-R for readability</span></li>
<li><span class="tbd">notes, questions, issues to be resolved</span></li>
</ul>
<p>While major deletions, additions, and changes to the present spec <em>are marked</em>, many minor wording changes to the present spec&#8217;s text, to improve continuity and clarity of meaning, <em>are not marked</em>. I believe those changes do not substantially alter the meaning and intent of the present spec.</p>
<div class="clear"></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol" style="font-size: 85%;">
<h3>Apdex-R, first draft:</h3>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part4" style="font-size: 85%;">
<h3>Apdex-G, second draft:</h3>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 4] Calculating the Index</strong></p>
<p><span class="new">See [G 4] for a general introduction to the Apdex index calculation.</span></p>
<p><del>The Apdex does not entail new measurements – rather it is a new way to represent existing measurements, calculated by counting the measurement samples in each of the performance zones.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part4">
<strong>[G 4] Calculating the Index</strong></p>
<p>The Apdex does not entail new measurements, rather it is a new way to represent an existing set of measurements, reflecting the degree to which those measurements achieve designated targets. </p>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 4.1] The Apdex Formula</strong></p>
<p><span class="new">See [G 4.1] for the Apdex formula, and corresponding input requirements:</span></p>
<ul>
<img src="http://apdex.org/Wordpress/wp-content/uploads/2010/08/Apdex-Formula.jpg" alt="Apdex Formula" title="Apdex Formula" width="380" height="75" class="aligncenter size-full wp-image-1788" />
</ul>
<p><span class="new">The following sections address Apdex-R input requirements:</span></p>
<ul>
<span class="new"><strong>Measurement data:</strong>  [R 3.1]</span></p>
<p><span class="new"><strong>Report group</strong>: [R 3.2] and [R 3.3]</span></p>
<p><span class="new"><strong>Performance zones</strong>: [R 2.5], [R 2.5.1], [R 2.5.2], and [R 3.4]</span>
</ul>
<p><del>Given,</del></p>
<ul>
<del>A report group that defines a set of measurement samples, and a target threshold T (seconds) between the satisfied-tolerating zones of performance</del>
</ul>
<p><del>Where,</del></p>
<ul>
<del>F defines the threshold between the tolerating-frustrated zones of performance,<br />
and<br />
F = 4T</del>
</ul>
<p><del>Such that,</del></p>
<ul>
<del>There are counts of response time measurement samples within the above defined performance zones of:<br />
Satisfied_Count = number of satisfied response time samples,<br />
Tolerating_Count = number of tolerating response time samples,<br />
Total_Samples = number of all samples in the report group</del>
</ul>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part4">
<strong>[G 4.1] The Standard Apdex Formula</strong></p>
<p>The Apdex index is calculated as follows. Given:</p>
<ul>
<strong>Measurement data</strong> that meets the requirements of section [G 3.1]</p>
<p><strong>A report group</strong> comprising measurement samples, defined as specified in sections [G 3.2] and [G 3.3]</p>
<p><strong>Three performance zones</strong> (Satisfied, Tolerating, Frustrated), defined as specified in sections [G 2.5], [G 2.5.1], [G 2.5.2], and [G 3.4]</p>
<p><strong>An allocation process</strong> that assigns each sample to a performance zone, and counts all samples, so that:</p>
<p><strong>Total_Samples</strong> is the number of all samples in the report group</p>
<p><strong>Satisfied_Count</strong> is the number of report group samples in the Satisfied Zone</p>
<p><strong>Tolerating_Count</strong> is the number of report group samples in the Tolerating Zone
</ul>
<p>Then the Apdex index for the report group is:</p>
<ul>
<img src="http://apdex.org/Wordpress/wp-content/uploads/2010/08/Apdex-Formula.jpg" alt="Apdex Formula" title="Apdex Formula" width="380" height="75" class="aligncenter size-full wp-image-1788" />
</ul>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 4.1.1] The Standard Formula in Action</strong></p>
<p><span class="new">See [G 4.1.1] for a general overview of the Apdex formula in action.</span></p>
<p><del>Note that measurements in the frustrated zone are counted in the number of total user samples in the denominator.  To achieve the optimal Apdex value of 1.00, all users must experience satisfactory performance.  If some users see tolerating or frustrating performance, then the index rapidly dips below 1.00.  For example, if 80% of users are satisfied and 10% are tolerating, while the remaining 10% are frustrated, the index is 0.85.</del></p>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part4">
<strong>[G 4.1.1] The Standard Formula in Action</strong></p>
<p>Note that measurements in the Frustrated zone are counted in Total_Samples, the denominator of the formula, but do not contribute to the numerator.  </p>
<p>Another way to describe the Apdex index is as the weighted proportion of satisfactory samples in the report group. Samples in the Satisfied Zone have weights of 1, those in the Tolerating Zone have weights of &frac12;, and those in the Frustrated Zone have weights of 0. </p>
<div class="box">
[ <em>TBD:</em> ] Therefore to achieve the optimal Apdex value of 1.00, all samples must represent the Satisfaction Level of &#8216;Satisfied&#8217;.  If any samples reflect Tolerating or Frustrated performance, the index drops below 1.00.  For example, if 80% of samples are Satisfied and 10% are Tolerating, while the remaining 10% are Frustrated, the index is 0.85.
</div>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 4.1.2] Alternative Scoring in the Tolerating Zone</strong></p>
<p><span class="new">See [G 4.1.2] for the rules for optional alternative scoring. Apdex-R permits tool creators to substitute an alternative scoring function in the tolerating zone, provided that sample values (or value ranges) closest to the satisfied zone receive the greatest weight.</span><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part4">
<strong>[G 4.1.2] Alternative Scoring in the Tolerating Zone</strong></p>
<p>If the characteristics of a particular measurement and reporting domain justify using graduated weights within the Tolerating zone, an Addendum may substitute an alternative scoring function for the factor <em>Tolerating_Count/2</em> in the standard formula. Any alternative scoring function (such as a sliding scale) must have the property that sample values (or value ranges) closest to the satisfied zone receive the greatest weight, in accordance with the index objectives (see [G 2.1] item 6).<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 4.2] Dealing with Exceptions</strong></p>
<p><span class="new">See [G 4.2] for general rules for dealing with exceptions. The following additional notes may apply to measurements of Task (and Task Chain) times.</span></p>
<p><span class="new"><strong>User aborts:</strong></span> <del>User aborts are factored into the above equation.</del>  A user abort occurs when a user enters a new inquiry before the system responds with the original inquiry.  A user-generated abort stops the timing of the Task.  Therefore, user aborts can fall into any of the satisfied, tolerating, frustrated zones.  </p>
<p><span class="new"><strong>Server failure:</strong></span> If a tool can detect a clear server-generated abort, then it is handled differently.  Server aborts (e.g., TCP closes within a Task) are counted as a frustrated sample regardless of the Task time measurement.</p>
<p><span class="new"><strong>Application failure:</strong></span> Some tools may have the optional capability to interpret the application to a greater level of detail than the minimal Task boundary.  For example, they may be able to detect user relevant information at the layer of the application logic. If the tool can detect Task errors, then these application errors (e.g. Web page 404 replies) are counted as frustrated samples.</p>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part4">
<strong>[G 4.2] Dealing with Exceptions</strong> </p>
<p>When a Report Group contains samples marked as errors or exceptions, tools performing the Apdex calculation should classify those measurements as follows:</p>
<p><strong>User Error:</strong> Exceptions caused by user actions may be classified as Satisfied, Tolerating, or Frustrated in the same way as any other measurement, if the necessary field(s) are present in the sample. If the field(s) required to perform classification are absent, user-generated exceptions should be classified as Satisfied.</p>
<p><strong>Warning:</strong> Exceptions indicating abnormal system or process behavior may be classified as Tolerating if the system or process returned immediately to normal operation without requiring abnormal intervention.</p>
<p><strong>Failure:</strong> Exceptions indicating a system or process failure that is experienced by the user should be classified as Frustrated.</p>
<p><strong>Measurement Error:</strong> Exceptions indicating measurement errors should be discarded from the Report Group.</p>
<p><strong>Unknown:</strong> Exceptions not amenable to classification should be discarded from the Report Group. However, tool creators must attempt to minimize the number of error types assigned to this category.</p>
<p>Because all exceptions are specific to a particular measurement domain, an addendum may specify domain-specific refinements to these general guidelines.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!--THE END--></p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/09/apdex-r-section-4-calculating-the-index/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apdex-R Section [3] Calculation Inputs</title>
		<link>http://apdex.org/index.php/2010/09/apdex-r-section-3-calculation-inputs/</link>
		<comments>http://apdex.org/index.php/2010/09/apdex-r-section-3-calculation-inputs/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 08:14:55 +0000</pubDate>
		<dc:creator>Chris Loosley</dc:creator>
				<category><![CDATA[Apdex Specification]]></category>
		<category><![CDATA[How Apdex Works]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2341</guid>
		<description><![CDATA[ p { clear: left; } .clear { clear: both; } .box { border: 1px solid #DDDDDD; padding: 5px; } .clearBox { margin: 0 40px; } .textBox { margin: 0 40px; border: 1px solid #DDDDDD; background-color: #E8E8E8; padding: 10px; } .specBox { min-width: 500px; z-index: 1000; position: relative; overflow: visible; } .Apdex { border: [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
p { clear: left; }
.clear { clear: both; }
.box {
     border: 1px solid #DDDDDD;
     padding: 5px;
     }
.clearBox {
     margin: 0 40px;
     }
.textBox {
     margin: 0 40px;
     border: 1px solid #DDDDDD;
     background-color: #E8E8E8; 
     padding: 10px;
     }
.specBox { 
     min-width: 500px; 
     z-index: 1000;
     position: relative;
     overflow: visible;
     }
.Apdex { 
     border: 1px solid #DDDDDD; 
     padding: 5px;
     background-color: #F0F0D0;
     }
.Apdex-G { 
     border: 1px solid #6D83B2; 
     padding: 5px;
     }
.leftCol { float: left; width: 32%; display: block; font-size: 85%;}
.rightCol { float: right; width: 62%; display: block; }
.leftHalf { float: left; width: 47%; }
.rightHalf { float: right; width: 47%; }
.part1 { background-color: #FFFFF0; }
.part2 { background-color: #FFF8F0; }
.part3 { background-color: #F8F8F0; }
.part4 { background-color: #F8F0F0; }
.part5 { background-color: #F0F0F0; }
.part6 { background-color: #E8F0F0; }
.part7 { background-color: #E8E8F0; }
.red { background-color: #FE0000 !important; }
.yellow { background-color: #FDFE00 !important; }
.green { background-color: #339933 !important; }
.dark { color: #888888; }
.new { border-bottom: 2px solid #66FF66 !important; }
.new.G { border-bottom: 2px solid #6666FF !important; }
.tbd {  font-style: italic; border-bottom: 2px solid #FDFE00 !important;}
del { font-size: 85%;}
.quote {
     border-left: 7px solid #CCCCCC; 
     padding: 10px 100px 20px 25px;
     }
.quoteSource {
     float: right;
     padding-right: 25px;
     font-style: italic;
     }
cite { 
     font-style: normal; 
     font-size: smaller; 
     font-variant: small-caps; 
     }
cite:before { content: "["; }
cite:after { content: "]"; }
dl.bibliography dt { 
     font-style: normal; 
     font-size: small; 
     font-variant: small-caps;
     float: left; 
     clear: left; 
     width: 6em;
     margin: 0 5px 5px 0; 
     border: 1px solid #CCCCCC; 
     padding: 2px;
     }
dl.bibliography dd { 
     margin-left: 6.5em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
dl.glossary dt { 
     float: left; 
     clear: left; 
     border: 1px solid #DDDDDD;
     width: 10em;
     margin: 0 5px 5px 0; 
     padding: 2px;
     }
.rightCol  dl.glossary dt,
.leftCol dl.glossary dt { 
     width: 7em;
     }
dl.glossary dd { 
     margin-left: 11em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
.rightCol  dl.glossary dd,
.leftCol dl.glossary dd { 
     margin-left: 8em; 
     }
table.text {
     margin: 10px 40px; 
     border:1px solid #DDDDDD;
     }
.text caption {
     caption-side: bottom;
     }
.text td {
     vertical-align: top;
     }
.text caption { 
     text-align: left; 
     font-style: italic; 
     margin-bottom: 10px; 
     }
.width05 { width: 5%; }
.width08 { width: 8%; }
.width10 { width: 10%; }
.width12 { width: 12%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width24 { width: 24%; }
.width30 { width: 30%; }
.width36 { width: 36%; }
.width40 { width: 40%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }</p>
</style>
<p><em>I’m writing a series of posts about Generalizing Apdex. This is #22. To minimize confusion, section numbers in the current spec are accompanied by the section symbol, like this: &sect;1. The corresponding section numbers in the generalized spec documents, Apdex-G and Apdex-R, are enclosed in square brackets and prefixed by the document type, like this: [G&nbsp;1] and [R&nbsp;1].</em></p>
<p>Drafts of the Apdex-G spec were posted as <a href="http://apdex.org/?p=1987">Section [1] Introduction</a>, <a href="http://apdex.org/?p=2020">Section [2] Index Overview</a>, <a href="http://apdex.org/?p=2054">Section [3] Calculation Inputs</a>, <a href="http://apdex.org/?p=2059">Section [4] Calculating the Index</a>, <a href="http://apdex.org/?p=2085">Section [5] Reporting</a>, and <a href="http://apdex.org/?p=2194">Section [6] References</a>. </p>
<p>The first draft of Apdex-R began with <a href="http://apdex.org/?p=2326">Sections 1 and 2</a>. This post covers <a href="http://apdex.org/?p=2341">Section 3</a>. </p>
<p><span id="more-2341"></span></p>
<p>Apdex-R specifies the Apdex rules for reporting response-time measurements, therefore my first draft draws heavily on the present <a href="http://apdex.org/specs.html">Apdex spec</a>. My goal is to reformat the present spec&#8217;s rules within the context established by Apdex-G. To allow both documents to be viewed together, I show Apdex-G (draft #2, plus a few subsequent amendments) on the left, and Apdex-R (draft #1) on the right. </p>
<p>Differences between Apdex-R and the corresponding sections of the present spec are highlighted, as follows:</p>
<ul>
<li><del>text deleted from the present spec</del> This text is covered in Apdex-G, or elsewhere in Apdex-R, or extraneous.</li>
<li><span class="new">new text added to Apdex-R (plus a few additions to Apdex-G draft #2)</span></li>
<li><span class="new G">new text created for Apdex-G, now being repeated in Apdex-R for readability</span></li>
<li><span class="tbd">notes, questions, issues to be resolved</span></li>
</ul>
<p>While major deletions, additions, and changes to the present spec <em>are marked</em>, many minor wording changes to the present spec&#8217;s text, to improve continuity and clarity of meaning, <em>are not marked</em>. I believe those changes do not substantially alter the meaning and intent of the present spec.</p>
<div class="clear"></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol" style="font-size: 85%;">
<h3>Apdex-R, first draft:</h3>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part3" style="font-size: 85%;">
<h3>Apdex-G, second draft:</h3>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 3]. Apdex Calculation Inputs</strong></p>
<p><span class="new">See [G 3] for a general introduction to Apdex calculation inputs.</span></p>
<p><del>A wide variety of tools and methods may be used to gather the necessary information for an Apdex calculation and report.  The following are the minimal requirements for such a tool.</del></p>
<p><del>Each tool creator may add features and capabilities above these minimal requirements.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part3">
<strong>[G 3] Apdex Calculation Inputs</strong></p>
<p>Apdex does not favor any tool or method; a wide variety of tools and methods may be used to gather the necessary information for an Apdex calculation and report. </p>
<p>This section specifies the minimal requirements governing input to any Apdex calculation. A tool creator may add features and capabilities above these minimal requirements. An addendum for a particular measurement type may also specify domain-specific rules governing the methods and tools used to obtain measurements of that type.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 3.1] Measurements: Tasks and Task Chains</strong></p>
<p><span class="new">See [G 3.1] for a general rules regarding measurements.</span></p>
<p><span class="new"><strong>[R 3.1.1] Task Measurements</strong></span></p>
<p>Tool creators must identify which applications their tool is capable of interpreting at the Task level.  For example, having the ability to mark the start and end of a Web page by interpreting the HTTP and HTML protocols is sufficient for Web-based applications.  The tool must clearly identify the application by protocol (e.g., HTTP/HTML), or by software maker and product name (e.g., Microsoft Exchange), that it is capable of properly interpreting Tasks and measuring their response times.</p>
<p>Implementation of the Task measurement will vary.  However, Task measurements must be a reasonable approximation of response time measurements that could be performed by the user with a stopwatch.</p>
<p><span class="new"><strong>[R 3.1.2] Task Chain Measurements</strong></span></p>
<p>Because Task Chain Time is defined to be the sum of a set of Task Times, and does not include any Think Time between Tasks, obtaining a Task Chain Time measurement will probably necessitate measuring and accumulating individual Task times. However, the implementation is left to the measurement tool developer, provided that the result is a reasonable approximation of a measurement of Task Chain Time a user could obtain by measuring and summing the component Task Times.</p>
<p><del>Implementations of Apdex-based reporting may vary, provided that individual measurements are assigned to a performance zone that is factored into an Apdex calculation and reported as further defined in this specification.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part3">
<strong>[G 3.1] Measurements</strong></p>
<p>Tool creators must identify the measurement types their tool is capable of analyzing. When a tool analyzes a measurement type that is covered by an addendum, the tool creator must apply the rules specified in that addendum, in addition to those specified in this document.</p>
<p>Implementations of Apdex-based reporting may vary, provided that individual measurements are assigned to a performance zone that is factored into an Apdex calculation and reported as further defined in this specification.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 3.2] Report Groups</strong></p>
<p><span class="new G">The report group is a named set of measurement samples that will be input to an Apdex calculation. Tools must provide a way for the technician to specify a report group.</span> <span class="new">See [G 3.2] for general rules regarding the specification of report groups. Tools implementing Apdex-R must <strong>also</strong> allow the technician to specify the following values for filters:</span></p>
<p><del>The report group is a specified set of individual measurement samples (of Task Time or Task Chain Time) that will form the foundation for an Apdex calculation.  A report group’s set of measurement samples may be unique or may have overlapping measurement samples with other report groups.  Report groups can be defined in many ways, but the following are required:</del></p>
<dl class="glossary">
<dt>Measurement Type (R)</dt>
<dd>If the tool analyzes measurements of more than one type, it must provide a filter that limits a report group to response time data only. The value &#8220;R&#8221; (signifying &#8220;response time data&#8221;) may be the default measurement type.</dd>
<div class="clear"></div>
<dt>Measurement Subtypes</dt>
<dd>Task and Task Chain must be distinguished; measurements of Task Time and Task Chain Time may not be combined in one report group.</dd>
<div class="clear"></div>
<dt><del>Application</del></dt>
<dd><del>An application as selected by the technician.  At a minimum, this is the application that the tool can interpret to the Task level (see above).</del></dt>
<dt><del>User Group</del></dt>
<dd><del>The technician must be able to define various user groups of an application (e.g., geography, organization).</del></dt>
<dt><del>Time Period</del></dt>
<dd><del>The technician must be able to define time of day periods for which the index will be calculated.</del></dt>
</dl>
<p><del>The report group is one of the fundamental controls available to a technician.  The report group may be defined as broadly as all of the samples for an application, or as narrowly as a single sample.  Single samples are useful for diagnostic purposes.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part3">
<strong>[G 3.2] Report Groups</strong></p>
<p>The report group is a named set of measurement samples that will be input to an Apdex calculation. Tools must provide a way for the technician to specify a report group.  </p>
<p> Report groups can be defined in many ways, but tools must allow the technician to specify values for the following filters: </p>
<dl class="glossary">
<dt>Measurement Type</dt>
<dd>Required if the tool analyzes measurements of more than one type. Measurements of different types may not be included in the same report group.</dd>
<dt>Measurement Subtype</dt>
<dd>Required if the measurement type is covered by an addendum that defines distinct subtypes, and the tool analyzes measurements of more than one subtype. Measurements of different subtypes may not be included in the same report group.</dd>
<dt>Application(s) or Process(es)</dt>
<dd>Required if the tool analyzes measurements of more than one application or process. Measurements of more than one application or process may be included in the same report group if they are subject to the same thresholds.</dd>
<dt>Usage Segment(s)</dt>
<dd>Required if the tool analyzes measurements of more than one usage segment. A usage segment is any identifiable subset of the measurements of an application or process, such as a demographic segment, a geographic segment, an organizational segment, etc. Measurements of different usage segments may be included in the same report group if they are subject to the same thresholds. </dd>
<dt>Time Period(s)</dt>
<dd>Required. The technician must be able to define the time period(s) for which the index will be calculated.</dd>
</dl>
<p>Filters can be applied alone and in combination with others, to select a report group from a larger database of measurement data. An addendum governing a particular measurement type may define additional filters to be provided for measurement of that type.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 3.3] Report Group Size</strong></p>
<p><span class="new">See [G 3.3] for rules regarding report group size.</span></p>
<p><del>There must be at least one sample in the report group in order to calculate an Apdex value.  Single sample Apdex results are permitted but discouraged.  The primary reason to have a small sample size is to cover low traffic periods or provide data for diagnostic reasons.  These are not considered good indicators of application performance.</del></p>
<p><del>The minimum sample size for normal reporting of the index is 100 samples within a report group. Special handling is required for smaller report groups; Section 5.2 specifies the method for reporting an Apdex result for a report group of fewer than 100 samples.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part3">
<strong>[G 3.3] Report Group Size</strong></p>
<p>A set of measurement samples comprising a  report group may be unique or may overlap with the measurement samples in other report groups.  A report group may be defined as broadly as all of the samples for an application, or as narrowly as a single sample.  </p>
<p>For normal reporting, the default minimum sample count for a report group is 100 samples; addenda may specify domain-specific minima. Any report group containing fewer than the specified minimum sample count is considered a <em>small group</em>.</p>
<p>Small groups may not be reliable as performance indicators, but may occur when reporting low traffic periods, or when reporting diagnostic measurements. Special handling is required for reporting small groups; this is specified in section [G 5.2]. </p>
<p> A report group must contain at least one sample for an Apdex value to be calculated.  Single samples report groups may be useful for diagnostic purposes. Single sample Apdex results are also permitted when reporting low traffic periods, but discouraged.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 3.4] Thresholds</strong></p>
<p><span class="new">See [G 3.4] for rules regarding threshold settings. For tools supporting Apdex-R, it is recommended that the default target threshold value, T, be set to 4 seconds.</span></p>
<p><del>The technician (operator of the tool) must be able to set the target threshold, T (satisfied-tolerating boundary) and no other Apdex threshold for each application.  This threshold is a positive decimal value in seconds, having no more than two significant digits of granularity.</del></p>
<p><del>This means that the following types of values are permitted:</del></p>
<dl class="glossary">
<dt><del>0&lt;T&lt;10</del></dt>
<dd><del>Greater than 0 seconds and below 10 seconds can be defined to a tenth of a second.<br />Examples: 0.5, 1.2, 5.8, 9.9</del></dd>
<dt><del>10&lt;T&lt;100</del></dt>
<dd><del>Equal to or greater than 10 seconds but below 100 seconds can be defined to one second.<br />Examples: 10, 19, 56, 85, 99</del></dd>
<dt><del>100&lt;T&lt;1,000</del></dt>
<dd><del>Equal to or greater than 100 seconds but below 1000 seconds can be defined to 10 seconds.<br />Examples: 100, 190, 560, 850, 990</del></dd>
<dt><del>T&gt;1,000</del></dt>
<dd><del>Values equal to or greater than 1,000 seconds follow the same two significant digits restriction.</del></dd>
</dl>
<p><del>The threshold must be consistent for all samples of a report group.</del></p>
<p><del>All tools will ship with a default setting of T that will be selected by the tool creator.  The default enables the tool to begin supplying information with minimal set-up by the technician. Technicians have the ability to change this default setting as defined above.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part3">
<strong>[G 3.4] Thresholds</strong></p>
<p>Tools must provide a way for the technician to specify the thresholds that define the boundaries of performance intervals to be used when calculating an Apdex index for a report group. A single set of thresholds is applied to all samples in a report group.</p>
<p>Thresholds are decimal values having no more than two significant digits of precision. This means that the following types of values are permitted, for any measurement unit, where a &#8216;unit&#8217; refers to the dimension of the measurement type, such as seconds, meters, kilograms:</p>
<dl class="glossary">
<dt>0&lt;<span class="new"><span class="new">|T|</span></span>&lt;10</dt>
<dd>Values greater than 0 units and below 10 units can be defined to a tenth of a unit.<br />Examples: 0.5, 1.2, 5.8, 9.9</dd>
<dt>10&lt;<span class="new">|T|</span>&lt;100</dt>
<dd>Values equal to or greater than 10 units but below 100 units can be defined to one unit.<br />Examples: 10, 19, 56, 85, 99</dd>
<dt>100&lt;<span class="new">|T|</span>&lt;1,000</dt>
<dd>Values equal to or greater than 100 units but below 1000 units can be defined to 10 units.<br />Examples: 100, 190, 560, 850, 990</dd>
<dt><span class="new">|T|</span>&gt;1,000</dt>
<dd>Values equal to or greater than 1,000 units follow the same two significant digits restriction.</dd>
</dl>
<p>A tool that supports a specific measurement type will ship with default threshold values selected by the tool creator, which technicians can change. These defaults enable the tool to begin supplying information with minimal set-up by the technician. An addendum may specify additional rules governing default threshold values, relationships among threshold values, and the required precision of threshold values, as appropriate for a specific measurement type. </p>
<p>A goal of Apdex is to operate so that different Apdex tools will report similar index values for user experiences having comparable levels of quality (see [G 2.1] item 8). However, tools use different measurement methods, and measure from different vantage points within a system. As a result, data purporting to measure the same quantity can have different values. If such differences are systematic, the technician can adjust the Apdex thresholds used with measurements from different tools so that the Apdex calculation produces comparable index values.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!--THE END--></p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/09/apdex-r-section-3-calculation-inputs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apdex-R Section [1] Introduction and [2] Overview</title>
		<link>http://apdex.org/index.php/2010/09/apdex-r-section-1-introduction-and-2-overview/</link>
		<comments>http://apdex.org/index.php/2010/09/apdex-r-section-1-introduction-and-2-overview/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 00:27:16 +0000</pubDate>
		<dc:creator>Chris Loosley</dc:creator>
				<category><![CDATA[Apdex Specification]]></category>
		<category><![CDATA[How Apdex Works]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2326</guid>
		<description><![CDATA[ p { clear: left; } .clear { clear: both; } .box { border: 1px solid #DDDDDD; padding: 5px; } .clearBox { margin: 0 40px; } .textBox { margin: 0 40px; border: 1px solid #DDDDDD; background-color: #E8E8E8; padding: 10px; } .specBox { min-width: 500px; z-index: 1000; position: relative; overflow: visible; } .Apdex { border: [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
p { clear: left; }
.clear { clear: both; }
.box {
     border: 1px solid #DDDDDD;
     padding: 5px;
     }
.clearBox {
     margin: 0 40px;
     }
.textBox {
     margin: 0 40px;
     border: 1px solid #DDDDDD;
     background-color: #E8E8E8; 
     padding: 10px;
     }
.specBox { 
     min-width: 500px; 
     z-index: 1000;
     position: relative;
     overflow: visible;
     }
.Apdex { 
     border: 1px solid #DDDDDD; 
     padding: 5px;
     background-color: #F0F0D0;
     }
.Apdex-G { 
     border: 1px solid #6D83B2; 
     padding: 5px;
     }
.leftCol { float: left; width: 32%; display: block; font-size: 85%;}
.rightCol { float: right; width: 62%; display: block; }
.leftHalf { float: left; width: 47%; }
.rightHalf { float: right; width: 47%; }
.part1 { background-color: #FFFFF0; }
.part2 { background-color: #FFF8F0; }
.part3 { background-color: #F8F8F0; }
.part4 { background-color: #F8F0F0; }
.part5 { background-color: #F0F0F0; }
.part6 { background-color: #E8F0F0; }
.part7 { background-color: #E8E8F0; }
.red { background-color: #FE0000 !important; }
.yellow { background-color: #FDFE00 !important; }
.green { background-color: #339933 !important; }
.dark { color: #888888; }
.new { border-bottom: 2px solid #66FF66 !important; }
.new.G { border-bottom: 2px solid #6666FF !important; }
.tbd {  font-style: italic; border-bottom: 2px solid #FDFE00 !important;}
del { font-size: 85%;}
.quote {
     border-left: 7px solid #CCCCCC; 
     padding: 10px 100px 20px 25px;
     }
.quoteSource {
     float: right;
     padding-right: 25px;
     font-style: italic;
     }
cite { 
     font-style: normal; 
     font-size: smaller; 
     font-variant: small-caps; 
     }
cite:before { content: "["; }
cite:after { content: "]"; }
dl.bibliography dt { 
     font-style: normal; 
     font-size: small; 
     font-variant: small-caps;
     float: left; 
     clear: left; 
     width: 6em;
     margin: 0 5px 5px 0; 
     border: 1px solid #CCCCCC; 
     padding: 2px;
     }
dl.bibliography dd { 
     margin-left: 6.5em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
dl.glossary dt { 
     float: left; 
     clear: left; 
     border: 1px solid #DDDDDD;
     width: 10em;
     margin: 0 5px 5px 0; 
     padding: 2px;
     }
.rightCol  dl.glossary dt,
.leftCol dl.glossary dt { 
     width: 7em;
     }
dl.glossary dd { 
     margin-left: 11em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
.rightCol  dl.glossary dd,
.leftCol dl.glossary dd { 
     margin-left: 8em; 
     }
table.text {
     margin: 10px 40px; 
     border:1px solid #DDDDDD;
     }
.text caption {
     caption-side: bottom;
     }
.text td {
     vertical-align: top;
     }
.text caption { 
     text-align: left; 
     font-style: italic; 
     margin-bottom: 10px; 
     }
.width05 { width: 5%; }
.width08 { width: 8%; }
.width10 { width: 10%; }
.width12 { width: 12%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width24 { width: 24%; }
.width30 { width: 30%; }
.width36 { width: 36%; }
.width40 { width: 40%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }</p>
</style>
<p><em>I’m writing a series of posts about Generalizing Apdex. This is #21. To minimize confusion, section numbers in the current spec are accompanied by the section symbol, like this: &sect;1. The corresponding section numbers in the generalized spec documents, Apdex-G and Apdex-R, are enclosed in square brackets and prefixed by the document type, like this: [G&nbsp;1] and [R&nbsp;1].</em></p>
<p>Drafts of the Apdex-G spec were posted as <a href="http://apdex.org/?p=1987">Section [1] Introduction</a>, <a href="http://apdex.org/?p=2020">Section [2] Index Overview</a>, <a href="http://apdex.org/?p=2054">Section [3] Calculation Inputs</a>, <a href="http://apdex.org/?p=2059">Section [4] Calculating the Index</a>, <a href="http://apdex.org/?p=2085">Section [5] Reporting</a>, and <a href="http://apdex.org/?p=2194">Section [6] References</a>. </p>
<p>This post presents the first draft of Apdex-R, Sections 1 and 2. Apdex-R specifies the Apdex rules for reporting response-time measurements, therefore my first draft draws heavily on the present <a href="http://apdex.org/specs.html">Apdex spec</a>. My goal is to reformat the present spec&#8217;s rules within the context established by Apdex-G. To allow both documents to be viewed together, I show Apdex-G (draft #2, plus a few subsequent amendments) on the left, and Apdex-R (draft #1) on the right. </p>
<p>Differences between Apdex-R and the corresponding sections of the present spec are highlighted, as follows:</p>
<ul>
<li><del>text deleted from the present spec</del></li>
<li><span class="new">new text added to Apdex-R (plus a few additions to Apdex-G draft #2)</span></li>
<li><span class="new G">new text created for Apdex-G, now being repeated in Apdex-R for readability</span></li>
<li><span class="tbd">notes, questions, issues to be resolved</span></li>
</ul>
<p>While major deletions, additions, and changes to the present spec <em>are marked</em>, many minor wording changes to the present spec&#8217;s text, to improve continuity and clarity of meaning, <em>are not marked</em>. I believe those changes do not substantially alter the meaning and intent of the present spec.</p>
<p><span id="more-2326"></span></p>
<div class="clear"></div>
<div class="specBox" style="font-size: 85%;">
<div class="Apdex Apdex-R rightCol">
<h3>Apdex-R, first draft:</h3>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part1" style="font-size: 85%;">
<h3>Apdex-G, second draft:</h3>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 1] Introduction</strong></p>
<p><span class="new G">Apdex (Application Performance Index) is a metric that reflects the degree to which a set of performance measurements achieves designated targets. </span></p>
<p><del>The Apdex Alliance is a group of companies collaborating to promote an application performance metric called Application Performance Index (Apdex).  Apdex is a numerical measure of user satisfaction with the performance of enterprise applications, intended to reflect the effectiveness of IT investments in contributing to business objectives. The Apdex metric may be used by any organization seeking insight into their IT investments. This specification defines Apdex, which is a method for calculating and reporting a metric of transactional application response time in the form of an index with a value of 0 to 1.</del></p>
<p><span class="new">This specification defines Apdex-R, the Apdex index of customer satisfaction with transactional application response times.</span></p>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part1">
<strong>[G 1] Introduction</strong></p>
<p>Apdex (Application Performance Index) is a metric that reflects the degree to which a set of performance measurements achieves designated targets. </p>
<p>Originally designed as an index of user satisfaction with the responsiveness of enterprise applications, Apdex can also be used to report on many other quality measures, such as the degree to which a product conforms to technical standards, or the degree to which a service achieves business objectives. </p>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 1.1] Apdex Specification Documents</strong></p>
<p><span class="new">A master specification document, Apdex-G, specifies rules for calculating and reporting the Apdex index. The suffix &#8216;G&#8217; denotes <em>generic</em>, indicating that the master document specifies domain-independent rules.</span></p>
<p><span class="new">This document, Apdex-R, is a supplemental document, termed an <em>Addendum</em>. The suffix &#8216;R&#8217; is the Addendum Type or Document Type. An addendum contains rules that apply only to applications of Apdex within a specific measurement domain.</span></p>
<p><span class="new">Note that Apdex-R contains <em>supplemental rules</em> for applying Apdex to <del>transactional application</del> response times; except where specifically stated, an addendum <em>does not replace</em> any provision of Apdex-G.</span></p>
<p><span class="new">References to sections or paragraphs of Apdex documents are distinguished by the inclusion of the document type with the paragraph number, for example  [G 1.1] or [R 1.1].</span><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part1">
<strong>[G 1.1] Apdex Specification Documents</strong></p>
<p>This document, Apdex-G, specifies rules for calculating and reporting the Apdex index. </p>
<p>The suffix &#8216;G&#8217; denotes <em>generic</em>, indicating that this document specifies domain-independent rules. A supplemental document, termed an <em>addendum</em>, may contain rules that apply only to applications of Apdex within a specific measurement domain. An addendum is named Apdex-X, where the suffix &#8216;X&#8217; is the Addendum Type <span class="new">or Document Type</span>, and denotes a specific measurement domain. For example, the addendum Apdex-R contains supplemental rules for applying Apdex to response times.</p>
<p><span class="new">References to sections or paragraphs of Apdex documents are distinguished by the inclusion of the document type with the paragraph number, for example  [G&nbsp;1.1] or [R&nbsp;1.1].</span><br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 1.2] Document Status</strong></p>
<p><span class="new G">This document was developed by the Apdex Alliance, a group of companies and individuals collaborating to promote Apdex. It was ratified by &#8230;</span></p>
<p><span class="tbd">[ Ratification history/status of Apdex-G will be inserted here ]</span></p>
<p><span class="new G">Apdex specifications may be updated from time to time to reflect feedback based on practical experience with Apdex. Current versions of all Apdex specifications are available from the Alliance web site, www.apdex.org.</span><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part1">
<strong>[G 1.2] Document Status</strong></p>
<p>This document was developed by the Apdex Alliance, a group of companies and individuals collaborating to promote Apdex. It was ratified by &#8230;</p>
<p>[<em> Ratification history/status of Apdex-G will be inserted here </em>].</p>
<p>Apdex specifications may be updated from time to time to reflect feedback based on practical experience with Apdex. Current versions of all Apdex specifications are available from the Alliance web site, www.apdex.org.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[G 1.3] Broader Apdex Goals</strong></p>
<p><span class="new">See [G 1.3] for broader Apdex goals that fall outside the scope of this specification.</span></p>
<p><del>The Apdex Alliance plans to develop and maintain additional documents and educational material to help enterprises understand the Apdex metric and put it to productive use within their organizations.  The Apdex Technical Guide will provide detailed information on defining Apdex parameters within an enterprise.  Most recent information about the Alliance and Apdex documents will be made available at the Alliance web site at www.apdex.org.</del></p>
<p><del>Members of the Alliance have made a commitment to implement tools or services that adhere to this specification.  The Alliance is also committed to supporting an ongoing process of inquiry into the relationship between application responsiveness and user satisfaction. </del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part1">
<strong>[G 1.3] Broader Apdex Goals</strong></p>
<p>The Apdex Alliance has adopted the following statements of intent: </p>
<ul>
<strong>Tools:</strong> Members of the Alliance will implement tools and/or services that adhere to this specification.<br />
<strong>Research:</strong> Members of the Alliance support an ongoing process of inquiry into the relationship between application or process performance and customer satisfaction.<br />
<strong>Education:</strong> Members of the Alliance will develop and maintain additional documents and educational material to help enterprises understand the Apdex metric and put it to productive use within their organizations.<br />
<strong>Documentation:</strong> Members of the Alliance will contribute to an Apdex Technical Guide, which will provide detailed information about implementing Apdex.
</ul>
<p>These statements reflect goals that fall outside the scope of this specification. Current information about Apdex Alliance goals and activities can be found at the Alliance web site, www.apdex.org<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 2] Index Overview</strong></p>
<p><span class="new">See [G 2] for a general statement of the requirement for a performance index; this section focuses on the requirement to report response times using an index.</span></p>
<p><del>There are</del> Many aspects of performance <del>relating to</del> <span class="new">affect</span> the delivery and management of information technology.  One critical performance factor is the responsiveness of the human-computer interface from the perspective of the human user.  This responsiveness is a core quality of a transactional application.  The speed by which an application reacts to the needs of the user directly affects the user’s productivity and satisfaction with the application experience.  It is a critical metric of application performance that has direct implications for business revenue, customer retention, and user productivity.</p>
<p>Therefore, measuring<span class="new">, reporting,</span> and tracking application response time is important to an enterprise that values the opinion and productivity of its users’ experiences.  <del>However, measuring is a necessary but insufficient step in proper management of the user experience.  Meaningful reporting of the measurements is equally important.</del>  The Application Performance Index (“Apdex”) defines a methodology for reporting the responsiveness of human-application transactions, in terms of its effect on user <span class="new">satisfaction and </span>productivity.<br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2] Index Overview</strong></p>
<p>Performance is a critical metric of application or process quality that has direct implications for business revenue, customer retention, and user productivity.  Users of any application or process are directly affected by its performance. An enterprise that values the opinion of its customers, or the productivity of its internal users, must measure and track the performance of its applications and processes. </p>
<p>Collecting measurements is only one step in the proper management of user experience. Managers must set quality objectives, and track whether those objectives are being met. Such tracking requires that large numbers of individual performance measurements be summarized for easy review. To address this requirement, the Apdex standard defines a method for reporting the degree to which a set of performance measurements meet designated targets.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 2.1] Index Objectives</strong></p>
<p><span class="new">See [G 2.1] for the goals of the Apdex metric.</span></p>
<p><del><br />
The fundamental objective of Apdex is to simplify the reporting of application response time measurements by making it possible to represent any such measurement using a common metric. Response time data can describe a wide range of targets, and its magnitude can vary widely. The index is designed to normalize for this variability of time (wide range of seconds) and measurement requirements (many distinct targets), producing a single metric that always has the same meaning.  The goals of this metric are:</del></p>
<ul>
<li><del>To provide a useful summary of an application’s responsiveness</del></li>
<li><del>To make it easy to understand the significance of values produced by the index</del></li>
<li><del>To work for all transactional applications</del></li>
<li><del>To operate within a fixed rage (0-to1) and be unit-neutral</del></li>
<li><del>To indicate application performance directly so that 0 is the worst performance and 1 is the best performance</del></li>
<li><del>To operate in such a way that specific values of the index (e.g., 0.5) report the same user experience across any application, user group, or enterprise</del></li>
<li><del>To operate in such a way that equivalent user experiences observed by different measurement and reporting tools will report the same value</del></li>
</ul>
<p><del>The purpose of this document is to provide a standard by which many vendors of measurement and reporting tools can achieve these seven objectives.<br />
</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2.1] Index Objectives</strong></p>
<p>The fundamental objective of Apdex is to simplify the reporting of any application or process measurements by making it possible to represent a set of such measurement using a common metric. Measurements can describe many applications or processes, and their magnitudes can vary widely. The Apdex metric normalizes this variability, producing values that lie within a fixed range, for all measurement input. </p>
<p>The goals of the Apdex metric are:</p>
<ol>
<li>To be easy to understand</li>
<li>To be a summary of the quality or performance of an application or process, based on a set of measurements</li>
<li>To be a performance indicator for any application or process that is subject to performance targets</li>
<li>To be dimensionless, irrespective of the measurement domain being reported</li>
<li>To lie within a fixed range of values, irrespective of the measurement data being summarized</li>
<li>To operate so that index values of 1 and 0 indicate the best and worst performance respectively</li>
<li>To operate so that a particular value of the index indicates a comparable level of quality for different applications or process</li>
<li>To operate so that different Apdex tools will report similar index values for user experiences having comparable levels of quality</li>
</ol>
<p>This document defines a standard by which creators of measurement and reporting tools can achieve these objectives.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 2.2] Terminology</strong></p>
<p><del>This document makes a clear distinction between the user of an application that is being measured and the user of the tool that is performing the measurement and generating index values.  The latter is called the technician.  Other unique terms are defined in the glossary at the end of this document.</del></p>
<p><span class="new">See [G 2.2] and [G 7] for Apdex terminology. The following terms are also defined within Apdex-R:</span></p>
<table class="text">
<tr>
<th>Apdex Term</th>
<th>General Definition</th>
<th>HTML/HTTP Equivalent</th>
</tr>
<tr>
<td>Session</td>
<td>The period of time that a user is “connected” to an application.  This is a continuous period of time that the user is interacting with the application.</td>
<td>No specific HTML or HTTP markers define a session.  A proxy is an IP address connection (open-to-close).  Another is the assignment of a session identification cookie followed by a period of inactivity.</td>
</tr>
<tr>
<td>Process</td>
<td>A multi-step series of user interactions (Task, see below)together with the corresponding user Think Times – that may (buy a book, look up an address, get a stock quote) or may not (no clear end) be well defined.  Often called the “transaction” or “application use case.”</td>
<td>A series of web pages that allow a user to perform a defined application function, together with the user interaction times (“Think Times”) required to interact with those pages.</td>
</tr>
<tr>
<td>Task</td>
<td>Each user interaction with the application during a Process.  Task time is measured from the moment the user enters an application query, command, function, etc., that requires a server response to the moment the user receives the response such that they can proceed with the application.  Often called the “user wait time” or “application response time.”</td>
<td>A Page download, consisting of a container and zero or more component objects, and the time required to perform that download, measured from the time of a user interface action until the page download completes and the page is available for use.</td>
</tr>
<tr>
<td>Task Chain</td>
<td>A defined sequence of Tasks. The Tasks comprising a Task Chain may or may not correspond to a complete Process (as defined above). Furthermore, time of a Task Chain corresponds to the sum of the Task times only, and does not include any user Think Time that may occur between Tasks.</td>
<td>A defined sequence of Web pages, and their associated download times, excluding any Think Times between user interface actions.</td>
</tr>
<tr>
<td>Turn</td>
<td>Each application client-server software interaction needed to generate a user response or Task (see above).  These software-level client-server interactions add to the time it takes for the software to complete a Task.  The user does not see Turns operating.  A Turn is a client-server request-driven round-trip.  Often called application “chattiness.”</td>
<td>HTTP Gets for parts of a Web page or frame. <span class="new">In HTML, each object &#8212; such as a container (index.html), component (image.gif) or stand-alone document (program.zip) &#8212; will generate a Turn.</span> </td>
</tr>
<tr>
<td>Protocol</td>
<td>The above Turns are further deconstructed into transport protocol events required to reliably move information among computers.  These include DNS look-ups, TCP Opens, TCP transmission, TCP ACKs, retransmission, etc.</td>
<td>TCP is the protocol supporting HTTP.  HTML/HTTP do not generate additional events at this layer of the transactional model.</td>
</tr>
<tr>
<td>Packet</td>
<td>The smallest unit of interaction and transmission between the user’s client and the application server is the packet.  Packets are routed and transported by networks from source to destination.</td>
<td>HTML/HTTP do not generate additional events at this layer of the transactional model.</td>
</tr>
<caption>Table 1 – Taxonomy of Transactional Computer Applications</caption>
</table>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2.2] Terminology</strong></p>
<p>The following terms are defined:</p>
<dl class="glossary">
<dt>Measurement Domain</dt>
<dd>The set of all possible values from which the input to an Apdex calculation is drawn. Unless limited by a domain-specific Addendum, this will be the real number domain (-&infin;, &infin;)</dd>
<div class="clear"></div>
<dt>Apdex Tool</dt>
<dd>A system that calculates Apdex values, or reports Apdex values, or does both. The calculation and reporting functions may be separated between an Apdex analysis tool and an Apdex reporting tool. Apdex tools may employ software or hardware components, or both. </dd>
<div class="clear"></div>
<dt>Tool Creator</dt>
<dd>The developer(s) of an Apdex tool. In practice, a tool creator may refer to a tool vendor, an open-source community, or an individual developer. </dd>
<div class="clear"></div>
<dt>Technician</dt>
<dd>The person who controls an Apdex tool, or who reads and interprets Apdex values.  Typically, a technician is an enterprise staff member responsible for application or process quality.</dd>
<div class="clear"></div>
<dt>User or Customer</dt>
<dd>A person served by an application or process that is the subject of an Apdex index.</dd>
<div class="clear"></div>
</dl>
<p>Other Apdex terms are defined in context within this document and its addenda. Section [G 7] Glossary collects together all Apdex terminology.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 2.3] Measurement Types: User-Application Interaction Model</strong></p>
<p><span class="new">See [G 2.3] for an introduction to <em>Measurement Types</em> in Apdex; this section focuses on response time measurements.</span></p>
<p>In order for the index to properly report on users’ perceptions of application responsiveness, the measurements that are used as input must measure the actual time that a user is waiting for the application to respond.  Transactional applications are characterized by a query-response interaction process.  A user types, clicks, or makes some entry followed by a period of time when the system (network, computers, databases, etc.) handles the entry and generates a response.  This period is typically called “user wait time.”  The critical factor regarding the duration of this time is that the user is typically incapable – even prevented from – proceeding with the application until the response is delivered.  The user will then read, react, or in some way think about the response that will then lead him or her to make the next entry.  This period of time where the system is waiting for the user to make the next entry is typically called “user think time.”  This enter-wait-think cycle repeats many times during the user’s session with the application.</p>
<p>The user’s perception of the application’s responsiveness or speed is formed by an accumulated number of views regarding the lengths of wait times or response times.  Many components of a client-server interaction make up response time. Transactional applications have complex behaviors that operate at many levels. <span class="new">Section [R 2.2] defines a taxonomy comprising seven layers of interaction, and illustrates that taxonomy by identifying the layers of a web-based application built using HTTP/HTML.</span> Transactional applications based upon other protocols or proprietary schema follow the same taxonomy and may therefore be <del>measured and</del> reported by tools using Apdex-R.<br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2.3] Measurement Types</strong></p>
<p>This document specifies domain-independent rules that apply to all measurement types. An addendum may define a class of measurements within a specific measurement domain, and specify supplemental rules that apply only to that class of measurements. The addendum type (see [G 1.1]) may also be referred to as the <span class="new">Document Type, or the </span><em>Measurement Type</em> of that class of measurements.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 2.4] Measurement Subtypes: Processes, Tasks and Task Chains</strong></p>
<p>Within the taxonomy described in Section [R 2.2], application response time is defined to be the time that elapses between a user completing a Task entry and the computer system responding with sufficient information to allow the user to proceed to the next Task. Furthermore, human users are most aware of the responsiveness of an application delivery system at its Task and Process layers, because these layers usually correspond to two distinct and readily identifiable aspects of a user’s interaction with a computer system, as follows:</p>
<dl class="glossary">
<dt>Task Time</dt>
<dd>An instance of application response time a human user experiences while the computer system is performing one operation (or one step) of an application.</dd>
<dt>Process Time</dt>
<dd>The sum of the Task Times a user experiences while performing a sequence of related Tasks necessary to complete a single application function, including user think time.  This is the actual time a user experiences while completing a Process.</dd>
</li>
<dt>Task Chain Time</dt>
<dd>The sum of the Task Times of a defined series of Tasks.  Task Chain Time differs from Process time in two ways: (a) the total time does not include user think time, and (b) the set of Tasks does not necessarily correspond to a complete Process.</dd>
</li>
</dl>
<p>In Section [R 2.5.1], this specification defines the Apdex method for computing and reporting measurements of Task Time and Task Chain Time. </p>
<p><span class="tbd">TBD: When reporting response-time measurements, is Apdex-R mandatory, or an alternative to Apdex-G? Is the answer the same for Tasks, Task Chains, and other response times?</span><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2.4] Measurement Subtypes</strong></p>
<p>This document specifies domain-independent rules that apply to all measurement types. An addendum that addresses a particular measurement type may also identify subtypes of that measurement type, and specify supplemental rules that apply to each of those subtypes.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="Apdex Apdex-R rightCol">
<strong>[R 2.5] Satisfaction Levels: How Users Experience Application Response Times</strong></p>
<p><del>Users have a finite set of reactions or views by which they characterize application response time.  Each such group of time durations is called a performance zone.  Performance zones are defined by two thresholds – times where the zone begins and ends.  Apdex defines three such performance zones:</del></p>
<p><span class="new">Apdex satisfaction levels are defined in [G 2.5]. For interactive applications, the three levels of user satisfaction with responsiveness are further defined as follows:</span></p>
<dl class="glossary">
<dt>Satisfied</dt>
<dd>The response time is fast enough to satisfy the user, who is therefore able to concentrate fully on the work at hand. <del>with minimal negative impact on his/her thought process.</del></dd>
<div class="clear"></div>
<dt>Tolerating</dt>
<dd><del>Responses in the tolerating zone are longer than those of the satisfied zone, exceeding the threshold at which the user notices how long it takes to interact with the system, and potentially impairing the user’s productivity.  Application responses in this zone are less than ideal but don’t by themselves threaten the usability of the application.</del> <span class="new">The response time is slower than desired, potentially impairing user productivity, but not slow enough to make the system or application unusable. A user notices how long it takes to interact with the system, but can tolerate the slower response.</span> </p>
<div class="clear"></div>
<dt>Frustrated</dt>
<dd>As response times increase, at some threshold the user becomes unhappy with slow performance, becoming frustrated. A casual user is likely to abandon a course of action and a production user is likely to cancel a task or process.</dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2.5] Satisfaction Levels</strong></p>
<p>Apdex works by assigning a satisfaction level to each measurement, as defined below:</p>
<dl class="glossary">
<dt>Satisfaction Level</dt>
<dd>One of three categories (<strong>Satisfied</strong>, <strong>Tolerating</strong>, or <strong>Frustrated</strong>) that reflects how an organization using Apdex evaluates the performance of the application or process being reported. For the Apdex method to be applicable to a <strong>Measurement Domain</strong>, it must be possible to assign a Satisfaction Level to any value within the Measurement Domain.</dd>
<div class="clear"></div>
<dt>Quality Level</dt>
<dd>An alternative term for <strong>Satisfaction Level</strong>.</dd>
<div class="clear"></div>
<dt>Satisfied</dt>
<dd>A <strong>Satisfaction Level</strong> that reflects the desired level of performance for the application or process being reported. Measurements classified as Satisfied usually indicate that the application or process being measured is meeting its targets and needs little or no attention.</dd>
<div class="clear"></div>
<dt>Tolerating</dt>
<dd>A <strong>Satisfaction Level</strong> that reflects a level of performance below the desired level, but which can be tolerated. Measurements classified as Tolerating may signal the need for caution or greater attention to the application or process being measured.</dd>
<div class="clear"></div>
<dt>Frustrated</dt>
<dd>A <strong>Satisfaction Level</strong> that reflects an unsatisfactory level of performance for the application or process being reported. Measurements classified as Frustrated may be associated with undesirable outcomes, and lead to remedial or abnormal actions.</p>
<p>[<em>TBD, include these examples of abnormal actions?</em> For example, a customer may abandon an unsatisfactory transaction, an executive may assign more resources to a critical business process that is not meeting its assigned targets, or a supervisor may halt a manufacturing process whose product is outside the specified tolerance.] </dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 2.5.1] Thresholds and Performance Intervals</strong></p>
<p><span class="new">See [G 2.5.1] for general definitions of Apdex Thresholds and Performance Intervals. When using Apdex to report response time measurements, Apdex-R simplifies the general method by eliminating the need to specify Performance Intervals, and by specifying just one or two Thresholds, as follows:</span></p>
<dl class="glossary">
<dt>Threshold</dt>
<dd>A response time value that defines a boundary between <span class="new">two adjacent</span> performance zones. <span class="new">Apdex-R defines two thresholds, the tolerating threshold (T) and the frustrated threshold (F).</span></dd>
<div class="clear"></div>
<dt>T</dt>
<dd>The Tolerating Threshold. The value T is contained in the Satisfied Zone, and is the boundary between the Satisfied Zone and the Tolerating Zone. </dd>
<div class="clear"></div>
<dt>F</dt>
<dd>The Frustrated Threshold. The value F contained in the Tolerating Zone, and is the boundary between the Tolerating Zone and the Frustrated Zone. <span class="new">The default value of F is four times the value T. When this default is adopted, only the value of T has to be specified.</span></dd>
<div class="clear"></div>
<p><strong>Applying The Default F=4xT</strong></p>
<p>In Apdex-R, the default value of F is four times the value T. This means, for example, that if users perceive response time as tolerable beginning at 4 seconds then they will be frustrated at response times slower than 16 seconds. <span class="new">However, tool creators are expected to support separate specification of T and F, and users of Apdex-R are encouraged to review the applicability of the default rule in their own reporting environment.</span></p>
<p><strong> Basis for The Default F=4xT</strong></p>
<p>Research supporting the default assertion F=4xT is described in Reference [G 6.1].  Further background information is available in References [G 6.2], [G 6.3], and [G 6.4] <span class="tbd">and on the Apdex web site www.apdex.org</span>.</p>
<p>Most research into application response times has focused on user attitudes and behaviors when exposed to differing Task times. Since Processes and Task Chains are simply sequences of Tasks, this Apdex specification assumes that applicable research conclusions obtained for Tasks can be generalized to apply to Task Chains also. </p>
<p>Because the set of Task times comprising a Task Chain time are likely either to be independent (because environmental conditions affecting one Task have no effect on other tasks in a chain), or to be positively correlated (because some or all of the Tasks share a common system environment) it is reasonable to generalize the conclusions obtained for single Task times to Task Chain times. </p>
<p>Such a generalization would not be valid if the Task times comprising a Task Chain tended to be negatively correlated, because in that case (for example) user frustration with one task could be offset by obtaining rapid response time from another task in the chain. Users accustomed to such offsetting behavior might well expect smaller levels of variance in total Task Chain times, and thus develop thresholds for Task Chains that were lower than the sum of the individual Task thresholds, and which did not adhere to the rule that F is four times T. In this situation, the proposed Apdex mathematics would still work, but the resulting Apdex score could overestimate the users’ perceived quality of a Task Chain. </p>
<p>At present, Apdex considers such negatively correlated Task times unlikely. Therefore the default relationship F=4xT may be employed when reporting measurements of a single Task or of a Task Chain.<br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2.5.1] Thresholds and Performance Intervals</strong></p>
<p> A performance interval is a range of values within the measurement domain that share a common satisfaction level. Thresholds define the boundaries of performance intervals:</p>
<dl class="glossary">
<dt>Threshold</dt>
<dd>One of N distinct values within the <strong>Measurement Domain</strong>, which partition the Measurement Domain into N+1 contiguous non-empty <strong>Performance Intervals</strong> in such a way that measurement values within a Performance Interval have identical <strong>Satisfaction Levels</strong>. Each Threshold lies within one and only one Performance Interval. Unless otherwise specified by a domain-specific <strong>Addendum</strong>, a Threshold lies within the Performance Interval for which it acts as the upper bound.</dd>
<div class="clear"></div>
<dt>Threshold Name</dt>
<dd>Thresholds can have user-assigned names. Tools may also assign default generic names (T1, T2, &#8230; or T<sub>1</sub>, T<sub>2</sub>, &#8230;) to thresholds based on their order, from low to high. An <strong>Addendum</strong> may specify domain-specific names and orderings.</dd>
<div class="clear"></div>
<dt>Performance Interval</dt>
<dd>A partition of the <strong>Measurement Domain</strong> defined by <strong>Thresholds</strong>. All measurement values within a Performance Interval have the same <strong>Satisfaction Level</strong>, which is therefore considered to be an attribute of the Performance Interval. There must be at least three Performance Intervals, one for each of the three Satisfaction Levels. When the context is unambiguous, the term &#8216;Performance Interval&#8217; may be shortened to  <strong>Interval</strong>.</em></dd>
<div class="clear"></div>
<dt>Performance Interval Name</dt>
<dd>Performance Intervals can have user-assigned names. Tools may also assign default generic names (such as PI1, PI2, &#8230; or PI<sub>1</sub>, PI<sub>2</sub>, &#8230;) or names signifying the <strong>Satisfaction Level</strong> of the Interval (such as PIS, PIT1, PIT2, PIF1, &#8230; or PI<sub>s</sub>, PI<sub>t1</sub>,  PI<sub>t2</sub>, PI<sub>f1</sub> &#8230;). Default names should be assigned to Intervals based on their order, from low to high. An <strong>Addendum</strong> may specify domain-specific names and orderings.</dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 2.5.2] Performance Zones </strong></p>
<p><span class="new">See [G 2.5.2] for general definitions of Apdex Performance Zones. When using Apdex to report response time measurements, Apdex-R uses the thresholds T and F to define three <strong>Performance Zones</strong>, one for each satisfaction level.</span> </p>
<dl class="glossary">
<dt>Performance Zone</dt>
<dd><del>A range of time (between two time values) that a user waits for an application to respond during which his/her perception of the application’s responsiveness does not change.</del>A response time range within which user possesses a common satisfaction level. See Satisfied Zone, Tolerating Zone, Frustrated Zone.</span>
<dd>
<div class="clear"></div>
<dt>Satisfied Zone</dt>
<dd>The range of application response times from 0 to T, that reflect the desired level of performance for the application or process being reported. The user is not adversely affected by the response time.</dd>
<div class="clear"></div>
<dt>Tolerating Zone</dt>
<dd>The range of application response times greater than T to F, that reflect a level of performance below the desired level, but which can be tolerated. The user is somewhat negatively affected by response time.</dd>
<div class="clear"></div>
<dt>Frustrated Zone</dt>
<dd>Application response times greater than F, that reflects an unsatisfactory level of performance for the application or process being reported. The user is very negatively affected by response time.</dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2.5.2] Performance Zones </strong></p>
<p>Apdex defines three <strong>Performance Zones</strong>, one for each satisfaction level. The performance zone is the union of all Performance Intervals having that satisfaction level:</p>
<dl class="glossary">
<dt>Satisfied Zone</dt>
<dd>The union of all <strong>Performance Intervals</strong> that have the <strong>Satisfaction Level</strong> of &#8216;Satisfied&#8217;. </dd>
<div class="clear"></div>
<dt>Tolerating Zone</dt>
<dd>The union of all <strong>Performance Intervals</strong> that have the <strong>Satisfaction Level</strong> of &#8216;Tolerating&#8217;. </dd>
<div class="clear"></div>
<dt>Frustrated Zone</dt>
<dd>The union of all <strong>Performance Intervals</strong> that have the <strong>Satisfaction Level</strong> of &#8216;Frustrated&#8217;. </dd>
<div class="clear"></div>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex Apdex-R rightCol">
<strong>[R 2.6] How the Index Works</strong></p>
<p><span class="new">Applying the Apdex method converts a set of response times into a unitless index value in the range 0 to 1. See [G 2.6] for an overview of how the Apdex index works.</span></p>
<p><del>The Apdex method converts response time (seconds) into an index (unitless) by counting the number of samples in each performance zone relative to all samples.  The result is a ratio that is therefore within the range of 0-to-1.  An index of zero means that all of the samples were within the frustrated zone. An index of 1 means that all of the samples were within the satisfied zone.  An index that is greater than zero and less than one means that the samples were from a mix of the performance zones. The higher the index value, the more satisfied the user population was for that group of application performance response samples.</del><br />
<!--close Apdex--></div>
<div class="Apdex-G leftCol part2">
<strong>[G 2.6] How the Index Works</strong></p>
<p>The Apdex method converts measurements into an index by counting the samples in each performance zone and computing a weighted proportion of satisfied samples. Satisfied samples carry more weight than tolerating samples, which in turn carry more weight than frustrated samples.</p>
<p>The index is a ratio that always lies in the range 0 to 1.  An index of zero means that all of the samples were within the frustrated zone. An index of 1 means that all of the samples were within the satisfied zone.  An index that is greater than zero and less than one means that the samples were from a mix of the performance zones. The higher the index value, the higher the overall satisfaction level of the measurements.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><!--THE END--></p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/09/apdex-r-section-1-introduction-and-2-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apdex-G Section [6] References</title>
		<link>http://apdex.org/index.php/2010/08/apdex-g-section-6-references/</link>
		<comments>http://apdex.org/index.php/2010/08/apdex-g-section-6-references/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 03:40:52 +0000</pubDate>
		<dc:creator>Chris Loosley</dc:creator>
				<category><![CDATA[Apdex Specification]]></category>
		<category><![CDATA[How Apdex Works]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2194</guid>
		<description><![CDATA[ p { clear: left; } .clear { clear: both; } .box { border: 1px solid #DDDDDD; padding: 5px; } .clearBox { margin: 0 40px; } .textBox { margin: 0 40px; border: 1px solid #DDDDDD; background-color: #E8E8E8; padding: 10px; } .specBox { min-width: 500px; z-index: 1000; position: relative; overflow: visible; } .Apdex { border: [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
p { clear: left; }
.clear { clear: both; }
.box {
     border: 1px solid #DDDDDD;
     padding: 5px;
     }
.clearBox {
     margin: 0 40px;
     }
.textBox {
     margin: 0 40px;
     border: 1px solid #DDDDDD;
     background-color: #E8E8E8; 
     padding: 10px;
     }
.specBox { 
     min-width: 500px; 
     z-index: 1000;
     position: relative;
     overflow: visible;
     }
.Apdex { 
     border: 1px solid #DDDDDD; 
     padding: 5px;
     background-color: #F0F0D0;
     }
.Apdex-G { 
     border: 1px solid #6D83B2; 
     padding: 5px;
     }
.leftCol { float: left; width: 32%; display: block; font-size: 85%;}
.rightCol { float: right; width: 62%; }
.leftHalf { float: left; width: 47%; }
.rightHalf { float: right; width: 47%; }
.part1 { background-color: #FFFFF0; }
.part2 { background-color: #FFF8F0; }
.part3 { background-color: #F8F8F0; }
.part4 { background-color: #F8F0F0; }
.part5 { background-color: #F0F0F0; }
.part6 { background-color: #E8F0F0; }
.part7 { background-color: #E8E8F0; }
.red { background-color: #FE0000 !important; }
.yellow { background-color: #FDFE00 !important; }
.green { background-color: #339933 !important; }
.dark { color: #888888; }
.quote {
     border-left: 7px solid #CCCCCC; 
     padding: 10px 100px 20px 25px;
     }
.quoteSource {
     float: right;
     padding-right: 25px;
     font-style: italic;
     }
cite { 
     font-style: normal; 
     font-size: smaller; 
     font-variant: small-caps; 
     }
cite:before { content: "["; }
cite:after { content: "]"; }
dl.bibliography dt { 
     font-style: normal; 
     font-size: small; 
     font-variant: small-caps;
     float: left; 
     clear: left; 
     width: 6em;
     margin: 0 5px 5px 0; 
     border: 1px solid #CCCCCC; 
     padding: 2px;
     }
dl.bibliography dd { 
     margin-left: 6.5em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
dl.glossary dt { 
     float: left; 
     clear: left; 
     border: 1px solid #DDDDDD;
     width: 10em;
     margin: 0 5px 5px 0; 
     padding: 2px;
     }
.leftCol  dl.glossary dt,
.rightCol dl.glossary dt { 
     width: 7em;
     }
dl.glossary dd { 
     margin-left: 11em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
.leftCol  dl.glossary dd,
.rightCol dl.glossary dd { 
     margin-left: 8em; 
     }</p>
<p>table.text {
     margin: 10px 40px; 
     border:1px solid #DDDDDD;
     }
.text caption {
     caption-side: bottom;
     }
.text td {
     vertical-align: top;
     }
.text caption { 
     text-align: left; 
     font-style: italic; 
     margin-bottom: 10px; 
     }</p>
<p>.width05 { width: 5%; }
.width08 { width: 8%; }
.width10 { width: 10%; }
.width12 { width: 12%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width24 { width: 24%; }
.width30 { width: 30%; }
.width36 { width: 36%; }
.width40 { width: 40%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }</p>
</style>
<p><em>I’m writing a series of posts about Generalizing Apdex. This is #20. To minimize confusion, section numbers in the current spec are accompanied by the section symbol, like this: &sect;1. The corresponding section numbers in the generalized spec, Apdex-G, are enclosed in square brackets, like this: [1].</em></p>
<p>I have been working systematically through the process of generalizing the current Apdex spec. Along the way, I have been skipping over parts of the current spec to work on the paragraphs that presented challenges. I am now going back to fill in those less contentious paragraphs, posting updated drafts of each section of the Apdex-G spec. The first five are <a href="http://apdex.org/?p=1987">Section [1] Introduction</a>, <a href="http://apdex.org/?p=2020">Section [2] Index Overview</a>, <a href="http://apdex.org/?p=2054">Section [3] Calculation Inputs</a>, <a href="http://apdex.org/?p=2059">Section [4] Calculating the Index</a>, and <a href="http://apdex.org/?p=2085">Section [5] Reporting</a>; today I continue with Section [6] References. </p>
<p><span id="more-2194"></span><br />
<strong>Summary</strong> </p>
<p>In this section, I have retained the original references from Apdex section &sect;6, added four new ones, and introduced headings to show which sections the references relate to.</p>
<p>Because this material includes some drafts posted previously, some of which I have edited, everything in this series of posts is considered the second draft of Apdex-G.</p>
<div class="specBox">
<div class="Apdex leftCol">
<h3>Apdex, current spec:</h3>
<p><!--close Apdex--></div>
<div class="Apdex-G rightCol part6" style="font-size: 85%;">
<h3>Apdex-G, second draft:</h3>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<strong>&sect;6. References</strong></p>
<ol>
<li>&#8220;Defining The Application Performance Index,&#8221; by Peter Sevcik, <em>Business Communications Review</em>, March 2005. This is a comprehensive overview of Apdex and the formation of the Apdex Alliance.</li>
<li>“Understanding How Users View Application Performance,” by Peter Sevcik, <em>Business Communications Review</em>, July 2002.  Describes the three zones of performance.</li>
<li>“This Is Your Father’s Performance After All!,” by Peter Christy, published in <em>Business Communications Review</em>, November 2002.  This is a rebuttal from Peter Christy on reference 2.</li>
<li>“How Fast is Fast Enough?,” by Peter Sevcik, <em>Business Communications Review</em>, March 2003.  This article continues the discussion in references 2 and 3 above of user perception of application response time.</li>
</ol>
<p><!--close Apdex--></div>
<div class="Apdex-G rightCol part6">
<strong>[6] References</strong></p>
<p><strong>Section 1</strong></p>
<p>[6.1] &#8220;Defining The Application Performance Index,&#8221; by Peter Sevcik, <em>Business Communications Review</em>, March 2005. This is a comprehensive overview of Apdex and the formation of the Apdex Alliance.<br />
[Download: <a href="http://www.netforecast.com/Articles/BCR%20C38%20The%20Apdex%20Alliance.pdf">pdf at netforecast.com</a>]</p>
<p>[6.2] “Understanding How Users View Application Performance,” by Peter Sevcik, <em>Business Communications Review</em>, July 2002.  Describes the three zones of performance.<br />
[Download: <a href="http://www.netforecast.com/Articles/BCR%20C22%20Performance%20Zones.pdf">pdf at netforecast.com</a>]</p>
<p>[6.3] “This Is Your Father’s Performance After All!,” by Peter Christy, published in <em>Business Communications Review</em>, November 2002.  This is a rebuttal from Peter Christy on reference 2.<br />
[Download: <a href="http://www.allbusiness.com/business_planning/business_structures/3602442-1.html">article at allbusiness.com</a>]</p>
<p>[6.4] “How Fast is Fast Enough?,” by Peter Sevcik, <em>Business Communications Review</em>, March 2003.  This article continues the discussion in references 2 and 3 above of user perception of application response time.<br />
[Download: <a href="http://www.allbusiness.com/business_planning/business_structures/3602516-1.html">article at allbusiness.com (but without images)</a>]</p>
<p><strong>Section 2</strong></p>
<p>[6.5] &#8220;The Zone of Tolerance,&#8221; by Robert Johnston, <em>International Journal of Service Industry Management,</em> Vol 6, No 2 1995. This paper reviews literature on service quality and in particular the zone of tolerance, the zone of acceptable or expected outcomes in a service experience. &#8220;The importance of the zone of tolerance is that customers may accept variation within a range of performance and any increase in performance within this area will only have a marginal effect on perceptions. It is only when performance moves outside of this range that it will have any real effect on perceived service quality.&#8221;<br />
[Download: <a href="http://bit.ly/bEenDG">pdf </a>]</dd>
<p><strong>Section 4</strong></p>
<p>[6.6] &#8220;The Apdex Index Revealed,&#8221; by Neil J. Gunther, <em>CMG MeasureIT,</em> February 2009. This paper reviews the Apdex metric in detail, explaining the basis for the formula, discussing some criticisms, and possible enhancements.<br />
[Download: <a href="http://www.cmg.org/measureit/issues/mit56/m_56_15.html">paper at www.cmg.org</a>]</dd>
<p><strong>Section 5</strong></p>
<p>[6.7] &#8220;RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files,&#8221; by Y. Shafranovich, <em>The Internet Society</em>, October 2005. The Apdex Uniform Output format incorporates the IETF specification of CSV published in RFC 4180.<br />
[Download: <a href="http://tools.ietf.org/html/rfc4180">tools.ietf.org</a>]</p>
<p>[6.8] &#8220;Interval Notation,&#8221; by Y. Shafranovich, <em>Zonaland Education</em>. Interval notation is a method of writing down a set of numbers. The Apdex Uniform Output format employs a scheme based on interval notation to describe performance intervals, ranges of input values that correspond to common satisfaction levels.<br />
[Download: <a href="http://zonalandeducation.com/mmts/miscellaneousMath/intervalNotation/intervalNotation.html">article at zonalandeducation.com</a>]</p>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><strong>Next Steps &#8230;</strong></p>
<p>This completes my second draft. I will begin work on Apdex-R, the addendum addressing measurements of response times. Apdex-R will cover all the domain-specific content of the current spec that has been excised from Apdex-G. I am postponing work on Section [7] Glossary until I have completed a draft of Apdex-R. If I want to record any new terminology, or edit previous definitions, I will amend my previous post, <a href="http://apdex.org/?p=710">An Extensible Apdex Glossary</a>.</p>
<p>As usual, all these proposals are open for public discussion. Please use the comment form below to contribute any comments, suggestions, or questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/08/apdex-g-section-6-references/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apdex-G Section [5] Reporting</title>
		<link>http://apdex.org/index.php/2010/08/apdex-g-section-5-reporting/</link>
		<comments>http://apdex.org/index.php/2010/08/apdex-g-section-5-reporting/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 12:29:49 +0000</pubDate>
		<dc:creator>Chris Loosley</dc:creator>
				<category><![CDATA[Apdex Specification]]></category>
		<category><![CDATA[How Apdex Works]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2085</guid>
		<description><![CDATA[ p { clear: left; } .clear { clear: both; } .box { border: 1px solid #DDDDDD; padding: 5px; } .clearBox { margin: 0 40px; } .textBox { margin: 0 40px; border: 1px solid #DDDDDD; background-color: #E8E8E8; padding: 10px; } .specBox { min-width: 500px; z-index: 1000; position: relative; overflow: visible; } .Apdex { border: [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
p { clear: left; }
.clear { clear: both; }
.box {
     border: 1px solid #DDDDDD;
     padding: 5px;
     }
.clearBox {
     margin: 0 40px;
     }
.textBox {
     margin: 0 40px;
     border: 1px solid #DDDDDD;
     background-color: #E8E8E8; 
     padding: 10px;
     }
.specBox { 
     min-width: 500px; 
     z-index: 1000;
     position: relative;
     overflow: visible;
     }
.Apdex { 
     border: 1px solid #DDDDDD; 
     padding: 5px;
     background-color: #F0F0D0;
     }
.Apdex-G { 
     border: 1px solid #6D83B2; 
     padding: 5px;
     }
.leftCol { float: left; width: 32%; display: block; font-size: 85%;}
.rightCol { float: right; width: 62%; }
.leftHalf { float: left; width: 47%; }
.rightHalf { float: right; width: 47%; }
.part1 { background-color: #FFFFF0; }
.part2 { background-color: #FFF8F0; }
.part3 { background-color: #F8F8F0; }
.part4 { background-color: #F8F0F0; }
.part5 { background-color: #F0F0F0; }
.part6 { background-color: #E8F0F0; }
.part7 { background-color: #E8E8F0; }
.red { background-color: #FE0000 !important; }
.yellow { background-color: #FDFE00 !important; }
.green { background-color: #339933 !important; }
.dark { color: #888888; }
.quote {
     border-left: 7px solid #CCCCCC; 
     padding: 10px 100px 20px 25px;
     }
.quoteSource {
     float: right;
     padding-right: 25px;
     font-style: italic;
     }
cite { 
     font-style: normal; 
     font-size: smaller; 
     font-variant: small-caps; 
     }
cite:before { content: "["; }
cite:after { content: "]"; }
dl.bibliography dt { 
     font-style: normal; 
     font-size: small; 
     font-variant: small-caps;
     float: left; 
     clear: left; 
     width: 6em;
     margin: 0 5px 5px 0; 
     border: 1px solid #CCCCCC; 
     padding: 2px;
     }
dl.bibliography dd { 
     margin-left: 6.5em; 
     border-left: 5px solid #FFFFFF; 
     margin-bottom: 10px;
     }
dl.glossary dt { 
     float: left; 
     clear: left; 
     border: 1px solid #DDDDDD;
     width: 10em;
     margin: 0 5px 5px 0; 
     padding: 2px;
     }
.leftCol  dl.glossary dt,
.rightCol dl.glossary dt { 
     width: 7em;
     }
dl.glossary dd { 
     margin-left: 11em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
.leftCol  dl.glossary dd,
.rightCol dl.glossary dd { 
     margin-left: 8em; 
     }</p>
<p>table.text {
     margin: 10px 40px; 
     border:1px solid #DDDDDD;
     }
.text caption {
     caption-side: bottom;
     }
.text td {
     vertical-align: top;
     }
.text caption { 
     text-align: left; 
     font-style: italic; 
     margin-bottom: 10px; 
     }</p>
<p>.width05 { width: 5%; }
.width08 { width: 8%; }
.width10 { width: 10%; }
.width12 { width: 12%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width24 { width: 24%; }
.width30 { width: 30%; }
.width36 { width: 36%; }
.width40 { width: 40%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }</p>
</style>
<p><em>I’m writing a series of posts about Generalizing Apdex. This is #19. To minimize confusion, section numbers in the current spec are accompanied by the section symbol, like this: &sect;1. The corresponding section numbers in the generalized spec, Apdex-G, are enclosed in square brackets, like this: [1].</em></p>
<p>I have been working systematically through the process of generalizing the current Apdex spec. Along the way, I have been skipping over parts of the current spec to work on the paragraphs that presented challenges. I am now going back to fill in those less contentious paragraphs, posting updated drafts of each section of the Apdex-G spec. The first four are <a href="http://apdex.org/?p=1987">Section [1] Introduction</a>, <a href="http://apdex.org/?p=2020">Section [2] Index Overview</a>, <a href="http://apdex.org/?p=2054">Section [3] Calculation Inputs</a>, and <a href="http://apdex.org/?p=2059">Section [4] Calculating the Index</a>; today I continue with Section [5] Reporting. </p>
<p><span id="more-2085"></span><br />
<strong>Summary</strong> </p>
<p>In this section, I have generalized and reorganized the material in Apdex section &sect;5 as follows:</p>
<ul>
<li>The introduction is a rewording of the current spec.</li>
<li>Section [5.1] corresponds to Apdex section &sect;5.1. I have numbered the four rules.</li>
<li>Section [5.1.1] corresponds to Apdex section &sect;5.3, describing general cases. Placing it here improves the flow.</li>
<li>Section [5.2] corresponds to the last part of Apdex section &sect;5.1 on Uniform Output, revised and extended. These extensions were discussed in two previous posts &#8212; <a href="http://apdex.org/?p=923">Configurable Reporting in Apdex-G</a> and <a href="http://apdex.org/?p=625">Report Groups and Quality Ratings in Apdex-G</a>. </li>
<li>Section [5.3] corresponds to Apdex section &sect;5.2. I have generalized the language, and tried to enumerate the possible classes of errors in a general way. This section was discussed briefly with the first draft.</li>
<li>Section [5.4] corresponds to Apdex section &sect;5.4. I have generalized the language.</li>
</ul>
<p>Because this material includes some drafts posted previously, some of which I have edited, everything in this series of posts is considered the second draft of Apdex-G. After the second draft is posted, I will begin work on Apdex-R, the addendum addressing measurements of response times. Apdex-R will cover all the domain-specific content of the current spec that has been excised from Apdex-G. </p>
<div class="specBox">
<div class="Apdex leftCol">
<h3>Apdex, current spec:</h3>
<p><!--close Apdex--></div>
<div class="Apdex-G rightCol part5" style="font-size: 85%;">
<h3>Apdex-G, second draft:</h3>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<strong>&sect;5. Reporting the Index</strong></p>
<p>The index is a decimal value between 0 and 1.  The Apdex representation on all reports (screen, print, or otherwise) must adhere to the following rules.<br />
<!--close Apdex--></div>
<div class="Apdex-G rightCol part5">
<strong>[5] Reporting the Index</strong></p>
<p>In this section, the terms <em>Report(s)</em> and <em>Reporting</em> refer to any representation of an Apdex index, whether in print, on a computer screen, or elsewhere.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<strong>&sect;5.1 Displaying the Apdex Value</strong></p>
<p>The index always starts with a 0, followed by a decimal point, followed by the fractional value for the calculation to two decimals, and the value of T is clearly associated with the index presentation as defined below.  There is a special case of the value 1.00 that starts with the digit of 1.  A 1.00 is presented when the formula produces a result that can be rounded arithmetically to 1.00 (results equal to or greater than 0.995 round to 1.00). </p>
<p>Apdex may not be reported in granularity smaller than one one-hundredth.  Decimal values of 3 or more digits are not permitted.</p>
<p>Tools in a computer screen or in printed reports always identify it as an Apdex value.  When there are many values of the index presented in tabular form representing many reporting groups, then the Apdex label should appear with the appropriate column or row.</p>
<p>All Apdex values are calculated with a particular target threshold, T.  The value of T must be clearly displayed in association with the Apdex score.  Furthermore, in order to facilitate exporting Apdex values from a tool and then importing them to other analysis tools, all tools must support at least one uniform output as shown below.<br />
<!--close Apdex--></div>
<div class="Apdex-G rightCol part5">
<strong>[5.1] Reporting the Apdex Value</strong></p>
<p>Reports must adhere to the following rules:</p>
<ol>
<li>The index is a decimal value between 0 and 1, rounded to a precision of two decimal places. Values equal to or greater than 0.995 round to 1.00. </li>
<li>Unless its value is 1.00, the index is always reported with a zero in the tens place, followed by a decimal point, followed by no more than two decimal places.</li>
<li>Apdex values must be identified as such.  When several Apdex values are presented in tabular form, a single Apdex identifier can be identify a group of values in a row, column, or table.</li>
<li>All Apdex values are calculated based on specified performance zones. The performance zone specification must be clearly displayed in association with the Apdex score.</li>
</ol>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<em>Current spec:</em></p>
<p><strong>&sect;5.3 When T is a General Case</strong></p>
<p>General Apdex value discussions that reflect any target of T are written with “T” as shown in the following examples.</p>
<p><strong>Uniform Output:</strong>  “Everyone should understand that 0.90 [T] is a better value than 0.80 [T].”<br />
<strong>Subscripted Output:</strong> “Everyone should understand that 0.90<sub>T</sub> is a better value than 0.80<sub>T</sub>.”<br />
<!--close Apdex--></div>
<div class="Apdex-G rightCol part5">
<strong>[5.1.1] Describing General Cases</strong> </p>
<p>In general discussions of Apdex values, references to unspecified performance thresholds are written using the notation “[T]”, as shown in the following examples.</p>
<p>“Everyone should understand that 0.90 [T] is a better value than 0.80 [T].”<br />
&#8220;Apdex scores in the range 0.85 to 0.93 [T] are rated <em>Good</em>.&#8221;</p>
<p>Sections [5.3] and [5.4] also use this notation when referring to threshold reporting.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<strong>Uniform Output (Mandatory)</strong></p>
<p>The tool shall display, print, and export to an ASCII file each Apdex value with the following fixed format.</p>
<p><strong>Table 2. Uniform Output Definition</strong></p>
<table class="text" id="table2">
<tr>
<th class="width15">Element Position</th>
<th class="width55">Definition</th>
<th class="width30">Example/Range</th>
</tr>
<tr>
<td>1</td>
<td>Value whole number digit</td>
<td>0 or 1</td>
</tr>
<tr>
<td>2</td>
<td>Decimal point</td>
<td>.</td>
</tr>
<tr>
<td>3</td>
<td>Value tenths digit</td>
<td>0 through 9</td>
</tr>
<tr>
<td>4</td>
<td>Value hundredths digit</td>
<td>0 through 9</td>
</tr>
<tr>
<td>5</td>
<td>Space</td>
<td></td>
</tr>
<tr>
<td>6</td>
<td>Left bracket designating start of T</td>
<td>[</td>
</tr>
<tr>
<td>7</td>
<td>First digit of T</td>
<td>0.1 or greater</td>
</tr>
<tr>
<td>N</td>
<td>Rest of T as defined in section 3.3</td>
<td>Numeric digits</td>
</tr>
<tr>
<td>N+1</td>
<td>Right bracket designating end of T</td>
<td>]</td>
</tr>
<tr>
<td>N+2</td>
<td>Small group indicator (see 5.2 below)</td>
<td>* if present</td>
</tr>
<caption>Table 2. Uniform Output Definition</caption>
</table>
<p>Examples of the uniform output are: 0.85 [5.5], 1.00 [8.0]*, 0.90 [4.0], and 0.77 [450].</p>
<p><strong>Subscripted Output (Optional)</strong></p>
<p>Tools may display Apdex values with a T shown as a mathematical subscript.  For example, an Apdex value of 0.75 that is based upon a T of 4 seconds is shown as 0.754.</p>
<p>When T has a decimal component, as defined in section 3.3, then the exact value of T must be shown (example: 0.754.5).  In order to make the index easy to read, tools may drop the decimal portion of T if it is zero (example: 0.754.0 becomes 0.754).<br />
<!--close Apdex--></div>
<p>&nbsp;</p>
<div class="Apdex-G part5">
<strong>[5.2] Uniform Output File (Mandatory)</strong></p>
<p>Separate tools may be used to calculate Apdex index values from measurement data and to report Apdex index values. To support the exchange of index values between Apdex analysis and reporting tools, all Apdex analysis tools must support the Apdex Uniform Output format. A tool shall display, print, and export Apdex-G values to an ASCII file having a comma-separated values (CSV) format. For this purpose, Apdex-G incorporates the IETF specification of CSV published in RFC 4180 (see section [6] References). </p>
<p>A Uniform Output File is composed of a uniform output header record, followed by one or more uniform output data records. The header record contains the same number of comma-separated fields as all data records in the file. Fields in the header record contain fixed literal values, or names that correspond to each field in the data records. The content of a uniform output header and data records are described in Tables 2 and 3 below. In Table 2, each element except the last is followed by a comma. </p>
<table class="text" id="table5">
<tr>
<th class="width10" rowspan="2">Element Number</th>
<th class="width25" rowspan="2">Definition</th>
<th class="width25" colspan="2">Header Record</th>
<th class="width40" colspan="2">Data Record</th>
</tr>
<tr>
<th class="width5">Type</th>
<th class="width20">Content</th>
<th class="width5">Type</th>
<th class="width35">Content</th>
</tr>
<tr>
<td>1</td>
<td>Apdex data record identifier</td>
<td>Literal</td>
<td>Apdex Header</td>
<td>Literal</td>
<td>Apdex</td>
</tr>
<tr>
<th colspan="2"><strong>Report Group Metadata Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>2</td>
<td><strong>A</strong>pdex <strong>R</strong>eport <strong>G</strong>roup section identifier</td>
<td>Literal</td>
<td>ARG</td>
<td>Literal</td>
<td>ARG</td>
</tr>
<tr>
<td>3</td>
<td>Report Group Name</td>
<td>Literal</td>
<td>Report Group</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>4</td>
<td>Report Group Description</td>
<td>Literal</td>
<td>Description</td>
<td>Text String</td>
<td>Defined by tool or user. <em>See note 1 below</em></td>
</tr>
<tr>
<td>5</td>
<td>Measurement Type</td>
<td>Literal</td>
<td>Type</td>
<td>Name</td>
<td>G, or addendum type (e.g. R for Apdex-R)</td>
</tr>
<tr>
<td>6</td>
<td>Measurement Subtype</td>
<td>Literal</td>
<td>Subtype</td>
<td>Name</td>
<td>Values specified in an addendum for this measurement type</td>
</tr>
<tr>
<td>7</td>
<td>Application</td>
<td>Literal</td>
<td>Application</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>8</td>
<td>User Group</td>
<td>Literal</td>
<td>User Group</td>
<td>Name</td>
<td>Defined by tool or user</td>
</tr>
<tr>
<td>9</td>
<td>Time Period Start</td>
<td>Literal</td>
<td>Start Time</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<td>10</td>
<td>Time Period End</td>
<td>Literal</td>
<td>End Time</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<th colspan="2"><strong>Input Data Summary Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>11</td>
<td><strong>A</strong>pdex <strong>D</strong>ata <strong>S</strong>ummary section identifier</td>
<td>Literal</td>
<td>ADS</td>
<td>Literal</td>
<td>ADS</td>
</tr>
<tr>
<td>12</td>
<td>Sample Count</td>
<td>Literal</td>
<td>Total Samples</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>13</td>
<td>Satisfied Zone Count</td>
<td>Literal</td>
<td>Satisfied Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>14</td>
<td>Tolerating Zone Count</td>
<td>Literal</td>
<td>Tolerating Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>15</td>
<td>Frustrated Zone Count</td>
<td>Literal</td>
<td>Frustrated Count</td>
<td>Number</td>
<td>Integer</td>
</tr>
<tr>
<td>16</td>
<td>Earliest Sample Timestamp</td>
<td>Literal</td>
<td>First Sample</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<td>17</td>
<td>Latest Sample Timestamp</td>
<td>Literal</td>
<td>Last Sample</td>
<td>Timestamp</td>
<td>ISO 8601: [YYYY][MM][DD]T[hh][mm][ss]Z</td>
</tr>
<tr>
<th colspan="2"><strong>Apdex Index Section</strong></th>
<th colspan="2">Header Record</th>
<th colspan="2">Data Record</th>
</tr>
<tr>
<td>18</td>
<td><strong>A</strong>pdex <strong>I</strong>nde<strong>X</strong> section identifier</td>
<td>Literal</td>
<td>AIX</td>
<td>Literal</td>
<td>AIX</td>
</tr>
</ul>
<tr>
<td>19</td>
<td>Apdex index value</td>
<td>Literal</td>
<td>Apdex Index</td>
<td>Number</td>
<td>Decimal in range [0.00, 1.00]</td>
</tr>
<tr>
<td>20</td>
<td>Satisfied Zone Identifier</td>
<td>Literal</td>
<td>S</td>
<td>Literal</td>
<td>S</td>
</tr>
<tr>
<td>21</td>
<td>Satisfied Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>22</td>
<td>Tolerating Zone Identifier</td>
<td>Literal</td>
<td>T</td>
<td>Literal</td>
<td>T</td>
</tr>
<tr>
<td>23</td>
<td>Tolerating Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>24</td>
<td>Frustrated Zone Identifier</td>
<td>Literal</td>
<td>F</td>
<td>Literal</td>
<td>F</td>
</tr>
<tr>
<td>25</td>
<td>Frustrated Thresholds(s)</td>
<td>Group</td>
<td>Performance Interval Names</td>
<td>Group</td>
<td>Interval Group, see Table 3</td>
</tr>
<tr>
<td>26</td>
<td><strong>S</strong>mall <strong>G</strong>roup <strong>I</strong>ndicator</td>
<td>Literal</td>
<td>SGI</td>
<td>Literal</td>
<td>* or NS</td>
</tr>
<caption>Table 2. Layout of a Uniform Output Data Record</caption>
</table>
<p><strong>Note 1</strong>: To avoid ambiguity, tool creators must ensure that Report Group description fields do not contain commas, because commas separate fields in the Uniform Output format.</p>
<p><strong>Performance Interval Names</strong> </p>
<p>If a tool has obtained user-specified names for performance intervals, those names should be included in the corresponding fields of the header record (elements 21, 23, and 25 in Table 2). If user-specified names are not available, distinct default names must be supplied for each performance interval field in the header record. See also section [2.5.1] Thresholds and Performance Intervals. </p>
<p><strong>Performance Interval Groups</strong></p>
<p>In Table 2, each Interval Group (elements 21, 23, and 25)  is composed of one or more Performance Interval elements, separated by commas. Table 3 shows the structure of <strong>a single</strong> Performance Interval element, therefore the components shown in Table 3 are <strong>not</strong> separated by commas.</p>
<table class="text" id="table3">
<tr>
<th class="width10" rowspan="2">Component</th>
<th class="width25" rowspan="2">Definition</th>
<th class="width25" colspan="2">Header Record</th>
<th class="width40" colspan="2">Data Record</th>
</tr>
<tr>
<th class="width5">Type</th>
<th class="width20">Content</th>
<th class="width5">Type</th>
<th class="width35">Content</th>
</tr>
<tr>
<td>1</td>
<td>Opening backet</td>
<td rowspan="5">Name</td>
<td rowspan="5">Performance Interval Name</td>
<td>Literal</td>
<td>( or [</td>
</tr>
<tr>
<td>2</td>
<td>Lower threshold</td>
<td>Number</td>
<td>Decimal number -- see [3.4]</td>
</tr>
<tr>
<td>3</td>
<td>Colon</td>
<td>Literal</td>
<td>: <em>See note 2 below</em></td>
</tr>
<tr>
<td>4</td>
<td>Upper threshold</td>
<td>Number</td>
<td>Decimal number &#8212; see [3.4]</td>
</tr>
<tr>
<td>5</td>
<td>Closing backet</td>
<td>Literal</td>
<td>) or ]</td>
</tr>
<caption>Table 3. Components of a Performance Interval within a Uniform Output Data Record</caption>
</table>
<p><strong>Note 2</strong>: Interval Notation, described in References [6.8], uses a comma to separate the upper and lower bounds of an interval. To avoid ambiguity Apdex substitutes a colon, because commas separate fields in the Uniform Output format.</p>
<p><strong>Optional Sections</strong></p>
<p>The Uniform Output File format comprises three sections, each having its own identifier (fields 2, 11, and 18). The Report Group Metadata Section and the Apdex Index Section are required, because they contain the necessary data for reporting Apdex scores. The Input Data Summary Section is optional, but tool creators are encouraged to produce this data at the analysis stage, and to pass it to Reporting tools. Reporting tools can use this data to provide additional context for Apdex scores. If the Input Data Summary Section is omitted, fields 11 through 17 must be omitted from the header and data records. </p>
<p><strong>Examples of the uniform output</strong></p>
<p>Examples of the uniform output are:</p>
<p>       Apdex Header,ARG,,,,,,,,,AIX,Apdex Index,S,Green,T,Yellow,F,Red,SGI  CRLF  <em>user labels</em><br />
       Apdex,ARG,,,,,,,,,AIX,0.72,S,[0:4],T,(4:16],F,(16:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.85,S,[0:6],T,(6:20],F,(20:INF),*  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.58,S,[0:3],T,(3:10],F,(10:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.91,S,[0:10],T,(10:30],F,(30:INF)  CRLF</p>
<p>       Apdex Header,ARG,,,,,,,,,AIX,Apdex Index,S,PI3,T,PI2,PI4,F,PI1,PI5,SGI  CRLF  <em>generic labels</em><br />
       Apdex,ARG,,,,,,,,,AIX,0.88,S,(10:12],T,(6:10],(12:16],F,[0:6],(16:INF)  CRLF<br />
       Apdex,ARG,,,,,,,,,AIX,0.96,S,(9:15],T,(6:9],(15:18],F,[0:6],(18:INF)  CRLF</p>
<p>[ <em>More details and examples will be added here</em> ]</p>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<strong>&sect;5.2 Indicating Sample Size</strong></p>
<p>Apdex values are calculated based upon a set of measurements (samples) in the report group. If there are a small number of samples, the tool must still present a result. However, a result for such a small report group must be clearly marked.</p>
<p>A small report group is defined as any number of samples between 0 and 99. Apdex tools will clearly indicate that the result is based upon one of the following scenarios:</p>
<dl>
<dt>No Samples</dt>
<dd>The Apdex calculation could not be performed because there were no samples (NS) within the report group. Where the calculated Apdex value would normally appear, the tool will show an output of NS. Examples: NS [4.0], NS<sub>4</sub></dd>
<dt>Small Group</dt>
<dd>When an Apdex value is the output of a small group (1 to 99) calculation, an asterisk (*) must be appended to that value. Examples: 0.80 [4.0]*, 0.80<sub>4</sub>*.</dd>
</dl>
<p><!--close Apdex--></div>
<div class="Apdex-G rightCol part5">
<strong>[5.3] Indicating Sample Size</strong></p>
<p>Apdex values are calculated based upon a set of measurements (samples) in the report group.  If there are a small number of samples, the tool must still present a result.  However, a result for such a small report group must be clearly marked.</p>
<p>A small report group is defined as one having fewer than 100 samples. An addendum may modify this definition to be appropriate for a particular measurement domain. Apdex tools will clearly indicate that the result is based upon one of the following scenarios:</p>
<dl class="glossary">
<dt>No Samples</dt>
<dd>The Apdex calculation could not be performed because there were no samples (NS) within the report group.  Where the calculated Apdex value would normally appear, the tool will show an output of NS [T], where [T] is the normal threshold display (see section [5.1.1]).</dd>
<dt>Small Group</dt>
<dd>When an Apdex value is the output of a small group calculation, an asterisk (*) must be appended to that value, for example: 0.84* [T], where [T] is the normal threshold display (see section [5.1.1]). </dd>
</dl>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<strong>&sect;5.4 Additional Reporting Rules</strong></p>
<p>Some tool vendors may wish to add graphical aids to report the Apdex value. This is an optional feature, but, if implemented, it must follow these guidelines. </p>
<p>Two forms of alternative representations are permitted: the rating (a word), and a color indication. The following table shows the fixed set of alternative modes of representing the Apdex. The table shows examples where the target threshold (T) is 4 seconds. </p>
<p>The color indication can be determined by the vendor in line with their existing product set, however a legend must clearly indicate which color represents each Apdex rating.</p>
<p><strong>Table 3 – Apdex Qualitative Reporting Rules</strong><br />
(Examples where T=4)</p>
<table class="text" id="table6A">
<tr>
<th class="width30"><strong>Apdex Value Range</strong></th>
<th class="width25"><strong>Rating</strong></th>
<th class="width45"><strong>Color Indication</strong></th>
</tr>
<tr>
<td>0.94<sub>4</sub> to 1.00<sub>4</sub></td>
<td>Excellent<sub>4</sub></td>
<td>Determined by vendor (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.85<sub>4</sub> to 0.93<sub>4</sub></td>
<td>Good<sub>4</sub></td>
<td>Determined by vendor (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.70<sub>4</sub> to 0.84<sub>4</sub></td>
<td>Fair<sub>4</sub></td>
<td>Determined by vendor (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.50<sub>4</sub> to 0.69<sub>4</sub></td>
<td>Poor<sub>4</sub></td>
<td>Determined by vendor (with a 4 plus a color indication)</td>
</tr>
<tr>
<td>0.00<sub>4</sub> to 0.49<sub>4</sub></td>
<td>Unacceptable<sub>4</sub> or UNAX<sub>4</sub></td>
<td>Determined by vendor (with a 4 plus a color indication)</td>
</tr>
<tr>
<td colspan="3"><strong>Low Sample Cases</strong></td>
</tr>
<tr>
<td>0.NS<sub>4</sub></td>
<td>NoSample<sub>4</sub></td>
<td>Determined by vendor (with a 4 plus an NS inside color indication)</td>
</tr>
<tr>
<td>0.85<sub>4</sub>*</td>
<td>Good<sub>4</sub>*</td>
<td>Determined by vendor (with a 4 plus an * inside color indication)</td>
</tr>
<caption>Table 3. Apdex Qualitative Reporting Rules</caption>
</table>
<p><em>Note.  In the current specification, the &#8216;Apdex Value Range&#8217; column of Table 3 contains a typo in the &#8216;NoSample&#8217; row, which (as shown above) reads &#8217;0.NS<sub>4</sub>&#8216;. That cell should read &#8216;NS<sub>4</sub>&#8216;.</em><br />
<!--close Apdex--></div>
<div class="Apdex-G rightCol part5">
<strong>[5.4] Apdex Quality Ratings</strong></p>
<p>Some tool creators may wish to assign quality ratings to Apdex value ranges, and to present those ratings graphically. This is an optional feature, but, if implemented, it must follow these guidelines. </p>
<p>Two alternative representations are permitted for quality ratings: a rating word or a color indication. Table 6 below lists the value ranges to be used when assigning a rating to an Apdex value. The table shows examples for the target threshold [T], where [T] is the normal threshold display as described in section [5.1.1]. </p>
<p>Colors may be selected by the vendor for consistency with other products, or based on user-supplied preferences. However a legend must clearly indicate which color represents each Apdex rating. </p>
<table class="text" id="table6B">
<tr>
<th class="width30"><strong>Apdex Value Range</strong></th>
<th class="width25"><strong>Rating Word</strong></th>
<th class="width45"><strong>Color Indication</strong></th>
</tr>
<tr>
<td>0.94 to 1.00 [T]</td>
<td>Excellent [T]</td>
<td>Determined by vendor (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.85 to 0.93 [T]</td>
<td>Good [T]</td>
<td>Determined by vendor (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.70 to 0.84 [T]</td>
<td>Fair [T]</td>
<td>Determined by vendor (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.50 to 0.69 [T]</td>
<td>Poor [T]</td>
<td>Determined by vendor (with [T] plus a color indication)</td>
</tr>
<tr>
<td>0.00 to 0.49 [T]</td>
<td>Unacceptable [T] or UNAX [T]</td>
<td>Determined by vendor (with [T] plus a color indication)</td>
</tr>
<tr>
<td colspan="3"><strong>Low Sample Cases</strong></td>
</tr>
<tr>
<td>NS [T]</td>
<td>NoSample [T]</td>
<td>Determined by vendor (with [T] plus an NS inside color indication)</td>
</tr>
<tr>
<td>0.85* [T]</td>
<td>Good* [T]</td>
<td>Determined by vendor (with [T] plus an * inside color indication)</td>
</tr>
<caption>Table 6. Rules for Apdex Quality Ratings</caption>
</table>
<p><strong>Note:</strong> An addendum may specify alternative colors [<em>TBD: and/or value ranges?</em>] to be applied when reporting Apdex scores for a particular measurement domain.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><strong>Public Comment</strong></p>
<p>As usual, all these proposals are open for public discussion. Please use the comment form below to contribute any comments, suggestions, or questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/08/apdex-g-section-5-reporting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apdex-G Section [4] Calculating the Index</title>
		<link>http://apdex.org/index.php/2010/08/apdex-g-section-4-calculating-the-index/</link>
		<comments>http://apdex.org/index.php/2010/08/apdex-g-section-4-calculating-the-index/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 19:51:04 +0000</pubDate>
		<dc:creator>Chris Loosley</dc:creator>
				<category><![CDATA[Apdex Specification]]></category>
		<category><![CDATA[How Apdex Works]]></category>

		<guid isPermaLink="false">http://apdex.org/blog/?p=2059</guid>
		<description><![CDATA[ p { clear: left; } .clear { clear: both; } .box { border: 1px solid #DDDDDD; padding: 5px; } .clearBox { margin: 0 40px; } .textBox { margin: 0 40px; border: 1px solid #DDDDDD; background-color: #E8E8E8; padding: 10px; } .specBox { min-width: 500px; z-index: 1000; position: relative; overflow: visible; } .Apdex { border: [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
p { clear: left; }
.clear { clear: both; }
.box {
     border: 1px solid #DDDDDD;
     padding: 5px;
     }
.clearBox {
     margin: 0 40px;
     }
.textBox {
     margin: 0 40px;
     border: 1px solid #DDDDDD;
     background-color: #E8E8E8; 
     padding: 10px;
     }
.specBox { 
     min-width: 500px; 
     z-index: 1000;
     position: relative;
     overflow: visible;
     }
.Apdex { 
     border: 1px solid #DDDDDD; 
     padding: 5px;
     background-color: #F0F0D0;
     }
.Apdex-G { 
     border: 1px solid #6D83B2; 
     padding: 5px;
     }
.leftCol { float: left; width: 32%; display: block; font-size: 85%;}
.rightCol { float: right; width: 62%; }
.leftHalf { float: left; width: 47%; }
.rightHalf { float: right; width: 47%; }
.part1 { background-color: #FFFFF0; }
.part2 { background-color: #FFF8F0; }
.part3 { background-color: #F8F8F0; }
.part4 { background-color: #F8F0F0; }
.part5 { background-color: #F0F0F0; }
.part6 { background-color: #E8F0F0; }
.part7 { background-color: #E8E8F0; }
.red { background-color: #FE0000 !important; }
.yellow { background-color: #FDFE00 !important; }
.green { background-color: #339933 !important; }
.dark { color: #888888; }
.quote {
     border-left: 7px solid #CCCCCC; 
     padding: 10px 100px 20px 25px;
     }
.quoteSource {
     float: right;
     padding-right: 25px;
     font-style: italic;
     }
cite { 
     font-style: normal; 
     font-size: smaller; 
     font-variant: small-caps; 
     }
cite:before { content: "["; }
cite:after { content: "]"; }
dl.bibliography dt { 
     font-style: normal; 
     font-size: small; 
     font-variant: small-caps;
     float: left; 
     clear: left; 
     width: 6em;
     margin: 0 5px 5px 0; 
     border: 1px solid #CCCCCC; 
     padding: 2px;
     }
dl.bibliography dd { 
     margin-left: 6.5em; 
     border-left: 5px solid #FFFFFF; 
     margin-bottom: 10px;
     }
dl.glossary dt { 
     float: left; 
     clear: left; 
     border: 1px solid #DDDDDD;
     width: 10em;
     margin: 0 5px 5px 0; 
     padding: 2px;
     }
.leftCol  dl.glossary dt,
.rightCol dl.glossary dt { 
     width: 7em;
     }
dl.glossary dd { 
     margin-left: 11em; 
     padding-left: 5px; 
     margin-bottom: 10px;
     }
.leftCol  dl.glossary dd,
.rightCol dl.glossary dd { 
     margin-left: 8em; 
     }</p>
<p>table.text {
     margin: 10px 40px; 
     border:1px solid #DDDDDD;
     }
.text caption {
     caption-side: bottom;
     }
.text td {
     vertical-align: top;
     }
.text caption { 
     text-align: left; 
     font-style: italic; 
     margin-bottom: 10px; 
     }</p>
<p>.width05 { width: 5%; }
.width08 { width: 8%; }
.width10 { width: 10%; }
.width12 { width: 12%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width24 { width: 24%; }
.width30 { width: 30%; }
.width36 { width: 36%; }
.width40 { width: 40%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }</p>
</style>
<p><em>I’m writing a series of posts about Generalizing Apdex. This is #18. To minimize confusion, section numbers in the current spec are accompanied by the section symbol, like this: &sect;1. The corresponding section numbers in the generalized spec, Apdex-G, are enclosed in square brackets, like this: [1].</em></p>
<p>I have been working systematically through the process of generalizing the current Apdex spec. Along the way, I have been skipping over parts of the current spec to work on the paragraphs that presented challenges. I am now going back to fill in those less contentious paragraphs, posting updated drafts of each section of the Apdex-G spec. The first three are <a href="http://apdex.org/?p=1987">Section [1] Introduction</a>, <a href="http://apdex.org/?p=2020">Section [2] Index Overview</a>, and <a href="http://apdex.org/?p=2054">Section [3] Calculation Inputs</a>; today I continue with Section [4] Calculating the Index.</p>
<p><span id="more-2059"></span><br />
<strong>Summary</strong> </p>
<p>The first draft of this section of Apdex-G was posted as <a href="http://apdex.org/?p=922">Configurable Scoring in Apdex-G</a>. In this section, I have generalized and reorganized the material in Apdex section &sect;4 as follows:</p>
<ul>
<li>The introduction generalizes the language in the current spec.</li>
<li>Section [4.1] corresponds to Apdex section &sect;4.1. I have generalized the language, removing references to response times. Since the first draft, I have revised the references to earlier sections, making them more complete. </li>
<li>Section [4.1.1] corresponds to the last paragraph of Apdex section &sect;4.1. I have rewritten this section, generalizing the language and adding the second paragraph. I am not sure if the third paragraph is required.</li>
<li>Section [4.1.2] is new. It reflects the discussion of alternative scoring methods published with the first draft, and extends the conclusion with a rule for the implementation of a sliding scale.</li>
<li>Section [4.2] corresponds to Apdex section &sect;4.2. I have generalized the language, and tried to enumerate the possible classes of errors in a general way. This section was discussed briefly with the first draft.</li>
</ul>
<p>Because this material includes some drafts posted previously, some of which I have edited, everything in this series of posts is considered the second draft of Apdex-G. After the second draft is posted, I will begin work on Apdex-R, the addendum addressing measurements of response times. Apdex-R will cover all the domain-specific content of the current spec that has been excised from Apdex-G. </p>
<div class="specBox">
<div class="Apdex leftCol">
<h3>Apdex, current spec:</h3>
<p><!--close Apdex--></div>
<div class="Apdex-G rightCol part4" style="font-size: 85%;">
<h3>Apdex-G, second draft:</h3>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<strong>&sect;4. Calculating the Index</strong><br />
The Apdex does not entail new measurements – rather it is a new way to represent existing measurements, calculated by counting the measurement samples in each of the performance zones.</p>
<p><strong>&sect;4.1 The Apdex Formula</strong><br />
The Apdex is calculated for each report group using the following equation:</p>
<p>Given,</p>
<ul>
A report group that defines a set of measurement samples, and a target threshold T (seconds) between the satisfied-tolerating zones of performance</ul>
<p>Where,</p>
<ul>
F defines the threshold between the tolerating-frustrated zones of performance,<br />
and<br />
F = 4T
</ul>
<p>Such that,</p>
<ul>
There are counts of response time measurement samples within the above defined performance zones of:<br />
Satisfied_Count = number of satisfied response time samples,<br />
Tolerating_Count = number of tolerating response time samples,<br />
Total_Samples = number of all samples in the report group</ul>
<p>Then,</p>
<ul>
<img src="http://apdex.org/Wordpress/wp-content/uploads/2010/08/Apdex-Formula.jpg" alt="Apdex Formula" title="Apdex Formula" width="380" height="75" class="aligncenter size-full wp-image-1788" />
</ul>
<p><!--close Apdex--></div>
<div class="Apdex-G rightCol part4">
<strong>[4] Calculating the Index</strong></p>
<p>The Apdex does not entail new measurements, rather it is a new way to represent an existing set of measurements, reflecting the degree to which those measurements achieve designated targets. </p>
<p><strong>[4.1] The Standard Apdex Formula</strong></p>
<p>The Apdex index is calculated as follows. Given:</p>
<ul>
<strong>Measurement data</strong> that meets the requirements of section [3.1]</p>
<p><strong>A report group</strong> comprising measurement samples, defined as specified in sections [3.2] and [3.3]</p>
<p><strong>Three performance zones</strong> (Satisfied, Tolerating, Frustrated), defined as specified in sections [2.5], [2.5.1], [2.5.2], and [3.4]</p>
<p><strong>An allocation process</strong> that assigns each sample to a performance zone, and counts all samples, so that:</p>
<p><strong>Total_Samples</strong> is the number of all samples in the report group</p>
<p><strong>Satisfied_Count</strong> is the number of report group samples in the Satisfied Zone</p>
<p><strong>Tolerating_Count</strong> is the number of report group samples in the Tolerating Zone
</ul>
<p>Then the Apdex index for the report group is:</p>
<ul>
<img src="http://apdex.org/Wordpress/wp-content/uploads/2010/08/Apdex-Formula.jpg" alt="Apdex Formula" title="Apdex Formula" width="380" height="75" class="aligncenter size-full wp-image-1788" />
</ul>
<p><!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
Note that measurements in the frustrated zone are counted in the number of total user samples in the denominator.  To achieve the optimal Apdex value of 1.00, all users must experience satisfactory performance.  If some users see tolerating or frustrating performance, then the index rapidly dips below 1.00.  For example, if 80% of users are satisfied and 10% are tolerating, while the remaining 10% are frustrated, the index is 0.85.</p>
<p><!--close Apdex--></div>
<div class="Apdex-G rightCol part4">
<strong>[4.1.1] The Standard Formula in Action</strong></p>
<p>Note that measurements in the Frustrated zone are counted in Total_Samples, the denominator of the formula, but do not contribute to the numerator.  </p>
<p>Another way to describe the Apdex index is as the weighted proportion of satisfactory samples in the report group. Samples in the Satisfied Zone have weights of 1, those in the Tolerating Zone have weights of &frac12;, and those in the Frustrated Zone have weights of 0. </p>
<div class="box">
[ <em>TBD:</em> ] Therefore to achieve the optimal Apdex value of 1.00, all samples must represent the Satisfaction Level of &#8216;Satisfied&#8217;.  If any samples reflect Tolerating or Frustrated performance, the index drops below 1.00.  For example, if 80% of samples are Satisfied and 10% are Tolerating, while the remaining 10% are Frustrated, the index is 0.85.
</div>
<p><strong>[4.1.2] Alternative Scoring in the Tolerating Zone</strong></p>
<p>If the characteristics of a particular measurement and reporting domain justify using graduated weights within the Tolerating zone, an Addendum may substitute an alternative scoring function for the factor <em>Tolerating_Count/2</em> in the standard formula. Any alternative scoring function (such as a sliding scale) must have the property that sample values (or value ranges) closest to the satisfied zone receive the greatest weight, in accordance with the index objectives (see [2.1] item 6).<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<div class="specBox">
<div class="Apdex leftCol">
<strong>&sect;4.2 Dealing with Exceptions</strong></p>
<p>User aborts are factored into the above equation.  A user abort occurs when a user enters a new inquiry before the system responds with the original inquiry.  A user-generated abort stops the timing of the Task.  Therefore, user aborts can fall into any of the satisfied, tolerating, frustrated zones.  If a tool can detect a clear server-generated abort, then it is handled differently.  Server aborts (e.g., TCP closes within a Task) are counted as a frustrated sample regardless of the Task time measurement.</p>
<p>Some tools may have the optional capability to interpret the application to a greater level of detail than the minimal Task boundary.  For example, they may be able to detect user relevant information at the layer of the application logic. If the tool can detect Task errors, then these application errors (e.g. Web page 404 replies) are counted as frustrated samples.</p>
<p><!--close Apdex--></div>
<div class="Apdex-G rightCol part4">
<strong>[4.2] Dealing with Exceptions</strong> </p>
<p>When a Report Group contains samples marked as errors or exceptions, tools performing the Apdex calculation should classify those measurements as follows:</p>
<p><strong>User Error:</strong> Exceptions caused by user actions may be classified as Satisfied, Tolerating, or Frustrated in the same way as any other measurement, if the necessary field(s) are present in the sample. If the field(s) required to perform classification are absent, user-generated exceptions should be classified as Satisfied.</p>
<p><strong>Warning:</strong> Exceptions indicating abnormal system or process behavior may be classified as Tolerating if the system or process returned immediately to normal operation without requiring abnormal intervention.</p>
<p><strong>Failure:</strong> Exceptions indicating a system or process failure that is experienced by the user should be classified as Frustrated.</p>
<p><strong>Measurement Error:</strong> Exceptions indicating measurement errors should be discarded from the Report Group.</p>
<p><strong>Unknown:</strong> Exceptions not amenable to classification should be discarded from the Report Group. However, tool creators must attempt to minimize the number of error types assigned to this category.</p>
<p>Because all exceptions are specific to a particular measurement domain, an addendum may specify domain-specific refinements to these general guidelines.<br />
<!--close Apdex-G--></div>
<div class="clear"></div>
<p><!--close specBox--></div>
<p><strong>Public Comment</strong></p>
<p>As usual, all these proposals are open for public discussion. Please use the comment form below to contribute any comments, suggestions, or questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://apdex.org/index.php/2010/08/apdex-g-section-4-calculating-the-index/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  apdex.org/index.php/feed/ ) in 1.60685 seconds, on Feb 23rd, 2012 at 8:06 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 23rd, 2012 at 9:06 am UTC -->
