~percona-toolkit-dev/percona-toolkit/docu-ptc-rbr-limitation

« back to all changes in this revision

Viewing changes to docs/dev/html/files/modules/EventAggregator-pm.html

  • Committer: Daniel Nichter
  • Date: 2011-07-14 19:08:47 UTC
  • Revision ID: daniel@percona.com-20110714190847-lggalkuvdrh7c4jp
Add standard pkg files (COPYING, README, etc.), percona-toolkit.pod, and user docs.  Remove dev/docs/html.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
2
 
 
3
 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>EventAggregator</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
4
 
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
5
 
 
6
 
<!--  Generated by Natural Docs, version 1.52 -->
7
 
<!--  http://www.naturaldocs.org  -->
8
 
 
9
 
<!-- saved from url=(0026)http://www.naturaldocs.org -->
10
 
 
11
 
 
12
 
 
13
 
 
14
 
<div id=Content><div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="EventAggregator"></a>EventAggregator</h1><div class=CBody><p>EventAggregator aggregates event values and calculates basic statistics.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#EventAggregator" >EventAggregator</a></td><td class=SDescription>EventAggregator aggregates event values and calculates basic statistics.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#EventAggregator.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.@buck_vals" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">@buck_vals</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#EventAggregator.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.new" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">new</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.reset_aggregated_data" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">reset_aggregated_data</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.aggregate" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">aggregate</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator._make_unrolled_loops" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">_make_unrolled_loops</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.results" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">results</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.set_results" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">set_results</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.stats" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">stats</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.attributes" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">attributes</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.set_attribute_types" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">set_attribute_types</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.type_for" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">type_for</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.make_handler" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">make_handler</a></td><td class=SDescription>Make an attribute handler subroutine for <a href="#EventAggregator.aggregate" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt4', 'link13')" onMouseOut="HideTip('tt4')">aggregate()</a>. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.bucket_idx" id=link14 onMouseOver="ShowTip(event, 'tt13', 'link14')" onMouseOut="HideTip('tt13')">bucket_idx</a></td><td class=SDescription>Return the bucket number for the given value. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.bucket_value" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">bucket_value</a></td><td class=SDescription>Return the value corresponding to the given bucket. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#EventAggregator.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.@buck_tens" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">@buck_tens</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#EventAggregator.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.buckets_of" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">buckets_of</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.calculate_statistical_metrics" id=link18 onMouseOver="ShowTip(event, 'tt17', 'link18')" onMouseOut="HideTip('tt17')">calculate_statistical_metrics</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator._calc_metrics" id=link19 onMouseOver="ShowTip(event, 'tt18', 'link19')" onMouseOut="HideTip('tt18')">_calc_metrics</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.metrics" id=link20 onMouseOver="ShowTip(event, 'tt19', 'link20')" onMouseOut="HideTip('tt19')">metrics</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.top_events" id=link21 onMouseOver="ShowTip(event, 'tt20', 'link21')" onMouseOut="HideTip('tt20')">top_events</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.add_new_attributes" id=link22 onMouseOver="ShowTip(event, 'tt21', 'link22')" onMouseOut="HideTip('tt21')">add_new_attributes</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.get_attributes" id=link23 onMouseOver="ShowTip(event, 'tt22', 'link23')" onMouseOut="HideTip('tt22')">get_attributes</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.events_processed" id=link24 onMouseOver="ShowTip(event, 'tt23', 'link24')" onMouseOut="HideTip('tt23')">events_processed</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator.make_alt_attrib" id=link25 onMouseOver="ShowTip(event, 'tt24', 'link25')" onMouseOut="HideTip('tt24')">make_alt_attrib</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.merge" id=link26 onMouseOver="ShowTip(event, 'tt25', 'link26')" onMouseOut="HideTip('tt25')">merge</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator._add_attrib_vals" id=link27 onMouseOver="ShowTip(event, 'tt26', 'link27')" onMouseOut="HideTip('tt26')">_add_attrib_vals</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator._deep_copy_attribs" id=link28 onMouseOver="ShowTip(event, 'tt27', 'link28')" onMouseOut="HideTip('tt27')">_deep_copy_attribs</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator._deep_copy_attrib_vals" id=link29 onMouseOver="ShowTip(event, 'tt28', 'link29')" onMouseOut="HideTip('tt28')">_deep_copy_attrib_vals</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator.calculate_apdex" id=link30 onMouseOver="ShowTip(event, 'tt29', 'link30')" onMouseOut="HideTip('tt29')">calculate_apdex</a></td><td class=SDescription>Calculate the Apdex score for the given T and response times. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#EventAggregator._get_value" id=link31 onMouseOver="ShowTip(event, 'tt30', 'link31')" onMouseOut="HideTip('tt30')">_get_value</a></td><td class=SDescription>Get the value of the attribute (or one of its alternatives) from the event. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#EventAggregator._d" id=link32 onMouseOver="ShowTip(event, 'tt31', 'link32')" onMouseOut="HideTip('tt31')">_d</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
15
 
 
16
 
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.Variables"></a>Variables</h3></div></div>
17
 
 
18
 
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.@buck_vals"></a>@buck_vals</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">my @buck_vals</td></tr></table></blockquote></div></div></div>
19
 
 
20
 
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.Functions"></a>Functions</h3></div></div>
21
 
 
22
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.new"></a>new</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub new</td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>%args</td><td class=CDLDescription>Arguments</td></tr></table><h4 class=CHeading>Required Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>groupby</td><td class=CDLDescription>Attribute to group/aggregate classes by.</td></tr><tr><td class=CDLEntry>worst</td><td class=CDLDescription>Attribute which defines the worst event in a class.&nbsp; Samples of the worst attribute are saved.</td></tr></table><h4 class=CHeading>Optional Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>attributes</td><td class=CDLDescription>Hashref of attributes to aggregate.&nbsp;  Keys are attribute names used in the EventAggregator object and values are attribute names used to get values from events.&nbsp; Multiple attrib names in the arrayref specify alternate attrib names in the event.&nbsp;  Example: Fruit =&gt; [&lsquo;apple&rsquo;, &lsquo;orange&rsquo;].&nbsp;  An attrib called &ldquo;Fruit&rdquo; will be created using the event&rsquo;s &ldquo;apple&rdquo; value or, if that attrib doesn&rsquo;t exist, its &ldquo;orange&rdquo; value.&nbsp; If this option isn&rsquo;t specified, then then all attributes#                       are auto-detected and aggregated.</td></tr><tr><td class=CDLEntry>ignore_attributes</td><td class=CDLDescription>Arrayref of auto-detected attributes to ignore.&nbsp; This does not apply to the attributes specified with the optional attributes option above.</td></tr><tr><td class=CDLEntry>unroll_limit</td><td class=CDLDescription>If this many events have been processed and some handlers haven&rsquo;t been generated yet (due to lack of sample data), unroll the loop anyway.&nbsp; (default 1000)</td></tr><tr><td class=CDLEntry>attrib_limit</td><td class=CDLDescription>Sanity limit for attribute values.&nbsp;  If the value exceeds the limit, use the last-seen for this class; if none, then 0.</td></tr><tr><td class=CDLEntry>type_for</td><td class=CDLDescription>Hashref of attribute=&gt;type pairs.&nbsp;  See $type in <a href="#EventAggregator.make_handler" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt12', 'link33')" onMouseOut="HideTip('tt12')">make_handler()</a> for the list of types.</td></tr></table><h4 class=CHeading>Returns</h4><p>EventAggregator object</p></div></div></div>
23
 
 
24
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.reset_aggregated_data"></a>reset_aggregated_data</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub reset_aggregated_data</td></tr></table></blockquote></div></div></div>
25
 
 
26
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.aggregate"></a>aggregate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub aggregate</td></tr></table></blockquote></div></div></div>
27
 
 
28
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator._make_unrolled_loops"></a>_make_unrolled_loops</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _make_unrolled_loops</td></tr></table></blockquote></div></div></div>
29
 
 
30
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.results"></a>results</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub results</td></tr></table></blockquote></div></div></div>
31
 
 
32
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.set_results"></a>set_results</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub set_results</td></tr></table></blockquote></div></div></div>
33
 
 
34
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.stats"></a>stats</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub stats</td></tr></table></blockquote></div></div></div>
35
 
 
36
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.attributes"></a>attributes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub attributes</td></tr></table></blockquote></div></div></div>
37
 
 
38
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.set_attribute_types"></a>set_attribute_types</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub set_attribute_types</td></tr></table></blockquote></div></div></div>
39
 
 
40
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.type_for"></a>type_for</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub type_for</td></tr></table></blockquote></div></div></div>
41
 
 
42
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.make_handler"></a>make_handler</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub make_handler</td></tr></table></blockquote><p>Make an attribute handler subroutine for <a href="#EventAggregator.aggregate" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt4', 'link34')" onMouseOut="HideTip('tt4')">aggregate()</a>.&nbsp;  Each attribute needs a handler to keep trach of the min and max values, worst sample, etc.&nbsp; Handlers differ depending on the type of attribute (num, bool or string).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>%args</td><td class=CDLDescription>Arguments</td></tr></table><h4 class=CHeading>Required Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>event</td><td class=CDLDescription>Event hashref</td></tr><tr><td class=CDLEntry>attribute</td><td class=CDLDescription>Attribute name</td></tr></table><h4 class=CHeading>Optional Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>alternates</td><td class=CDLDescription>Arrayref of alternate names for the attribute</td></tr><tr><td class=CDLEntry>worst</td><td class=CDLDescription>Keep a sample of the attribute&rsquo;s worst value (default no)</td></tr></table><h4 class=CHeading>Returns</h4><p>A subroutine that can aggregate the attribute.</p></div></div></div>
43
 
 
44
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.bucket_idx"></a>bucket_idx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub bucket_idx</td></tr></table></blockquote><p>Return the bucket number for the given value.&nbsp; Buck numbers are zero-indexed, so although there are 1,000 buckets (NUM_BUCK), 999 is the greatest idx.</p><p>Notice that this sub is not a class method, so either call it from inside this module like bucket_idx() or outside this module like EventAggregator::bucket_idx().</p><p>The bucketed list works this way: each range of values from MIN_BUCK in increments of BUCK_SIZE (that is 5%) we consider a bucket.&nbsp;  We keep NUM_BUCK buckets.&nbsp;  The upper end of the range is more than 1.5e15 so it should be big enough for almost anything.&nbsp;  The buckets are accessed by log base BUCK_SIZE, so floor(log(N)/log(BUCK_SIZE)).&nbsp;  The smallest bucket&rsquo;s index is -284.&nbsp; We shift all values up 284 so we have values from 0 to 999 that can be used as array indexes.&nbsp;  A value that falls into a bucket simply increments the array entry.&nbsp;  We do NOT use POSIX::floor() because it is too expensive.</p><p>This eliminates the need to keep and sort all values to calculate median, standard deviation, 95th percentile, etc.&nbsp;  So memory usage is bounded by the number of distinct aggregated values, not the number of events.</p><p>TODO: could export this by default to avoid having to specific packge::.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$val</td><td class=CDLDescription>Numeric value to bucketize</td></tr></table><h4 class=CHeading>Returns</h4><p>Bucket number (0 to NUM_BUCK-1) for the value</p></div></div></div>
45
 
 
46
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.bucket_value"></a>bucket_value</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub bucket_value</td></tr></table></blockquote><p>Return the value corresponding to the given bucket.&nbsp;  The value of each bucket is the first value that it covers.&nbsp; So the value of bucket 1 is 0.000001000 because it covers [0.000001000, 0.000001050).</p><p>Notice that this sub is not a class method, so either call it from inside this module like bucket_idx() or outside this module like EventAggregator::bucket_value().</p><p>TODO: could export this by default to avoid having to specific packge::.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$bucket</td><td class=CDLDescription>Bucket number (0 to NUM_BUCK-1)</td></tr></table><h4 class=CHeading>Returns</h4><p>Numeric value corresponding to the bucket</p></div></div></div>
47
 
 
48
 
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.Variables"></a>Variables</h3></div></div>
49
 
 
50
 
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.@buck_tens"></a>@buck_tens</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">my @buck_tens</td></tr></table></blockquote></div></div></div>
51
 
 
52
 
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.Functions"></a>Functions</h3></div></div>
53
 
 
54
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.buckets_of"></a>buckets_of</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub buckets_of</td></tr></table></blockquote></div></div></div>
55
 
 
56
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.calculate_statistical_metrics"></a>calculate_statistical_metrics</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub calculate_statistical_metrics</td></tr></table></blockquote></div></div></div>
57
 
 
58
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator._calc_metrics"></a>_calc_metrics</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _calc_metrics</td></tr></table></blockquote></div></div></div>
59
 
 
60
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.metrics"></a>metrics</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub metrics</td></tr></table></blockquote></div></div></div>
61
 
 
62
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.top_events"></a>top_events</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub top_events</td></tr></table></blockquote></div></div></div>
63
 
 
64
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.add_new_attributes"></a>add_new_attributes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub add_new_attributes</td></tr></table></blockquote></div></div></div>
65
 
 
66
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.get_attributes"></a>get_attributes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub get_attributes</td></tr></table></blockquote></div></div></div>
67
 
 
68
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.events_processed"></a>events_processed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub events_processed</td></tr></table></blockquote></div></div></div>
69
 
 
70
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.make_alt_attrib"></a>make_alt_attrib</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub make_alt_attrib</td></tr></table></blockquote></div></div></div>
71
 
 
72
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.merge"></a>merge</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub merge</td></tr></table></blockquote></div></div></div>
73
 
 
74
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator._add_attrib_vals"></a>_add_attrib_vals</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _add_attrib_vals</td></tr></table></blockquote></div></div></div>
75
 
 
76
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator._deep_copy_attribs"></a>_deep_copy_attribs</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _deep_copy_attribs</td></tr></table></blockquote></div></div></div>
77
 
 
78
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator._deep_copy_attrib_vals"></a>_deep_copy_attrib_vals</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _deep_copy_attrib_vals</td></tr></table></blockquote></div></div></div>
79
 
 
80
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator.calculate_apdex"></a>calculate_apdex</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub calculate_apdex</td></tr></table></blockquote><p>Calculate the Apdex score for the given T and response times.&nbsp; <a href="http://www.apdex.org/documents/ApdexTechnicalSpecificationV11_000.pdf" class=LURL target=_top>http://www.apdex.org<wbr>/documents<wbr>/ApdexTechnicalSpecificationV11_000.pdf</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>%args</td><td class=CDLDescription>Arguments</td></tr></table><h4 class=CHeading>Required Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>t</td><td class=CDLDescription>Target threshold</td></tr><tr><td class=CDLEntry>samples</td><td class=CDLDescription>Hashref with bucketized response time values, i.e.&nbsp; { bucket_number =&gt; n_responses, }</td></tr></table><h4 class=CHeading>Returns</h4><p>Apdex score</p></div></div></div>
81
 
 
82
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator._get_value"></a>_get_value</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _get_value</td></tr></table></blockquote><p>Get the value of the attribute (or one of its alternatives) from the event.&nbsp; Undef is a valid value.&nbsp;  If the attrib or none of its alternatives exist in the event, then this sub dies.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>%args</td><td class=CDLDescription>Arguments</td></tr></table><h4 class=CHeading>Required Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>event</td><td class=CDLDescription>Event hashref</td></tr><tr><td class=CDLEntry>attribute</td><td class=CDLDescription>Attribute name</td></tr></table><h4 class=CHeading>Optional Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>alternates</td><td class=CDLDescription>Arrayref of alternate attribute names</td></tr></table><h4 class=CHeading>Returns</h4><p>Value of attribute in the event, possibly undef</p></div></div></div>
83
 
 
84
 
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="EventAggregator._d"></a>_d</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _d</td></tr></table></blockquote></div></div></div>
85
 
 
86
 
