<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ProfilerTimerFilter xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/filter/statistic/ProfilerTimerFilter.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.filter.statistic;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.EnumSet;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.TimeUnit;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicLong;
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterAdapter;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IdleStatus;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoEventType;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequest;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.CopyOnWriteMap;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment">/**</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * This class will measure, the time it takes for a</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * method in the {@link IoFilterAdapter} class to execute.  The basic</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * premise of the logic in this class is to get the current time</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * at the beginning of the method, call method on nextFilter, and</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * then get the current time again.  An example of how to use</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * the filter is:</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> *</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * &lt;pre&gt;</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * ProfilerTimerFilter profiler = new ProfilerTimerFilter(</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> *         TimeUnit.MILLISECOND, IoEventType.MESSAGE_RECEIVED);</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * chain.addFirst("Profiler", profiler);</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> *</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * @version $Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (jeu, 26 jun 2008) $</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> */</em>
<a name="53" href="#53">53</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html">IoFilterAdapter</a> {
<a name="54" href="#54">54</a>      
<a name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> EnumSet&lt;IoEventType&gt; eventsToProfile;
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerUnit</a> timeUnit;
<a name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;IoEventType, TimerWorker&gt; timerManager;
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      <em class="jxr_javadoccomment">/**</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">     * Creates a new instance of ProfilerFilter.  This is the</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment">     * default constructor and will print out timings for</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     * messageReceived and messageSent and the time increment</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">     * will be in milliseconds.</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment">     */</em>
<a name="65" href="#65">65</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerFilter</a>() {
<a name="66" href="#66">66</a>          <strong class="jxr_keyword">this</strong>(
<a name="67" href="#67">67</a>                  TimeUnit.MILLISECONDS, EnumSet.of(IoEventType.MESSAGE_RECEIVED,
<a name="68" href="#68">68</a>                                  IoEventType.MESSAGE_SENT));
<a name="69" href="#69">69</a>      }
<a name="70" href="#70">70</a>      
<a name="71" href="#71">71</a>      <em class="jxr_javadoccomment">/**</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * Creates a new instance of ProfilerFilter.  This is the</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * default constructor and will print out timings for</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     * messageReceived and messageSent and the time increment</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     * will be in milliseconds.</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">     */</em>
<a name="77" href="#77">77</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerFilter</a>(TimeUnit unit) {
<a name="78" href="#78">78</a>          <strong class="jxr_keyword">this</strong>(
<a name="79" href="#79">79</a>                  unit, 
<a name="80" href="#80">80</a>                  IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT);
<a name="81" href="#81">81</a>      }
<a name="82" href="#82">82</a>      
<a name="83" href="#83">83</a>      <em class="jxr_javadoccomment">/**</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     * Creates a new instance of ProfilerFilter.  An example</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     * of this call would be:</em>
<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment">     *</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     * new ProfilerTimerFilter(</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     *         TimeUnit.MILLISECONDS,</em>
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment">     *         IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT);</em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     * @param unit</em>
<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     *  Used to determine the level of precision you need in your timing.</em>
<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     * @param firstEventType an event type to profile</em>
<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     * @param otherEventTypes event types to profile</em>
<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     */</em>
<a name="97" href="#97">97</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerFilter</a>(TimeUnit unit, <a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> firstEventType, IoEventType... otherEventTypes) {
<a name="98" href="#98">98</a>          <strong class="jxr_keyword">this</strong>(unit, EnumSet.of(firstEventType, otherEventTypes));
<a name="99" href="#99">99</a>      }
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>     <em class="jxr_javadoccomment">/**</em>
<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">     * Creates a new instance of ProfilerFilter.  An example</em>
<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     * of this call would be:</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     *</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     * new ProfilerTimerFilter(</em>
<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">     *         TimeUnit.MILLISECONDS,</em>
<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">     *         EnumSet.of(IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT));</em>
<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     * @param unit</em>
<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     *  Used to determine the level of precision you need in your timing.</em>
<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     * @param eventTypes</em>
<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     *  A set of {@link IoEventType} representation of the methods to profile</em>
<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     */</em>
<a name="116" href="#116">116</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerFilter</a>(TimeUnit unit, EnumSet&lt;IoEventType&gt; eventTypes) {
<a name="117" href="#117">117</a>         setTimeUnit(unit);
<a name="118" href="#118">118</a>         setEventsToProfile(eventTypes);
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>         timerManager = <strong class="jxr_keyword">new</strong> CopyOnWriteMap&lt;IoEventType, TimerWorker&gt;();
<a name="121" href="#121">121</a>         <strong class="jxr_keyword">for</strong> (IoEventType type : eventsToProfile) {
<a name="122" href="#122">122</a>             timerManager.put(type, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a>());
<a name="123" href="#123">123</a>         }
<a name="124" href="#124">124</a>     }
<a name="125" href="#125">125</a> 
<a name="126" href="#126">126</a>     <em class="jxr_javadoccomment">/**</em>
<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     * Sets the {@link TimeUnit} being used.</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     *</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * @param unit the new {@link TimeUnit} to be used.</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     */</em>
<a name="131" href="#131">131</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTimeUnit(TimeUnit unit) {
<a name="132" href="#132">132</a>         <strong class="jxr_keyword">if</strong> (unit == TimeUnit.MILLISECONDS) {
<a name="133" href="#133">133</a>             <strong class="jxr_keyword">this</strong>.timeUnit = ProfilerTimerUnit.MILLISECONDS;
<a name="134" href="#134">134</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (unit == TimeUnit.NANOSECONDS) {
<a name="135" href="#135">135</a>             <strong class="jxr_keyword">this</strong>.timeUnit = ProfilerTimerUnit.NANOSECONDS;
<a name="136" href="#136">136</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (unit == TimeUnit.SECONDS) {
<a name="137" href="#137">137</a>             <strong class="jxr_keyword">this</strong>.timeUnit = ProfilerTimerUnit.SECONDS;
<a name="138" href="#138">138</a>         } <strong class="jxr_keyword">else</strong> {
<a name="139" href="#139">139</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="140" href="#140">140</a>                     <span class="jxr_string">"Invalid Time specified: "</span> + unit + <span class="jxr_string">" (expected: "</span> +
<a name="141" href="#141">141</a>                     TimeUnit.MILLISECONDS + <span class="jxr_string">", "</span> +
<a name="142" href="#142">142</a>                     TimeUnit.NANOSECONDS + <span class="jxr_string">" or "</span> +
<a name="143" href="#143">143</a>                     TimeUnit.SECONDS + ')');
<a name="144" href="#144">144</a>         }
<a name="145" href="#145">145</a>     }
<a name="146" href="#146">146</a> 
<a name="147" href="#147">147</a>     <em class="jxr_javadoccomment">/**</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * Add an {@link IoEventType} to profile</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     *</em>
<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} to profile</em>
<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     */</em>
<a name="153" href="#153">153</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addEventToProfile(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="154" href="#154">154</a>         <strong class="jxr_keyword">if</strong> (!timerManager.containsKey(type)) {
<a name="155" href="#155">155</a>             timerManager.put(type, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a>());
<a name="156" href="#156">156</a>         }
<a name="157" href="#157">157</a>     }
<a name="158" href="#158">158</a> 
<a name="159" href="#159">159</a>     <em class="jxr_javadoccomment">/**</em>
<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     * Remove an {@link IoEventType} to profile</em>
<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     *</em>
<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} to profile</em>
<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">     */</em>
<a name="165" href="#165">165</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeEventToProfile(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="166" href="#166">166</a>         timerManager.remove(type);
<a name="167" href="#167">167</a>     }
<a name="168" href="#168">168</a> 
<a name="169" href="#169">169</a>     <em class="jxr_javadoccomment">/**</em>
<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">     * Return the bitmask that is being used to display</em>
<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">     * timing information for this filter.</em>
<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">     *</em>
<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     *  An int representing the methods that will be logged</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     */</em>
<a name="176" href="#176">176</a>     <strong class="jxr_keyword">public</strong> Set&lt;IoEventType&gt; getEventsToProfile() {
<a name="177" href="#177">177</a>         <strong class="jxr_keyword">return</strong> Collections.unmodifiableSet(eventsToProfile);
<a name="178" href="#178">178</a>     }
<a name="179" href="#179">179</a> 
<a name="180" href="#180">180</a>     <em class="jxr_javadoccomment">/**</em>
<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">     * Set the bitmask in order to tell this filter which</em>
<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     * methods to print out timing information</em>
<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     */</em>
<a name="184" href="#184">184</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setEventsToProfile(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> firstEventType, IoEventType... otherEventTypes) {
<a name="185" href="#185">185</a>         <strong class="jxr_keyword">this</strong>.setEventsToProfile(EnumSet.of(firstEventType, otherEventTypes));
<a name="186" href="#186">186</a>     }
<a name="187" href="#187">187</a> 
<a name="188" href="#188">188</a>     <em class="jxr_javadoccomment">/**</em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     * Set the bitmask in order to tell this filter which</em>
<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     * methods to print out timing information</em>
<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">     *</em>
<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">     * @param eventTypes</em>
<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">     *  An int representing the new methods that should be logged</em>
<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">     */</em>
<a name="195" href="#195">195</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setEventsToProfile(Set&lt;IoEventType&gt; eventTypes) {
<a name="196" href="#196">196</a>         <strong class="jxr_keyword">if</strong> (eventTypes == <strong class="jxr_keyword">null</strong>) {
<a name="197" href="#197">197</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"eventTypes"</span>);
<a name="198" href="#198">198</a>         }
<a name="199" href="#199">199</a>         <strong class="jxr_keyword">if</strong> (eventTypes.isEmpty()) {
<a name="200" href="#200">200</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"eventTypes is empty."</span>);
<a name="201" href="#201">201</a>         }
<a name="202" href="#202">202</a> 
<a name="203" href="#203">203</a>         EnumSet&lt;IoEventType&gt; newEventsToProfile = EnumSet.noneOf(IoEventType.<strong class="jxr_keyword">class</strong>);
<a name="204" href="#204">204</a>         <strong class="jxr_keyword">for</strong> (IoEventType e: eventTypes) {
<a name="205" href="#205">205</a>             newEventsToProfile.add(e);
<a name="206" href="#206">206</a>         }
<a name="207" href="#207">207</a>         
<a name="208" href="#208">208</a>         <strong class="jxr_keyword">this</strong>.eventsToProfile = newEventsToProfile;
<a name="209" href="#209">209</a>     }
<a name="210" href="#210">210</a> 
<a name="211" href="#211">211</a>     @Override
<a name="212" href="#212">212</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="213" href="#213">213</a>             Object message) <strong class="jxr_keyword">throws</strong> Exception {
<a name="214" href="#214">214</a>         <strong class="jxr_keyword">long</strong> start = timeUnit.timeNow();
<a name="215" href="#215">215</a>         nextFilter.messageReceived(session, message);
<a name="216" href="#216">216</a>         <strong class="jxr_keyword">long</strong> end = timeUnit.timeNow();
<a name="217" href="#217">217</a> 
<a name="218" href="#218">218</a>         <strong class="jxr_keyword">if</strong> (getEventsToProfile().contains(IoEventType.MESSAGE_RECEIVED)) {
<a name="219" href="#219">219</a>             timerManager.get(IoEventType.MESSAGE_RECEIVED).addNewReading(
<a name="220" href="#220">220</a>                     end - start);
<a name="221" href="#221">221</a>         }
<a name="222" href="#222">222</a>     }
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>     @Override
<a name="225" href="#225">225</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageSent(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="226" href="#226">226</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="227" href="#227">227</a>         <strong class="jxr_keyword">long</strong> start = timeUnit.timeNow();
<a name="228" href="#228">228</a>         nextFilter.messageSent(session, writeRequest);
<a name="229" href="#229">229</a>         <strong class="jxr_keyword">long</strong> end = timeUnit.timeNow();
<a name="230" href="#230">230</a> 
<a name="231" href="#231">231</a>         <strong class="jxr_keyword">if</strong> (getEventsToProfile().contains(IoEventType.MESSAGE_SENT)) {
<a name="232" href="#232">232</a>             timerManager.get(IoEventType.MESSAGE_SENT).addNewReading(
<a name="233" href="#233">233</a>                     end - start);
<a name="234" href="#234">234</a>         }
<a name="235" href="#235">235</a>     }
<a name="236" href="#236">236</a> 
<a name="237" href="#237">237</a>     @Override
<a name="238" href="#238">238</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="239" href="#239">239</a>             <strong class="jxr_keyword">throws</strong> Exception {
<a name="240" href="#240">240</a>         <strong class="jxr_keyword">long</strong> start = timeUnit.timeNow();
<a name="241" href="#241">241</a>         nextFilter.sessionClosed(session);
<a name="242" href="#242">242</a>         <strong class="jxr_keyword">long</strong> end = timeUnit.timeNow();
<a name="243" href="#243">243</a> 
<a name="244" href="#244">244</a>         <strong class="jxr_keyword">if</strong> (getEventsToProfile().contains(IoEventType.SESSION_CLOSED)) {
<a name="245" href="#245">245</a>             timerManager.get(IoEventType.SESSION_CLOSED).addNewReading(
<a name="246" href="#246">246</a>                     end - start);
<a name="247" href="#247">247</a>         }
<a name="248" href="#248">248</a>     }
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>     @Override
<a name="251" href="#251">251</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionCreated(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="252" href="#252">252</a>             <strong class="jxr_keyword">throws</strong> Exception {
<a name="253" href="#253">253</a>         <strong class="jxr_keyword">long</strong> start = timeUnit.timeNow();
<a name="254" href="#254">254</a>         nextFilter.sessionCreated(session);
<a name="255" href="#255">255</a>         <strong class="jxr_keyword">long</strong> end = timeUnit.timeNow();
<a name="256" href="#256">256</a> 
<a name="257" href="#257">257</a>         <strong class="jxr_keyword">if</strong> (getEventsToProfile().contains(IoEventType.SESSION_CREATED)) {
<a name="258" href="#258">258</a>             timerManager.get(IoEventType.SESSION_CREATED).addNewReading(
<a name="259" href="#259">259</a>                     end - start);
<a name="260" href="#260">260</a>         }
<a name="261" href="#261">261</a>     }
<a name="262" href="#262">262</a> 
<a name="263" href="#263">263</a>     @Override
<a name="264" href="#264">264</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionIdle(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="265" href="#265">265</a>             <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) <strong class="jxr_keyword">throws</strong> Exception {
<a name="266" href="#266">266</a>         <strong class="jxr_keyword">long</strong> start = timeUnit.timeNow();
<a name="267" href="#267">267</a>         nextFilter.sessionIdle(session, status);
<a name="268" href="#268">268</a>         <strong class="jxr_keyword">long</strong> end = timeUnit.timeNow();
<a name="269" href="#269">269</a> 
<a name="270" href="#270">270</a>         <strong class="jxr_keyword">if</strong> (getEventsToProfile().contains(IoEventType.SESSION_IDLE)) {
<a name="271" href="#271">271</a>             timerManager.get(IoEventType.SESSION_IDLE).addNewReading(
<a name="272" href="#272">272</a>                     end - start);
<a name="273" href="#273">273</a>         }
<a name="274" href="#274">274</a>     }
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a>     @Override
<a name="277" href="#277">277</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionOpened(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="278" href="#278">278</a>             <strong class="jxr_keyword">throws</strong> Exception {
<a name="279" href="#279">279</a>         <strong class="jxr_keyword">long</strong> start = timeUnit.timeNow();
<a name="280" href="#280">280</a>         nextFilter.sessionOpened(session);
<a name="281" href="#281">281</a>         <strong class="jxr_keyword">long</strong> end = timeUnit.timeNow();
<a name="282" href="#282">282</a> 
<a name="283" href="#283">283</a>         <strong class="jxr_keyword">if</strong> (getEventsToProfile().contains(IoEventType.SESSION_OPENED)) {
<a name="284" href="#284">284</a>             timerManager.get(IoEventType.SESSION_OPENED).addNewReading(
<a name="285" href="#285">285</a>                     end - start);
<a name="286" href="#286">286</a>         }
<a name="287" href="#287">287</a>     }
<a name="288" href="#288">288</a> 
<a name="289" href="#289">289</a>     <em class="jxr_javadoccomment">/**</em>
<a name="290" href="#290">290</a> <em class="jxr_javadoccomment">     * Get the average time for the specified method represented by the {@link IoEventType}</em>
<a name="291" href="#291">291</a> <em class="jxr_javadoccomment">     *</em>
<a name="292" href="#292">292</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="293" href="#293">293</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the average method call time</em>
<a name="294" href="#294">294</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="295" href="#295">295</a> <em class="jxr_javadoccomment">     *  The average time it took to execute the method represented by the {@link IoEventType}</em>
<a name="296" href="#296">296</a> <em class="jxr_javadoccomment">     */</em>
<a name="297" href="#297">297</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">double</strong> getAverageTime(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="298" href="#298">298</a>         <strong class="jxr_keyword">if</strong> (!timerManager.containsKey(type)) {
<a name="299" href="#299">299</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="300" href="#300">300</a>                     <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="301" href="#301">301</a>         }
<a name="302" href="#302">302</a> 
<a name="303" href="#303">303</a>         <strong class="jxr_keyword">return</strong> timerManager.get(type).getAverage();
<a name="304" href="#304">304</a>     }
<a name="305" href="#305">305</a> 
<a name="306" href="#306">306</a>     <em class="jxr_javadoccomment">/**</em>
<a name="307" href="#307">307</a> <em class="jxr_javadoccomment">     * Gets the total number of times the method has been called that is represented by the</em>
<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">     * {@link IoEventType}</em>
<a name="309" href="#309">309</a> <em class="jxr_javadoccomment">     *</em>
<a name="310" href="#310">310</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="311" href="#311">311</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the total number of method calls</em>
<a name="312" href="#312">312</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="313" href="#313">313</a> <em class="jxr_javadoccomment">     *  The total number of method calls for the method represented by the {@link IoEventType}</em>
<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">     */</em>
<a name="315" href="#315">315</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getTotalCalls(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="316" href="#316">316</a>         <strong class="jxr_keyword">if</strong> (!timerManager.containsKey(type)) {
<a name="317" href="#317">317</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="318" href="#318">318</a>                     <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="319" href="#319">319</a>         }
<a name="320" href="#320">320</a> 
<a name="321" href="#321">321</a>         <strong class="jxr_keyword">return</strong> timerManager.get(type).getCalls();
<a name="322" href="#322">322</a>     }
<a name="323" href="#323">323</a> 
<a name="324" href="#324">324</a>     <em class="jxr_javadoccomment">/**</em>
<a name="325" href="#325">325</a> <em class="jxr_javadoccomment">     * The total time this method has been executing</em>
<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">     *</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the total time this method has</em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">     *  been executing</em>
<a name="330" href="#330">330</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">     *  The total time for the method represented by the {@link IoEventType}</em>
<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">     */</em>
<a name="333" href="#333">333</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getTotalTime(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="334" href="#334">334</a>         <strong class="jxr_keyword">if</strong> (!timerManager.containsKey(type)) {
<a name="335" href="#335">335</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="336" href="#336">336</a>                     <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="337" href="#337">337</a>         }
<a name="338" href="#338">338</a> 
<a name="339" href="#339">339</a>         <strong class="jxr_keyword">return</strong> timerManager.get(type).getTotal();
<a name="340" href="#340">340</a>     }
<a name="341" href="#341">341</a> 
<a name="342" href="#342">342</a>     <em class="jxr_javadoccomment">/**</em>
<a name="343" href="#343">343</a> <em class="jxr_javadoccomment">     * The minimum time the method represented by {@link IoEventType} has executed</em>
<a name="344" href="#344">344</a> <em class="jxr_javadoccomment">     *</em>
<a name="345" href="#345">345</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="346" href="#346">346</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the minimum time this method has</em>
<a name="347" href="#347">347</a> <em class="jxr_javadoccomment">     *  executed</em>
<a name="348" href="#348">348</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="349" href="#349">349</a> <em class="jxr_javadoccomment">     *  The minimum time this method has executed represented by the {@link IoEventType}</em>
<a name="350" href="#350">350</a> <em class="jxr_javadoccomment">     */</em>
<a name="351" href="#351">351</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getMinimumTime(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="352" href="#352">352</a>         <strong class="jxr_keyword">if</strong> (!timerManager.containsKey(type)) {
<a name="353" href="#353">353</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="354" href="#354">354</a>                     <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="355" href="#355">355</a>         }
<a name="356" href="#356">356</a> 
<a name="357" href="#357">357</a>         <strong class="jxr_keyword">return</strong> timerManager.get(type).getMinimum();
<a name="358" href="#358">358</a>     }
<a name="359" href="#359">359</a> 
<a name="360" href="#360">360</a>     <em class="jxr_javadoccomment">/**</em>
<a name="361" href="#361">361</a> <em class="jxr_javadoccomment">     * The maximum time the method represented by {@link IoEventType} has executed</em>
<a name="362" href="#362">362</a> <em class="jxr_javadoccomment">     *</em>
<a name="363" href="#363">363</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="364" href="#364">364</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the maximum time this method has</em>
<a name="365" href="#365">365</a> <em class="jxr_javadoccomment">     *  executed</em>
<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">     *  The maximum time this method has executed represented by the {@link IoEventType}</em>
<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">     */</em>
<a name="369" href="#369">369</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getMaximumTime(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="370" href="#370">370</a>         <strong class="jxr_keyword">if</strong> (!timerManager.containsKey(type)) {
<a name="371" href="#371">371</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="372" href="#372">372</a>                     <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="373" href="#373">373</a>         }
<a name="374" href="#374">374</a> 
<a name="375" href="#375">375</a>         <strong class="jxr_keyword">return</strong> timerManager.get(type).getMaximum();
<a name="376" href="#376">376</a>     }
<a name="377" href="#377">377</a> 
<a name="378" href="#378">378</a>     <em class="jxr_javadoccomment">/**</em>
<a name="379" href="#379">379</a> <em class="jxr_javadoccomment">     * Class that will track the time each method takes and be able to provide information</em>
<a name="380" href="#380">380</a> <em class="jxr_javadoccomment">     * for each method.</em>
<a name="381" href="#381">381</a> <em class="jxr_javadoccomment">     *</em>
<a name="382" href="#382">382</a> <em class="jxr_javadoccomment">     */</em>
<a name="383" href="#383">383</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> {
<a name="384" href="#384">384</a> 
<a name="385" href="#385">385</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong total;
<a name="386" href="#386">386</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong calls;
<a name="387" href="#387">387</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong minimum;
<a name="388" href="#388">388</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong maximum;
<a name="389" href="#389">389</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object lock = <strong class="jxr_keyword">new</strong> Object();
<a name="390" href="#390">390</a> 
<a name="391" href="#391">391</a>         <em class="jxr_javadoccomment">/**</em>
<a name="392" href="#392">392</a> <em class="jxr_javadoccomment">         * Creates a new instance of TimerWorker.</em>
<a name="393" href="#393">393</a> <em class="jxr_javadoccomment">         *</em>
<a name="394" href="#394">394</a> <em class="jxr_javadoccomment">         */</em>
<a name="395" href="#395">395</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a>() {
<a name="396" href="#396">396</a>             total = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="397" href="#397">397</a>             calls = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="398" href="#398">398</a>             minimum = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="399" href="#399">399</a>             maximum = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="400" href="#400">400</a>         }
<a name="401" href="#401">401</a> 
<a name="402" href="#402">402</a>         <em class="jxr_javadoccomment">/**</em>
<a name="403" href="#403">403</a> <em class="jxr_javadoccomment">         * Add a new reading to this class.  Total is updated</em>
<a name="404" href="#404">404</a> <em class="jxr_javadoccomment">         * and calls is incremented</em>
<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">         *</em>
<a name="406" href="#406">406</a> <em class="jxr_javadoccomment">         * @param newReading</em>
<a name="407" href="#407">407</a> <em class="jxr_javadoccomment">         *  The new reading</em>
<a name="408" href="#408">408</a> <em class="jxr_javadoccomment">         */</em>
<a name="409" href="#409">409</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addNewReading(<strong class="jxr_keyword">long</strong> newReading) {
<a name="410" href="#410">410</a>             calls.incrementAndGet();
<a name="411" href="#411">411</a>             total.addAndGet(newReading);
<a name="412" href="#412">412</a> 
<a name="413" href="#413">413</a>             <strong class="jxr_keyword">synchronized</strong> (lock) {
<a name="414" href="#414">414</a>                 <em class="jxr_comment">// this is not entirely thread-safe, must lock</em>
<a name="415" href="#415">415</a>                 <strong class="jxr_keyword">if</strong> (newReading &lt; minimum.longValue()) {
<a name="416" href="#416">416</a>                     minimum.set(newReading);
<a name="417" href="#417">417</a>                 }
<a name="418" href="#418">418</a> 
<a name="419" href="#419">419</a>                 <em class="jxr_comment">// this is not entirely thread-safe, must lock</em>
<a name="420" href="#420">420</a>                 <strong class="jxr_keyword">if</strong> (newReading &gt; maximum.longValue()) {
<a name="421" href="#421">421</a>                     maximum.set(newReading);
<a name="422" href="#422">422</a>                 }
<a name="423" href="#423">423</a>             }
<a name="424" href="#424">424</a>         }
<a name="425" href="#425">425</a> 
<a name="426" href="#426">426</a>         <em class="jxr_javadoccomment">/**</em>
<a name="427" href="#427">427</a> <em class="jxr_javadoccomment">         * Gets the average reading for this event</em>
<a name="428" href="#428">428</a> <em class="jxr_javadoccomment">         *</em>
<a name="429" href="#429">429</a> <em class="jxr_javadoccomment">         * @return</em>
<a name="430" href="#430">430</a> <em class="jxr_javadoccomment">         *  Gets the average reading for this event</em>
<a name="431" href="#431">431</a> <em class="jxr_javadoccomment">         */</em>
<a name="432" href="#432">432</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">double</strong> getAverage() {
<a name="433" href="#433">433</a>             <strong class="jxr_keyword">return</strong> total.longValue() / calls.longValue();
<a name="434" href="#434">434</a>         }
<a name="435" href="#435">435</a> 
<a name="436" href="#436">436</a>         <em class="jxr_javadoccomment">/**</em>
<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">         * Returns the total number of readings</em>
<a name="438" href="#438">438</a> <em class="jxr_javadoccomment">         *</em>
<a name="439" href="#439">439</a> <em class="jxr_javadoccomment">         * @return</em>
<a name="440" href="#440">440</a> <em class="jxr_javadoccomment">         *  total number of readings</em>
<a name="441" href="#441">441</a> <em class="jxr_javadoccomment">         */</em>
<a name="442" href="#442">442</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getCalls() {
<a name="443" href="#443">443</a>             <strong class="jxr_keyword">return</strong> calls.longValue();
<a name="444" href="#444">444</a>         }
<a name="445" href="#445">445</a> 
<a name="446" href="#446">446</a>         <em class="jxr_javadoccomment">/**</em>
<a name="447" href="#447">447</a> <em class="jxr_javadoccomment">         * Returns the total time</em>
<a name="448" href="#448">448</a> <em class="jxr_javadoccomment">         *</em>
<a name="449" href="#449">449</a> <em class="jxr_javadoccomment">         * @return</em>
<a name="450" href="#450">450</a> <em class="jxr_javadoccomment">         *  the total time</em>
<a name="451" href="#451">451</a> <em class="jxr_javadoccomment">         */</em>
<a name="452" href="#452">452</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getTotal() {
<a name="453" href="#453">453</a>             <strong class="jxr_keyword">return</strong> total.longValue();
<a name="454" href="#454">454</a>         }
<a name="455" href="#455">455</a> 
<a name="456" href="#456">456</a>         <em class="jxr_javadoccomment">/**</em>
<a name="457" href="#457">457</a> <em class="jxr_javadoccomment">         * Returns the minimum value</em>
<a name="458" href="#458">458</a> <em class="jxr_javadoccomment">         *</em>
<a name="459" href="#459">459</a> <em class="jxr_javadoccomment">         * @return</em>
<a name="460" href="#460">460</a> <em class="jxr_javadoccomment">         *  the minimum value</em>
<a name="461" href="#461">461</a> <em class="jxr_javadoccomment">         */</em>
<a name="462" href="#462">462</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getMinimum() {
<a name="463" href="#463">463</a>             <strong class="jxr_keyword">return</strong> minimum.longValue();
<a name="464" href="#464">464</a>         }
<a name="465" href="#465">465</a> 
<a name="466" href="#466">466</a>         <em class="jxr_javadoccomment">/**</em>
<a name="467" href="#467">467</a> <em class="jxr_javadoccomment">         * Returns the maximum value</em>
<a name="468" href="#468">468</a> <em class="jxr_javadoccomment">         *</em>
<a name="469" href="#469">469</a> <em class="jxr_javadoccomment">         * @return</em>
<a name="470" href="#470">470</a> <em class="jxr_javadoccomment">         *  the maximum value</em>
<a name="471" href="#471">471</a> <em class="jxr_javadoccomment">         */</em>
<a name="472" href="#472">472</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getMaximum() {
<a name="473" href="#473">473</a>             <strong class="jxr_keyword">return</strong> maximum.longValue();
<a name="474" href="#474">474</a>         }
<a name="475" href="#475">475</a>     }
<a name="476" href="#476">476</a> 
<a name="477" href="#477">477</a>     <strong class="jxr_keyword">private</strong> enum <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerUnit</a> {
<a name="478" href="#478">478</a>         SECONDS {
<a name="479" href="#479">479</a>             @Override
<a name="480" href="#480">480</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> timeNow() {
<a name="481" href="#481">481</a>                 <strong class="jxr_keyword">return</strong> System.currentTimeMillis() / 1000;
<a name="482" href="#482">482</a>             }
<a name="483" href="#483">483</a> 
<a name="484" href="#484">484</a>             @Override
<a name="485" href="#485">485</a>             <strong class="jxr_keyword">public</strong> String getDescription() {
<a name="486" href="#486">486</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"seconds"</span>;
<a name="487" href="#487">487</a>             }
<a name="488" href="#488">488</a>         },
<a name="489" href="#489">489</a>         MILLISECONDS {
<a name="490" href="#490">490</a>             @Override
<a name="491" href="#491">491</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> timeNow() {
<a name="492" href="#492">492</a>                 <strong class="jxr_keyword">return</strong> System.currentTimeMillis();
<a name="493" href="#493">493</a>             }
<a name="494" href="#494">494</a> 
<a name="495" href="#495">495</a>             @Override
<a name="496" href="#496">496</a>             <strong class="jxr_keyword">public</strong> String getDescription() {
<a name="497" href="#497">497</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"milliseconds"</span>;
<a name="498" href="#498">498</a>             }
<a name="499" href="#499">499</a>         },
<a name="500" href="#500">500</a>         NANOSECONDS {
<a name="501" href="#501">501</a>             @Override
<a name="502" href="#502">502</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> timeNow() {
<a name="503" href="#503">503</a>                 <strong class="jxr_keyword">return</strong> System.nanoTime();
<a name="504" href="#504">504</a>             }
<a name="505" href="#505">505</a> 
<a name="506" href="#506">506</a>             @Override
<a name="507" href="#507">507</a>             <strong class="jxr_keyword">public</strong> String getDescription() {
<a name="508" href="#508">508</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"nanoseconds"</span>;
<a name="509" href="#509">509</a>             }
<a name="510" href="#510">510</a>         };
<a name="511" href="#511">511</a> 
<a name="512" href="#512">512</a>         <em class="jxr_comment">/*</em>
<a name="513" href="#513">513</a> <em class="jxr_comment">         * I was looking at possibly using the java.util.concurrent.TimeUnit</em>
<a name="514" href="#514">514</a> <em class="jxr_comment">         * and I found this construct for writing enums.  Here is what the</em>
<a name="515" href="#515">515</a> <em class="jxr_comment">         * JDK developers say for why these methods below cannot be marked as</em>
<a name="516" href="#516">516</a> <em class="jxr_comment">         * abstract, but should act in an abstract way...</em>
<a name="517" href="#517">517</a> <em class="jxr_comment">         *</em>
<a name="518" href="#518">518</a> <em class="jxr_comment">         *     To maintain full signature compatibility with 1.5, and to improve the</em>
<a name="519" href="#519">519</a> <em class="jxr_comment">         *     clarity of the generated javadoc (see 6287639: Abstract methods in</em>
<a name="520" href="#520">520</a> <em class="jxr_comment">         *     enum classes should not be listed as abstract), method convert</em>
<a name="521" href="#521">521</a> <em class="jxr_comment">         *     etc. are not declared abstract but otherwise act as abstract methods.</em>
<a name="522" href="#522">522</a> <em class="jxr_comment">         */</em>
<a name="523" href="#523">523</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> timeNow() {
<a name="524" href="#524">524</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> AbstractMethodError();
<a name="525" href="#525">525</a>         }
<a name="526" href="#526">526</a> 
<a name="527" href="#527">527</a>         <strong class="jxr_keyword">public</strong> String getDescription() {
<a name="528" href="#528">528</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> AbstractMethodError();
<a name="529" href="#529">529</a>         }
<a name="530" href="#530">530</a>     }
<a name="531" href="#531">531</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