</div><!--Content-->
87
 
 
88
 
 
89
 
<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
90
 
 
91
 
 
92
 
<div id=Menu><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Modules</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="Advisor-pm.html">Advisor</a></div></div><div class=MEntry><div class=MFile><a href="AdvisorRules-pm.html">AdvisorRules</a></div></div><div class=MEntry><div class=MFile><a href="BinaryLogParser-pm.html">BinaryLogParser</a></div></div><div class=MEntry><div class=MFile><a href="ChangeHandler-pm.html">ChangeHandler</a></div></div><div class=MEntry><div class=MFile><a href="CompareQueryTimes-pm.html">CompareQueryTimes</a></div></div><div class=MEntry><div class=MFile><a href="CompareResults-pm.html">CompareResults</a></div></div><div class=MEntry><div class=MFile><a href="CompareTableStructs-pm.html">CompareTableStructs</a></div></div><div class=MEntry><div class=MFile><a href="CompareWarnings-pm.html">CompareWarnings</a></div></div><div class=MEntry><div class=MFile><a href="CopyRowsInsertSelect-pm.html">CopyRowsInsertSelect</a></div></div><div class=MEntry><div class=MFile><a href="Daemon-pm.html">Daemon</a></div></div><div class=MEntry><div class=MFile><a href="DSNParser-pm.html">DSNParser</a></div></div><div class=MEntry><div class=MFile><a href="DuplicateKeyFinder-pm.html">DuplicateKeyFinder</a></div></div><div class=MEntry><div class=MFile id=MSelected>EventAggregator</div></div><div class=MEntry><div class=MFile><a href="EventTimeline-pm.html">EventTimeline</a></div></div><div class=MEntry><div class=MFile><a href="ExecutionThrottler-pm.html">ExecutionThrottler</a></div></div><div class=MEntry><div class=MFile><a href="ExplainAnalyzer-pm.html">ExplainAnalyzer</a></div></div><div class=MEntry><div class=MFile><a href="FileIterator-pm.html">FileIterator</a></div></div><div class=MEntry><div class=MFile><a href="ForeignKeyIterator-pm.html">ForeignKeyIterator</a></div></div><div class=MEntry><div class=MFile><a href="GeneralLogParser-pm.html">GeneralLogParser</a></div></div><div class=MEntry><div class=MFile><a href="HTTPProtocolParser-pm.html">HTTPProtocolParser</a></div></div><div class=MEntry><div class=MFile><a href="IndexUsage-pm.html">IndexUsage</a></div></div><div class=MEntry><div class=MFile><a href="InnoDBStatusParser-pm.html">InnoDBStatusParser</a></div></div><div class=MEntry><div class=MFile><a href="KeySize-pm.html">KeySize</a></div></div><div class=MEntry><div class=MFile><a href="LogSplitter-pm.html">LogSplitter</a></div></div><div class=MEntry><div class=MFile><a href="MaatkitTest-pm.html">MaatkitTest</a></div></div><div class=MEntry><div class=MFile><a href="MasterSlave-pm.html">MasterSlave</a></div></div><div class=MEntry><div class=MFile><a href="MemcachedEvent-pm.html">MemcachedEvent</a></div></div><div class=MEntry><div class=MFile><a href="MemcachedProtocolParser-pm.html">MemcachedProtocolParser</a></div></div><div class=MEntry><div class=MFile><a href="MockSth-pm.html">MockSth</a></div></div><div class=MEntry><div class=MFile><a href="MockSync-pm.html">MockSync</a></div></div><div class=MEntry><div class=MFile><a href="MockSyncStream-pm.html">MockSyncStream</a></div></div><div class=MEntry><div class=MFile><a href="MySQLConfig-pm.html">MySQLConfig</a></div></div><div class=MEntry><div class=MFile><a href="MySQLConfigComparer-pm.html">MySQLConfigComparer</a></div></div><div class=MEntry><div class=MFile><a href="MySQLDump-pm.html">MySQLDump</a></div></div><div class=MEntry><div class=MFile><a href="MySQLProtocolParser-pm.html">MySQLProtocolParser</a></div></div><div class=MEntry><div class=MFile><a href="OptionParser-pm.html">OptionParser</a></div></div><div class=MEntry><div class=MFile><a href="OSCCaptureSync-pm.html">OSCCaptureSync</a></div></div><div class=MEntry><div class=MFile><a href="Outfile-pm.html">Outfile</a></div></div><div class=MEntry><div class=MFile><a href="PgLogParser-pm.html">PgLogParser</a></div></div><div class=MEntry><div class=MFile><a href="Pipeline-pm.html">Pipeline</a></div></div><div class=MEntry><div class=MFile><a href="PodParser-pm.html">PodParser</a></div></div><div class=MEntry><div class=MFile><a href="Processlist-pm.html">Processlist</a></div></div><div class=MEntry><div class=MFile><a href="ProcesslistAggregator-pm.html">ProcesslistAggregator</a></div></div><div class=MEntry><div class=MFile><a href="Progress-pm.html">Progress</a></div></div><div class=MEntry><div class=MFile><a href="ProtocolParser-pm.html">ProtocolParser</a></div></div><div class=MEntry><div class=MFile><a href="QueryAdvisorRules-pm.html">QueryAdvisorRules</a></div></div><div class=MEntry><div class=MFile><a href="QueryParser-pm.html">QueryParser</a></div></div><div class=MEntry><div class=MFile><a href="QueryReportFormatter-pm.html">QueryReportFormatter</a></div></div><div class=MEntry><div class=MFile><a href="QueryReview-pm.html">QueryReview</a></div></div><div class=MEntry><div class=MFile><a href="QueryRewriter-pm.html">QueryRewriter</a></div></div><div class=MEntry><div class=MFile><a href="Quoter-pm.html">Quoter</a></div></div><div class=MEntry><div class=MFile><a href="ReportFormatter-pm.html">ReportFormatter</a></div></div><div class=MEntry><div class=MFile><a href="Retry-pm.html">Retry</a></div></div><div class=MEntry><div class=MFile><a href="RowDiff-pm.html">RowDiff</a></div></div><div class=MEntry><div class=MFile><a href="Runtime-pm.html">Runtime</a></div></div><div class=MEntry><div class=MFile><a href="Sandbox-pm.html">Sandbox</a></div></div><div class=MEntry><div class=MFile><a href="Schema-pm.html">Schema</a></div></div><div class=MEntry><div class=MFile><a href="SchemaIterator-pm.html">SchemaIterator</a></div></div><div class=MEntry><div class=MFile><a href="SimpleTCPDumpParser-pm.html">SimpleTCPDumpParser</a></div></div><div class=MEntry><div class=MFile><a href="SlowLogParser-pm.html">SlowLogParser</a></div></div><div class=MEntry><div class=MFile><a href="SlowLogWriter-pm.html">SlowLogWriter</a></div></div><div class=MEntry><div class=MFile><a href="SQLParser-pm.html">SQLParser</a></div></div><div class=MEntry><div class=MFile><a href="SysLogParser-pm.html">SysLogParser</a></div></div><div class=MEntry><div class=MFile><a href="TableChecksum-pm.html">TableChecksum</a></div></div><div class=MEntry><div class=MFile><a href="TableChunker-pm.html">TableChunker</a></div></div><div class=MEntry><div class=MFile><a href="TableNibbler-pm.html">TableNibbler</a></div></div><div class=MEntry><div class=MFile><a href="TableParser-pm.html">TableParser</a></div></div><div class=MEntry><div class=MFile><a href="TableSyncChunk-pm.html">TableSyncChunk</a></div></div><div class=MEntry><div class=MFile><a href="TableSyncer-pm.html">TableSyncer</a></div></div><div class=MEntry><div class=MFile><a href="TableSyncGroupBy-pm.html">TableSyncGroupBy</a></div></div><div class=MEntry><div class=MFile><a href="TableSyncNibble-pm.html">TableSyncNibble</a></div></div><div class=MEntry><div class=MFile><a href="TableSyncStream-pm.html">TableSyncStream</a></div></div><div class=MEntry><div class=MFile><a href="TableUsage-pm.html">TableUsage</a></div></div><div class=MEntry><div class=MFile><a href="TcpdumpParser-pm.html">TcpdumpParser</a></div></div><div class=MEntry><div class=MFile><a href="TCPRequestAggregator-pm.html">TCPRequestAggregator</a></div></div><div class=MEntry><div class=MFile><a href="TextResultSetParser-pm.html">TextResultSetParser</a></div></div><div class=MEntry><div class=MFile><a href="TimeSeriesTrender-pm.html">TimeSeriesTrender</a></div></div><div class=MEntry><div class=MFile><a href="Transformers-pm.html">Transformers</a></div></div><div class=MEntry><div class=MFile><a href="UpgradeReportFormatter-pm.html">UpgradeReportFormatter</a></div></div><div class=MEntry><div class=MFile><a href="VariableAdvisorRules-pm.html">VariableAdvisorRules</a></div></div><div class=MEntry><div class=MFile><a href="VersionParser-pm.html">VersionParser</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Tools</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../tools/pt-archiver-pm.html">pt_archiver</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-config-diff-pm.html">pt_config_diff</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-deadlock-logger-pm.html">pt_deadlock_logger</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-duplicate-key-checker-pm.html">pt_duplicate_key_checker</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-fifo-split-pm.html">pt_fifo_split</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-find-pm.html">pt_find</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-fk-error-logger-pm.html">pt_fk_error_logger</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-heartbeat-pm.html">pt_heartbeat</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-index-usage-pm.html">pt_index_usage</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-kill-pm.html">pt_kill</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-log-player-pm.html">pt_log_player</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-online-schema-change-pm.html">pt_online_schema_change</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-profile-compact-pm.html">pt_profile_compact</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-query-advisor-pm.html">pt_query_advisor</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-query-digest-pm.html">pt_query_digest</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-query-profiler-pm.html">pt_query_profiler</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-schema-advisor-pm.html">pt_schema_advisor</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-show-grants-pm.html">pt_show_grants</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-slave-delay-pm.html">pt_slave_delay</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-slave-find-pm.html">pt_slave_find</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-slave-restart-pm.html">pt_slave_restart</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-table-checksum-pm.html">pt_table_checksum</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-table-sync-pm.html">pt_table_sync</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-table-usage-pm.html">pt_table_usage</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-tcp-model-pm.html">pt_tcp_model</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-trend-pm.html">pt_trend</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-upgrade-pm.html">pt_upgrade</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-variable-advisor-pm.html">pt_variable_advisor</a></div></div><div class=MEntry><div class=MFile><a href="../tools/pt-visual-explain-pm.html">pt_visual_explain</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
93
 
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
94
 
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
95
 
HideAllBut([1], 4);// --></script></div><!--Menu-->
96
 
 
97
 
 
98
 
 
99
 
<!--START_ND_TOOLTIPS-->
100
 
<div class=CToolTip id="tt1"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">my @buck_vals</td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub new</td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub reset_aggregated_data</td></tr></table></blockquote></div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub aggregate</td></tr></table></blockquote></div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _make_unrolled_loops</td></tr></table></blockquote></div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub results</td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub set_results</td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub stats</td></tr></table></blockquote></div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub attributes</td></tr></table></blockquote></div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub set_attribute_types</td></tr></table></blockquote></div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub type_for</td></tr></table></blockquote></div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub make_handler</td></tr></table></blockquote>Make an attribute handler subroutine for aggregate(). </div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub bucket_idx</td></tr></table></blockquote>Return the bucket number for the given value. </div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub bucket_value</td></tr></table></blockquote>Return the value corresponding to the given bucket. </div></div><div class=CToolTip id="tt15"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">my @buck_tens</td></tr></table></blockquote></div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub buckets_of</td></tr></table></blockquote></div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub calculate_statistical_metrics</td></tr></table></blockquote></div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _calc_metrics</td></tr></table></blockquote></div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub metrics</td></tr></table></blockquote></div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub top_events</td></tr></table></blockquote></div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub add_new_attributes</td></tr></table></blockquote></div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub get_attributes</td></tr></table></blockquote></div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub events_processed</td></tr></table></blockquote></div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub make_alt_attrib</td></tr></table></blockquote></div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub merge</td></tr></table></blockquote></div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _add_attrib_vals</td></tr></table></blockquote></div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _deep_copy_attribs</td></tr></table></blockquote></div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _deep_copy_attrib_vals</td></tr></table></blockquote></div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub calculate_apdex</td></tr></table></blockquote>Calculate the Apdex score for the given T and response times. </div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _get_value</td></tr></table></blockquote>Get the value of the attribute (or one of its alternatives) from the event. </div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">sub _d</td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
101
 
 
102
 
 
103
 
 
104
 
 
105
 
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
106
 
 
107
 
 
108
 
<script language=JavaScript><!--
109
 
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
 
 
b'\\ No newline at end of file'