<!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.HashSet;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.TimeUnit;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicLong;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterAdapter;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IdleStatus;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoEventType;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequest;
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">/**</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * This class will measure the time it takes for a</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * method in the {@link IoFilterAdapter} class to execute.  The basic</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * premise of the logic in this class is to get the current time</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * at the beginning of the method, call method on nextFilter, and</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * then get the current time again.  An example of how to use</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * the filter is:</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> *</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * &lt;pre&gt;</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * ProfilerTimerFilter profiler = new ProfilerTimerFilter(</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> *         TimeUnit.MILLISECOND, IoEventType.MESSAGE_RECEIVED);</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * chain.addFirst("Profiler", profiler);</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * </em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * The profiled {@link IoEventType} are :</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * &lt;ul&gt;</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;IoEventType.MESSAGE_RECEIVED&lt;/li&gt;</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;IoEventType.MESSAGE_SENT&lt;/li&gt;</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;IoEventType.SESSION_CREATED&lt;/li&gt;</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;IoEventType.SESSION_OPENED&lt;/li&gt;</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;IoEventType.SESSION_IDLE&lt;/li&gt;</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;IoEventType.SESSION_CLOSED&lt;/li&gt;</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment"> * &lt;/ul&gt;</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment"> *</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment"> * @version $Rev: 706057 $, $Date: 2008-10-19 21:40:20 +0200 (Sun, 19 Oct 2008) $</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment"> * @org.apache.xbean.XBean</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment"> */</em>
<a name="61" href="#61">61</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="62" href="#62">62</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> TRhe selected time unit */</em>
<a name="63" href="#63">63</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> TimeUnit timeUnit;
<a name="64" href="#64">64</a>      
<a name="65" href="#65">65</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> for the MessageReceived events */</em>
<a name="66" href="#66">66</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> messageReceivedTimerWorker;
<a name="67" href="#67">67</a>      
<a name="68" href="#68">68</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A flag to tell the filter that the MessageReceived must be profiled */</em>
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> profileMessageReceived = false;
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> for the MessageSent events */</em>
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> messageSentTimerWorker;
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A flag to tell the filter that the MessageSent must be profiled */</em>
<a name="75" href="#75">75</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> profileMessageSent = false;
<a name="76" href="#76">76</a>  
<a name="77" href="#77">77</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> for the SessionCreated events */</em>
<a name="78" href="#78">78</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> sessionCreatedTimerWorker;
<a name="79" href="#79">79</a>  
<a name="80" href="#80">80</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A flag to tell the filter that the SessionCreated must be profiled */</em>
<a name="81" href="#81">81</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> profileSessionCreated = false;
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> for the SessionOpened events */</em>
<a name="84" href="#84">84</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> sessionOpenedTimerWorker;
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A flag to tell the filter that the SessionOpened must be profiled */</em>
<a name="87" href="#87">87</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> profileSessionOpened = false;
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> for the SessionIdle events */</em>
<a name="90" href="#90">90</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> sessionIdleTimerWorker;
<a name="91" href="#91">91</a>  
<a name="92" href="#92">92</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A flag to tell the filter that the SessionIdle must be profiled */</em>
<a name="93" href="#93">93</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> profileSessionIdle = false;
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> for the SessionClosed events */</em>
<a name="96" href="#96">96</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a> sessionClosedTimerWorker;
<a name="97" href="#97">97</a>  
<a name="98" href="#98">98</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A flag to tell the filter that the SessionClosed must be profiled */</em>
<a name="99" href="#99">99</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> profileSessionClosed = false;
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>     <em class="jxr_javadoccomment">/**</em>
<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">     * Creates a new instance of ProfilerFilter.  This is the</em>
<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">     * default constructor and will print out timings for</em>
<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     * messageReceived and messageSent and the time increment</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     * will be in milliseconds.</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     */</em>
<a name="107" href="#107">107</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerFilter</a>() {
<a name="108" href="#108">108</a>         <strong class="jxr_keyword">this</strong>(
<a name="109" href="#109">109</a>                 TimeUnit.MILLISECONDS, 
<a name="110" href="#110">110</a>                 IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT);
<a name="111" href="#111">111</a>     }
<a name="112" href="#112">112</a>     
<a name="113" href="#113">113</a>     <em class="jxr_javadoccomment">/**</em>
<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     * Creates a new instance of ProfilerFilter.  This is the</em>
<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     * default constructor and will print out timings for</em>
<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">     * messageReceived and messageSent.</em>
<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">     * </em>
<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">     * @param timeUnit the time increment to set</em>
<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     */</em>
<a name="120" href="#120">120</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerFilter</a>(TimeUnit timeUnit) {
<a name="121" href="#121">121</a>         <strong class="jxr_keyword">this</strong>(
<a name="122" href="#122">122</a>         		timeUnit, 
<a name="123" href="#123">123</a>                 IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT);
<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">     * Creates a new instance of ProfilerFilter.  An example</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * of this call would be:</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     *</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * &lt;pre&gt;</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * new ProfilerTimerFilter(</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     *         TimeUnit.MILLISECONDS,</em>
<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     *         IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT);</em>
<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * &lt;/pre&gt;</em>
<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     * </em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     * Note : you can add as many {@link IoEventType} as you want. The method accepts</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     * a variable number of arguments.</em>
<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">     * </em>
<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     * @param timeUnit Used to determine the level of precision you need in your timing.</em>
<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     * @param eventTypes A list of {@link IoEventType} representation of the methods to profile</em>
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     */</em>
<a name="142" href="#142">142</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">ProfilerTimerFilter</a>(TimeUnit timeUnit, IoEventType... eventTypes) {
<a name="143" href="#143">143</a>         <strong class="jxr_keyword">this</strong>.timeUnit = timeUnit;
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>         setProfilers(eventTypes);
<a name="146" href="#146">146</a>     }
<a name="147" href="#147">147</a>     
<a name="148" href="#148">148</a>     <em class="jxr_javadoccomment">/**</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * Create the profilers for a list of {@link IoEventType}.</em>
<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     * </em>
<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     * @param eventTypes the list of {@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">private</strong> <strong class="jxr_keyword">void</strong> setProfilers(IoEventType... eventTypes) {
<a name="154" href="#154">154</a>         <strong class="jxr_keyword">for</strong> (IoEventType type : eventTypes) {
<a name="155" href="#155">155</a>         	<strong class="jxr_keyword">switch</strong> (type) {
<a name="156" href="#156">156</a> 	        	<strong class="jxr_keyword">case</strong> MESSAGE_RECEIVED :
<a name="157" href="#157">157</a> 	        		messageReceivedTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="158" href="#158">158</a> 	        		profileMessageReceived = <strong class="jxr_keyword">true</strong>;
<a name="159" href="#159">159</a> 	        		<strong class="jxr_keyword">break</strong>;
<a name="160" href="#160">160</a> 
<a name="161" href="#161">161</a> 	        	<strong class="jxr_keyword">case</strong> MESSAGE_SENT :
<a name="162" href="#162">162</a> 	        		messageSentTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="163" href="#163">163</a> 	        		profileMessageSent = <strong class="jxr_keyword">true</strong>;
<a name="164" href="#164">164</a> 	        		<strong class="jxr_keyword">break</strong>;
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a> 	        	<strong class="jxr_keyword">case</strong> SESSION_CREATED :
<a name="167" href="#167">167</a> 	        		sessionCreatedTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="168" href="#168">168</a> 	        		profileSessionCreated = <strong class="jxr_keyword">true</strong>;
<a name="169" href="#169">169</a> 	        		<strong class="jxr_keyword">break</strong>;
<a name="170" href="#170">170</a> 	        		
<a name="171" href="#171">171</a> 	        	<strong class="jxr_keyword">case</strong> SESSION_OPENED :
<a name="172" href="#172">172</a> 	        		sessionOpenedTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="173" href="#173">173</a> 	        		profileSessionOpened = <strong class="jxr_keyword">true</strong>;
<a name="174" href="#174">174</a> 	        		<strong class="jxr_keyword">break</strong>;
<a name="175" href="#175">175</a> 	        		
<a name="176" href="#176">176</a> 	        	<strong class="jxr_keyword">case</strong> SESSION_IDLE :
<a name="177" href="#177">177</a> 	        		sessionIdleTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="178" href="#178">178</a> 	        		profileSessionIdle = <strong class="jxr_keyword">true</strong>;
<a name="179" href="#179">179</a> 	        		<strong class="jxr_keyword">break</strong>;
<a name="180" href="#180">180</a> 	        		
<a name="181" href="#181">181</a> 	        	<strong class="jxr_keyword">case</strong> SESSION_CLOSED :
<a name="182" href="#182">182</a> 	        		sessionClosedTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="183" href="#183">183</a> 	        		profileSessionClosed = <strong class="jxr_keyword">true</strong>;
<a name="184" href="#184">184</a> 	        		<strong class="jxr_keyword">break</strong>;
<a name="185" href="#185">185</a>         	}
<a name="186" href="#186">186</a>         }
<a name="187" href="#187">187</a>     }
<a name="188" href="#188">188</a> 
<a name="189" href="#189">189</a>     <em class="jxr_javadoccomment">/**</em>
<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     * Sets the {@link TimeUnit} being used.</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 timeUnit the new {@link TimeUnit} to be used.</em>
<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">     */</em>
<a name="194" href="#194">194</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTimeUnit(TimeUnit timeUnit) {
<a name="195" href="#195">195</a>     	<strong class="jxr_keyword">this</strong>.timeUnit = timeUnit;
<a name="196" href="#196">196</a>     }
<a name="197" href="#197">197</a> 
<a name="198" href="#198">198</a>     <em class="jxr_javadoccomment">/**</em>
<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">     * Set the {@link IoEventType} to be profiled</em>
<a name="200" href="#200">200</a> <em class="jxr_javadoccomment">     *</em>
<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">     * @param type The {@link IoEventType} to profile</em>
<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     */</em>
<a name="203" href="#203">203</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> profile(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="204" href="#204">204</a>     	<strong class="jxr_keyword">switch</strong> (type) {
<a name="205" href="#205">205</a>     		<strong class="jxr_keyword">case</strong> MESSAGE_RECEIVED :
<a name="206" href="#206">206</a> 	    		profileMessageReceived = <strong class="jxr_keyword">true</strong>;
<a name="207" href="#207">207</a> 	    		
<a name="208" href="#208">208</a> 	    		<strong class="jxr_keyword">if</strong> (messageReceivedTimerWorker == <strong class="jxr_keyword">null</strong>) {
<a name="209" href="#209">209</a> 	    			messageReceivedTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="210" href="#210">210</a> 	    		}
<a name="211" href="#211">211</a>     	    	
<a name="212" href="#212">212</a>     	    	<strong class="jxr_keyword">return</strong>;
<a name="213" href="#213">213</a>     			
<a name="214" href="#214">214</a>     		<strong class="jxr_keyword">case</strong> MESSAGE_SENT :
<a name="215" href="#215">215</a> 	    		profileMessageSent = <strong class="jxr_keyword">true</strong>;
<a name="216" href="#216">216</a> 	    		
<a name="217" href="#217">217</a> 	    		<strong class="jxr_keyword">if</strong> (messageSentTimerWorker == <strong class="jxr_keyword">null</strong>) {
<a name="218" href="#218">218</a> 	    			messageSentTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="219" href="#219">219</a> 	    		}
<a name="220" href="#220">220</a>     	    	
<a name="221" href="#221">221</a>     	    	<strong class="jxr_keyword">return</strong>;
<a name="222" href="#222">222</a>     	    	
<a name="223" href="#223">223</a>     		<strong class="jxr_keyword">case</strong> SESSION_CREATED :
<a name="224" href="#224">224</a> 				profileSessionCreated = <strong class="jxr_keyword">true</strong>;
<a name="225" href="#225">225</a> 	    		
<a name="226" href="#226">226</a> 	    		<strong class="jxr_keyword">if</strong> (sessionCreatedTimerWorker == <strong class="jxr_keyword">null</strong>) {
<a name="227" href="#227">227</a> 	    			sessionCreatedTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="228" href="#228">228</a> 	    		}
<a name="229" href="#229">229</a>     	    	
<a name="230" href="#230">230</a>     		<strong class="jxr_keyword">case</strong> SESSION_OPENED :
<a name="231" href="#231">231</a> 				profileSessionOpened = <strong class="jxr_keyword">true</strong>;
<a name="232" href="#232">232</a> 	    		
<a name="233" href="#233">233</a> 	    		<strong class="jxr_keyword">if</strong> (sessionOpenedTimerWorker == <strong class="jxr_keyword">null</strong>) {
<a name="234" href="#234">234</a> 	    			sessionOpenedTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="235" href="#235">235</a> 	    		}
<a name="236" href="#236">236</a>     	    	
<a name="237" href="#237">237</a>     		<strong class="jxr_keyword">case</strong> SESSION_IDLE :
<a name="238" href="#238">238</a> 				profileSessionIdle = <strong class="jxr_keyword">true</strong>;
<a name="239" href="#239">239</a> 	    		
<a name="240" href="#240">240</a> 	    		<strong class="jxr_keyword">if</strong> (sessionIdleTimerWorker == <strong class="jxr_keyword">null</strong>) {
<a name="241" href="#241">241</a> 	    			sessionIdleTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="242" href="#242">242</a> 	    		}
<a name="243" href="#243">243</a>     	    	
<a name="244" href="#244">244</a>     		<strong class="jxr_keyword">case</strong> SESSION_CLOSED :
<a name="245" href="#245">245</a> 				profileSessionClosed = <strong class="jxr_keyword">true</strong>;
<a name="246" href="#246">246</a> 	    		
<a name="247" href="#247">247</a> 	    		<strong class="jxr_keyword">if</strong> (sessionClosedTimerWorker == <strong class="jxr_keyword">null</strong>) {
<a name="248" href="#248">248</a> 	    			sessionClosedTimerWorker = <strong class="jxr_keyword">new</strong> TimerWorker();
<a name="249" href="#249">249</a> 	    		}
<a name="250" href="#250">250</a>     	}
<a name="251" href="#251">251</a>     }
<a name="252" href="#252">252</a> 
<a name="253" href="#253">253</a>     <em class="jxr_javadoccomment">/**</em>
<a name="254" href="#254">254</a> <em class="jxr_javadoccomment">     * Stop profiling an {@link IoEventType}</em>
<a name="255" href="#255">255</a> <em class="jxr_javadoccomment">     *</em>
<a name="256" href="#256">256</a> <em class="jxr_javadoccomment">     * @param type The {@link IoEventType} to stop profiling</em>
<a name="257" href="#257">257</a> <em class="jxr_javadoccomment">     */</em>
<a name="258" href="#258">258</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> stopProfile(<a href="../../../../../org/apache/mina/core/session/IoEventType.html">IoEventType</a> type) {
<a name="259" href="#259">259</a>     	<strong class="jxr_keyword">switch</strong> (type) {
<a name="260" href="#260">260</a> 			<strong class="jxr_keyword">case</strong> MESSAGE_RECEIVED :
<a name="261" href="#261">261</a> 	    		profileMessageReceived = false;
<a name="262" href="#262">262</a> 		    	<strong class="jxr_keyword">return</strong>;
<a name="263" href="#263">263</a> 				
<a name="264" href="#264">264</a> 			<strong class="jxr_keyword">case</strong> MESSAGE_SENT :
<a name="265" href="#265">265</a> 				profileMessageSent = false;
<a name="266" href="#266">266</a> 		    	<strong class="jxr_keyword">return</strong>;
<a name="267" href="#267">267</a> 		    	
<a name="268" href="#268">268</a> 			<strong class="jxr_keyword">case</strong> SESSION_CREATED :
<a name="269" href="#269">269</a> 				profileSessionCreated = false;
<a name="270" href="#270">270</a> 				<strong class="jxr_keyword">return</strong>;
<a name="271" href="#271">271</a> 
<a name="272" href="#272">272</a> 			<strong class="jxr_keyword">case</strong> SESSION_OPENED :
<a name="273" href="#273">273</a> 				profileSessionOpened = false;
<a name="274" href="#274">274</a> 				<strong class="jxr_keyword">return</strong>;
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a> 			<strong class="jxr_keyword">case</strong> SESSION_IDLE :
<a name="277" href="#277">277</a> 				profileSessionIdle = false;
<a name="278" href="#278">278</a> 				<strong class="jxr_keyword">return</strong>;
<a name="279" href="#279">279</a> 
<a name="280" href="#280">280</a> 			<strong class="jxr_keyword">case</strong> SESSION_CLOSED :
<a name="281" href="#281">281</a> 				profileSessionClosed = false;
<a name="282" href="#282">282</a> 				<strong class="jxr_keyword">return</strong>;
<a name="283" href="#283">283</a>     	}
<a name="284" href="#284">284</a>     }
<a name="285" href="#285">285</a> 
<a name="286" href="#286">286</a>     <em class="jxr_javadoccomment">/**</em>
<a name="287" href="#287">287</a> <em class="jxr_javadoccomment">     * Return the set of {@link IoEventType} which are profiled.</em>
<a name="288" href="#288">288</a> <em class="jxr_javadoccomment">     *</em>
<a name="289" href="#289">289</a> <em class="jxr_javadoccomment">     * @return a Set containing all the profiled {@link IoEventType} </em>
<a name="290" href="#290">290</a> <em class="jxr_javadoccomment">     */</em>
<a name="291" href="#291">291</a>     <strong class="jxr_keyword">public</strong> Set&lt;IoEventType&gt; getEventsToProfile() {
<a name="292" href="#292">292</a>     	Set&lt;IoEventType&gt; set = <strong class="jxr_keyword">new</strong> HashSet&lt;IoEventType&gt;();
<a name="293" href="#293">293</a>     	
<a name="294" href="#294">294</a>     	<strong class="jxr_keyword">if</strong> ( profileMessageReceived ) {
<a name="295" href="#295">295</a>     		set.add(IoEventType.MESSAGE_RECEIVED);
<a name="296" href="#296">296</a>     	}
<a name="297" href="#297">297</a>     	
<a name="298" href="#298">298</a>     	<strong class="jxr_keyword">if</strong> ( profileMessageSent) {
<a name="299" href="#299">299</a>     		set.add(IoEventType.MESSAGE_SENT);
<a name="300" href="#300">300</a>     	}
<a name="301" href="#301">301</a>     	
<a name="302" href="#302">302</a>     	<strong class="jxr_keyword">if</strong> ( profileSessionCreated ) {
<a name="303" href="#303">303</a>     		set.add(IoEventType.SESSION_CREATED);
<a name="304" href="#304">304</a>     	}
<a name="305" href="#305">305</a>     	
<a name="306" href="#306">306</a>     	<strong class="jxr_keyword">if</strong> ( profileSessionOpened ) {
<a name="307" href="#307">307</a>     		set.add(IoEventType.SESSION_OPENED);
<a name="308" href="#308">308</a>     	}
<a name="309" href="#309">309</a>     	
<a name="310" href="#310">310</a>     	<strong class="jxr_keyword">if</strong> ( profileSessionIdle ) {
<a name="311" href="#311">311</a>     		set.add(IoEventType.SESSION_IDLE);
<a name="312" href="#312">312</a>     	}
<a name="313" href="#313">313</a>     	
<a name="314" href="#314">314</a>     	<strong class="jxr_keyword">if</strong> ( profileSessionClosed ) {
<a name="315" href="#315">315</a>     		set.add(IoEventType.SESSION_CLOSED);
<a name="316" href="#316">316</a>     	}
<a name="317" href="#317">317</a>     	
<a name="318" href="#318">318</a>         <strong class="jxr_keyword">return</strong> set;
<a name="319" href="#319">319</a>     }
<a name="320" href="#320">320</a> 
<a name="321" href="#321">321</a>     <em class="jxr_javadoccomment">/**</em>
<a name="322" href="#322">322</a> <em class="jxr_javadoccomment">     * Set the profilers for a list of {@link IoEventType}</em>
<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">     * </em>
<a name="324" href="#324">324</a> <em class="jxr_javadoccomment">     * @param eventTypes the list of {@link IoEventType} to profile</em>
<a name="325" href="#325">325</a> <em class="jxr_javadoccomment">     */</em>
<a name="326" href="#326">326</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setEventsToProfile(IoEventType... eventTypes) {
<a name="327" href="#327">327</a>         setProfilers(eventTypes);
<a name="328" href="#328">328</a>     }
<a name="329" href="#329">329</a> 
<a name="330" href="#330">330</a>     <em class="jxr_javadoccomment">/**</em>
<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">     * Profile a MessageReceived event. This method will gather the following</em>
<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">     * informations :</em>
<a name="333" href="#333">333</a> <em class="jxr_javadoccomment">     * - the method duration</em>
<a name="334" href="#334">334</a> <em class="jxr_javadoccomment">     * - the shortest execution time</em>
<a name="335" href="#335">335</a> <em class="jxr_javadoccomment">     * - the slowest execution time</em>
<a name="336" href="#336">336</a> <em class="jxr_javadoccomment">     * - the average execution time</em>
<a name="337" href="#337">337</a> <em class="jxr_javadoccomment">     * - the global number of calls</em>
<a name="338" href="#338">338</a> <em class="jxr_javadoccomment">     * </em>
<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">     * @param nextFilter The filter to call next</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">     * @param session The associated session</em>
<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">     * @param message the received message</em>
<a name="342" href="#342">342</a> <em class="jxr_javadoccomment">     */</em>
<a name="343" href="#343">343</a>     @Override
<a name="344" href="#344">344</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="345" href="#345">345</a>             Object message) <strong class="jxr_keyword">throws</strong> Exception {
<a name="346" href="#346">346</a>     	<strong class="jxr_keyword">if</strong> (profileMessageReceived) {
<a name="347" href="#347">347</a> 	        <strong class="jxr_keyword">long</strong> start = timeNow();
<a name="348" href="#348">348</a> 	        nextFilter.messageReceived(session, message);
<a name="349" href="#349">349</a> 	        <strong class="jxr_keyword">long</strong> end = timeNow();
<a name="350" href="#350">350</a> 	        messageReceivedTimerWorker.addNewDuration(end - start);
<a name="351" href="#351">351</a>     	} <strong class="jxr_keyword">else</strong> {
<a name="352" href="#352">352</a> 	        nextFilter.messageReceived(session, message);
<a name="353" href="#353">353</a>     	}
<a name="354" href="#354">354</a>     }
<a name="355" href="#355">355</a> 
<a name="356" href="#356">356</a>     <em class="jxr_javadoccomment">/**</em>
<a name="357" href="#357">357</a> <em class="jxr_javadoccomment">     * Profile a MessageSent event. This method will gather the following</em>
<a name="358" href="#358">358</a> <em class="jxr_javadoccomment">     * informations :</em>
<a name="359" href="#359">359</a> <em class="jxr_javadoccomment">     * - the method duration</em>
<a name="360" href="#360">360</a> <em class="jxr_javadoccomment">     * - the shortest execution time</em>
<a name="361" href="#361">361</a> <em class="jxr_javadoccomment">     * - the slowest execution time</em>
<a name="362" href="#362">362</a> <em class="jxr_javadoccomment">     * - the average execution time</em>
<a name="363" href="#363">363</a> <em class="jxr_javadoccomment">     * - the global number of calls</em>
<a name="364" href="#364">364</a> <em class="jxr_javadoccomment">     * </em>
<a name="365" href="#365">365</a> <em class="jxr_javadoccomment">     * @param nextFilter The filter to call next</em>
<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">     * @param session The associated session</em>
<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">     * @param writeRequest the sent message</em>
<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">     */</em>
<a name="369" href="#369">369</a>     @Override
<a name="370" href="#370">370</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="371" href="#371">371</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="372" href="#372">372</a>     	<strong class="jxr_keyword">if</strong> (profileMessageSent) {
<a name="373" href="#373">373</a> 	        <strong class="jxr_keyword">long</strong> start = timeNow();
<a name="374" href="#374">374</a> 	        nextFilter.messageSent(session, writeRequest);
<a name="375" href="#375">375</a> 	        <strong class="jxr_keyword">long</strong> end = timeNow();
<a name="376" href="#376">376</a> 	        messageSentTimerWorker.addNewDuration(end - start);
<a name="377" href="#377">377</a>     	} <strong class="jxr_keyword">else</strong> {
<a name="378" href="#378">378</a> 	        nextFilter.messageSent(session, writeRequest);
<a name="379" href="#379">379</a>     	}
<a name="380" href="#380">380</a>     }
<a name="381" href="#381">381</a> 
<a name="382" href="#382">382</a>     <em class="jxr_javadoccomment">/**</em>
<a name="383" href="#383">383</a> <em class="jxr_javadoccomment">     * Profile a SessionCreated event. This method will gather the following</em>
<a name="384" href="#384">384</a> <em class="jxr_javadoccomment">     * informations :</em>
<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">     * - the method duration</em>
<a name="386" href="#386">386</a> <em class="jxr_javadoccomment">     * - the shortest execution time</em>
<a name="387" href="#387">387</a> <em class="jxr_javadoccomment">     * - the slowest execution time</em>
<a name="388" href="#388">388</a> <em class="jxr_javadoccomment">     * - the average execution time</em>
<a name="389" href="#389">389</a> <em class="jxr_javadoccomment">     * - the global number of calls</em>
<a name="390" href="#390">390</a> <em class="jxr_javadoccomment">     * </em>
<a name="391" href="#391">391</a> <em class="jxr_javadoccomment">     * @param nextFilter The filter to call next</em>
<a name="392" href="#392">392</a> <em class="jxr_javadoccomment">     * @param session The associated session</em>
<a name="393" href="#393">393</a> <em class="jxr_javadoccomment">     */</em>
<a name="394" href="#394">394</a>     @Override
<a name="395" href="#395">395</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="396" href="#396">396</a>             <strong class="jxr_keyword">throws</strong> Exception {
<a name="397" href="#397">397</a>     	<strong class="jxr_keyword">if</strong> (profileSessionCreated) {
<a name="398" href="#398">398</a> 	        <strong class="jxr_keyword">long</strong> start = timeNow();
<a name="399" href="#399">399</a> 	        nextFilter.sessionCreated(session);
<a name="400" href="#400">400</a> 	        <strong class="jxr_keyword">long</strong> end = timeNow();
<a name="401" href="#401">401</a> 	        sessionCreatedTimerWorker.addNewDuration(end - start);
<a name="402" href="#402">402</a>     	} <strong class="jxr_keyword">else</strong> {
<a name="403" href="#403">403</a>             nextFilter.sessionCreated(session);
<a name="404" href="#404">404</a>     	}
<a name="405" href="#405">405</a>     }
<a name="406" href="#406">406</a> 
<a name="407" href="#407">407</a>     <em class="jxr_javadoccomment">/**</em>
<a name="408" href="#408">408</a> <em class="jxr_javadoccomment">     * Profile a SessionOpened event. This method will gather the following</em>
<a name="409" href="#409">409</a> <em class="jxr_javadoccomment">     * informations :</em>
<a name="410" href="#410">410</a> <em class="jxr_javadoccomment">     * - the method duration</em>
<a name="411" href="#411">411</a> <em class="jxr_javadoccomment">     * - the shortest execution time</em>
<a name="412" href="#412">412</a> <em class="jxr_javadoccomment">     * - the slowest execution time</em>
<a name="413" href="#413">413</a> <em class="jxr_javadoccomment">     * - the average execution time</em>
<a name="414" href="#414">414</a> <em class="jxr_javadoccomment">     * - the global number of calls</em>
<a name="415" href="#415">415</a> <em class="jxr_javadoccomment">     * </em>
<a name="416" href="#416">416</a> <em class="jxr_javadoccomment">     * @param nextFilter The filter to call next</em>
<a name="417" href="#417">417</a> <em class="jxr_javadoccomment">     * @param session The associated session</em>
<a name="418" href="#418">418</a> <em class="jxr_javadoccomment">     */</em>
<a name="419" href="#419">419</a>     @Override
<a name="420" href="#420">420</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="421" href="#421">421</a>             <strong class="jxr_keyword">throws</strong> Exception {
<a name="422" href="#422">422</a>     	<strong class="jxr_keyword">if</strong> (profileSessionOpened) {
<a name="423" href="#423">423</a> 	        <strong class="jxr_keyword">long</strong> start = timeNow();
<a name="424" href="#424">424</a> 	        nextFilter.sessionOpened(session);
<a name="425" href="#425">425</a> 	        <strong class="jxr_keyword">long</strong> end = timeNow();
<a name="426" href="#426">426</a> 	        sessionOpenedTimerWorker.addNewDuration(end - start);
<a name="427" href="#427">427</a>     	} <strong class="jxr_keyword">else</strong> {
<a name="428" href="#428">428</a>             nextFilter.sessionOpened(session);
<a name="429" href="#429">429</a>     	}
<a name="430" href="#430">430</a>     }
<a name="431" href="#431">431</a> 
<a name="432" href="#432">432</a>     <em class="jxr_javadoccomment">/**</em>
<a name="433" href="#433">433</a> <em class="jxr_javadoccomment">     * Profile a SessionIdle event. This method will gather the following</em>
<a name="434" href="#434">434</a> <em class="jxr_javadoccomment">     * informations :</em>
<a name="435" href="#435">435</a> <em class="jxr_javadoccomment">     * - the method duration</em>
<a name="436" href="#436">436</a> <em class="jxr_javadoccomment">     * - the shortest execution time</em>
<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">     * - the slowest execution time</em>
<a name="438" href="#438">438</a> <em class="jxr_javadoccomment">     * - the average execution time</em>
<a name="439" href="#439">439</a> <em class="jxr_javadoccomment">     * - the global number of calls</em>
<a name="440" href="#440">440</a> <em class="jxr_javadoccomment">     * </em>
<a name="441" href="#441">441</a> <em class="jxr_javadoccomment">     * @param nextFilter The filter to call next</em>
<a name="442" href="#442">442</a> <em class="jxr_javadoccomment">     * @param session The associated session</em>
<a name="443" href="#443">443</a> <em class="jxr_javadoccomment">     * @param status The session's status</em>
<a name="444" href="#444">444</a> <em class="jxr_javadoccomment">     */</em>
<a name="445" href="#445">445</a>     @Override
<a name="446" href="#446">446</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="447" href="#447">447</a>             <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) <strong class="jxr_keyword">throws</strong> Exception {
<a name="448" href="#448">448</a>     	<strong class="jxr_keyword">if</strong> (profileSessionIdle) {
<a name="449" href="#449">449</a> 	        <strong class="jxr_keyword">long</strong> start = timeNow();
<a name="450" href="#450">450</a> 	        nextFilter.sessionIdle(session, status);
<a name="451" href="#451">451</a> 	        <strong class="jxr_keyword">long</strong> end = timeNow();
<a name="452" href="#452">452</a> 	        sessionIdleTimerWorker.addNewDuration(end - start);
<a name="453" href="#453">453</a>     	} <strong class="jxr_keyword">else</strong> {
<a name="454" href="#454">454</a>             nextFilter.sessionIdle(session, status);
<a name="455" href="#455">455</a>     	}
<a name="456" href="#456">456</a>     }
<a name="457" href="#457">457</a> 
<a name="458" href="#458">458</a>     <em class="jxr_javadoccomment">/**</em>
<a name="459" href="#459">459</a> <em class="jxr_javadoccomment">     * Profile a SessionClosed event. This method will gather the following</em>
<a name="460" href="#460">460</a> <em class="jxr_javadoccomment">     * informations :</em>
<a name="461" href="#461">461</a> <em class="jxr_javadoccomment">     * - the method duration</em>
<a name="462" href="#462">462</a> <em class="jxr_javadoccomment">     * - the shortest execution time</em>
<a name="463" href="#463">463</a> <em class="jxr_javadoccomment">     * - the slowest execution time</em>
<a name="464" href="#464">464</a> <em class="jxr_javadoccomment">     * - the average execution time</em>
<a name="465" href="#465">465</a> <em class="jxr_javadoccomment">     * - the global number of calls</em>
<a name="466" href="#466">466</a> <em class="jxr_javadoccomment">     * </em>
<a name="467" href="#467">467</a> <em class="jxr_javadoccomment">     * @param nextFilter The filter to call next</em>
<a name="468" href="#468">468</a> <em class="jxr_javadoccomment">     * @param session The associated session</em>
<a name="469" href="#469">469</a> <em class="jxr_javadoccomment">     */</em>
<a name="470" href="#470">470</a>     @Override
<a name="471" href="#471">471</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="472" href="#472">472</a>             <strong class="jxr_keyword">throws</strong> Exception {
<a name="473" href="#473">473</a>     	<strong class="jxr_keyword">if</strong> (profileSessionClosed) {
<a name="474" href="#474">474</a> 	        <strong class="jxr_keyword">long</strong> start = timeNow();
<a name="475" href="#475">475</a> 	        nextFilter.sessionClosed(session);
<a name="476" href="#476">476</a> 	        <strong class="jxr_keyword">long</strong> end = timeNow();
<a name="477" href="#477">477</a> 	        sessionClosedTimerWorker.addNewDuration(end - start);
<a name="478" href="#478">478</a>     	} <strong class="jxr_keyword">else</strong> {
<a name="479" href="#479">479</a>             nextFilter.sessionClosed(session);
<a name="480" href="#480">480</a>     	}
<a name="481" href="#481">481</a>     }
<a name="482" href="#482">482</a> 
<a name="483" href="#483">483</a>     <em class="jxr_javadoccomment">/**</em>
<a name="484" href="#484">484</a> <em class="jxr_javadoccomment">     * Get the average time for the specified method represented by the {@link IoEventType}</em>
<a name="485" href="#485">485</a> <em class="jxr_javadoccomment">     *</em>
<a name="486" href="#486">486</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="487" href="#487">487</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the average method call time</em>
<a name="488" href="#488">488</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="489" href="#489">489</a> <em class="jxr_javadoccomment">     *  The average time it took to execute the method represented by the {@link IoEventType}</em>
<a name="490" href="#490">490</a> <em class="jxr_javadoccomment">     */</em>
<a name="491" href="#491">491</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="492" href="#492">492</a>     	<strong class="jxr_keyword">switch</strong> (type) {
<a name="493" href="#493">493</a> 	    	<strong class="jxr_keyword">case</strong> MESSAGE_RECEIVED :
<a name="494" href="#494">494</a> 	    		<strong class="jxr_keyword">if</strong> (profileMessageReceived) {
<a name="495" href="#495">495</a> 	    			<strong class="jxr_keyword">return</strong> messageReceivedTimerWorker.getAverage();
<a name="496" href="#496">496</a> 	    		}
<a name="497" href="#497">497</a> 	    		
<a name="498" href="#498">498</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="499" href="#499">499</a> 	    		
<a name="500" href="#500">500</a> 	    	<strong class="jxr_keyword">case</strong> MESSAGE_SENT :
<a name="501" href="#501">501</a> 	    		<strong class="jxr_keyword">if</strong> (profileMessageSent) {
<a name="502" href="#502">502</a> 	    			<strong class="jxr_keyword">return</strong> messageSentTimerWorker.getAverage();
<a name="503" href="#503">503</a> 	    		}
<a name="504" href="#504">504</a> 	    		
<a name="505" href="#505">505</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="506" href="#506">506</a> 	    		
<a name="507" href="#507">507</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_CREATED :
<a name="508" href="#508">508</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionCreated) {
<a name="509" href="#509">509</a> 	    			<strong class="jxr_keyword">return</strong> sessionCreatedTimerWorker.getAverage();
<a name="510" href="#510">510</a> 	    		}
<a name="511" href="#511">511</a> 	    		
<a name="512" href="#512">512</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="513" href="#513">513</a> 	    		
<a name="514" href="#514">514</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_OPENED :
<a name="515" href="#515">515</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionOpened) {
<a name="516" href="#516">516</a> 	    			<strong class="jxr_keyword">return</strong> sessionOpenedTimerWorker.getAverage();
<a name="517" href="#517">517</a> 	    		}
<a name="518" href="#518">518</a> 	    		
<a name="519" href="#519">519</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="520" href="#520">520</a> 	    		
<a name="521" href="#521">521</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_IDLE :
<a name="522" href="#522">522</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionIdle) {
<a name="523" href="#523">523</a> 	    			<strong class="jxr_keyword">return</strong> sessionIdleTimerWorker.getAverage();
<a name="524" href="#524">524</a> 	    		}
<a name="525" href="#525">525</a> 	    		
<a name="526" href="#526">526</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="527" href="#527">527</a> 	    		
<a name="528" href="#528">528</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_CLOSED :
<a name="529" href="#529">529</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionClosed) {
<a name="530" href="#530">530</a> 	    			<strong class="jxr_keyword">return</strong> sessionClosedTimerWorker.getAverage();
<a name="531" href="#531">531</a> 	    		}
<a name="532" href="#532">532</a> 	    		
<a name="533" href="#533">533</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="534" href="#534">534</a>     	}
<a name="535" href="#535">535</a> 
<a name="536" href="#536">536</a>     	<strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="537" href="#537">537</a>                 <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="538" href="#538">538</a>     }
<a name="539" href="#539">539</a> 
<a name="540" href="#540">540</a>     <em class="jxr_javadoccomment">/**</em>
<a name="541" href="#541">541</a> <em class="jxr_javadoccomment">     * Gets the total number of times the method has been called that is represented by the</em>
<a name="542" href="#542">542</a> <em class="jxr_javadoccomment">     * {@link IoEventType}</em>
<a name="543" href="#543">543</a> <em class="jxr_javadoccomment">     *</em>
<a name="544" href="#544">544</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="545" href="#545">545</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the total number of method calls</em>
<a name="546" href="#546">546</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="547" href="#547">547</a> <em class="jxr_javadoccomment">     *  The total number of method calls for the method represented by the {@link IoEventType}</em>
<a name="548" href="#548">548</a> <em class="jxr_javadoccomment">     */</em>
<a name="549" href="#549">549</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="550" href="#550">550</a>     	<strong class="jxr_keyword">switch</strong> (type) {
<a name="551" href="#551">551</a> 	    	<strong class="jxr_keyword">case</strong> MESSAGE_RECEIVED :
<a name="552" href="#552">552</a> 	    		<strong class="jxr_keyword">if</strong> (profileMessageReceived) {
<a name="553" href="#553">553</a> 	    			<strong class="jxr_keyword">return</strong> messageReceivedTimerWorker.getCallsNumber();
<a name="554" href="#554">554</a> 	    		}
<a name="555" href="#555">555</a> 	    		
<a name="556" href="#556">556</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="557" href="#557">557</a> 	    		
<a name="558" href="#558">558</a> 	    	<strong class="jxr_keyword">case</strong> MESSAGE_SENT :
<a name="559" href="#559">559</a> 	    		<strong class="jxr_keyword">if</strong> (profileMessageSent) {
<a name="560" href="#560">560</a> 	    			<strong class="jxr_keyword">return</strong> messageSentTimerWorker.getCallsNumber();
<a name="561" href="#561">561</a> 	    		}
<a name="562" href="#562">562</a> 	    		
<a name="563" href="#563">563</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="564" href="#564">564</a> 	    		
<a name="565" href="#565">565</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_CREATED :
<a name="566" href="#566">566</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionCreated) {
<a name="567" href="#567">567</a> 	    			<strong class="jxr_keyword">return</strong> sessionCreatedTimerWorker.getCallsNumber();
<a name="568" href="#568">568</a> 	    		}
<a name="569" href="#569">569</a> 	    		
<a name="570" href="#570">570</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="571" href="#571">571</a> 	    		
<a name="572" href="#572">572</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_OPENED :
<a name="573" href="#573">573</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionOpened) {
<a name="574" href="#574">574</a> 	    			<strong class="jxr_keyword">return</strong> sessionOpenedTimerWorker.getCallsNumber();
<a name="575" href="#575">575</a> 	    		}
<a name="576" href="#576">576</a> 	    		
<a name="577" href="#577">577</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="578" href="#578">578</a> 	    		
<a name="579" href="#579">579</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_IDLE :
<a name="580" href="#580">580</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionIdle) {
<a name="581" href="#581">581</a> 	    			<strong class="jxr_keyword">return</strong> sessionIdleTimerWorker.getCallsNumber();
<a name="582" href="#582">582</a> 	    		}
<a name="583" href="#583">583</a> 	    		
<a name="584" href="#584">584</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="585" href="#585">585</a> 	    		
<a name="586" href="#586">586</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_CLOSED :
<a name="587" href="#587">587</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionClosed) {
<a name="588" href="#588">588</a> 	    			<strong class="jxr_keyword">return</strong> sessionClosedTimerWorker.getCallsNumber();
<a name="589" href="#589">589</a> 	    		}
<a name="590" href="#590">590</a> 	    		
<a name="591" href="#591">591</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="592" href="#592">592</a> 		}
<a name="593" href="#593">593</a> 	
<a name="594" href="#594">594</a> 		<strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="595" href="#595">595</a> 	            <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="596" href="#596">596</a>     }
<a name="597" href="#597">597</a> 
<a name="598" href="#598">598</a>     <em class="jxr_javadoccomment">/**</em>
<a name="599" href="#599">599</a> <em class="jxr_javadoccomment">     * The total time this method has been executing</em>
<a name="600" href="#600">600</a> <em class="jxr_javadoccomment">     *</em>
<a name="601" href="#601">601</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="602" href="#602">602</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the total time this method has</em>
<a name="603" href="#603">603</a> <em class="jxr_javadoccomment">     *  been executing</em>
<a name="604" href="#604">604</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="605" href="#605">605</a> <em class="jxr_javadoccomment">     *  The total time for the method represented by the {@link IoEventType}</em>
<a name="606" href="#606">606</a> <em class="jxr_javadoccomment">     */</em>
<a name="607" href="#607">607</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="608" href="#608">608</a>     	<strong class="jxr_keyword">switch</strong> (type) {
<a name="609" href="#609">609</a> 	    	<strong class="jxr_keyword">case</strong> MESSAGE_RECEIVED :
<a name="610" href="#610">610</a> 	    		<strong class="jxr_keyword">if</strong> (profileMessageReceived) {
<a name="611" href="#611">611</a> 	    			<strong class="jxr_keyword">return</strong> messageReceivedTimerWorker.getTotal();
<a name="612" href="#612">612</a> 	    		}
<a name="613" href="#613">613</a> 	    		
<a name="614" href="#614">614</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="615" href="#615">615</a> 	    		
<a name="616" href="#616">616</a> 	    	<strong class="jxr_keyword">case</strong> MESSAGE_SENT :
<a name="617" href="#617">617</a> 	    		<strong class="jxr_keyword">if</strong> (profileMessageSent) {
<a name="618" href="#618">618</a> 	    			<strong class="jxr_keyword">return</strong> messageSentTimerWorker.getTotal();
<a name="619" href="#619">619</a> 	    		}
<a name="620" href="#620">620</a> 	    		
<a name="621" href="#621">621</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="622" href="#622">622</a> 	    		
<a name="623" href="#623">623</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_CREATED :
<a name="624" href="#624">624</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionCreated) {
<a name="625" href="#625">625</a> 	    			<strong class="jxr_keyword">return</strong> sessionCreatedTimerWorker.getTotal();
<a name="626" href="#626">626</a> 	    		}
<a name="627" href="#627">627</a> 	    		
<a name="628" href="#628">628</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="629" href="#629">629</a> 	    		
<a name="630" href="#630">630</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_OPENED :
<a name="631" href="#631">631</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionOpened) {
<a name="632" href="#632">632</a> 	    			<strong class="jxr_keyword">return</strong> sessionOpenedTimerWorker.getTotal();
<a name="633" href="#633">633</a> 	    		}
<a name="634" href="#634">634</a> 	    		
<a name="635" href="#635">635</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="636" href="#636">636</a> 	    		
<a name="637" href="#637">637</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_IDLE :
<a name="638" href="#638">638</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionIdle) {
<a name="639" href="#639">639</a> 	    			<strong class="jxr_keyword">return</strong> sessionIdleTimerWorker.getTotal();
<a name="640" href="#640">640</a> 	    		}
<a name="641" href="#641">641</a> 	    		
<a name="642" href="#642">642</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="643" href="#643">643</a> 	    		
<a name="644" href="#644">644</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_CLOSED :
<a name="645" href="#645">645</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionClosed) {
<a name="646" href="#646">646</a> 	    			<strong class="jxr_keyword">return</strong> sessionClosedTimerWorker.getTotal();
<a name="647" href="#647">647</a> 	    		}
<a name="648" href="#648">648</a> 	    		
<a name="649" href="#649">649</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="650" href="#650">650</a> 		}
<a name="651" href="#651">651</a> 	
<a name="652" href="#652">652</a> 		<strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="653" href="#653">653</a> 	            <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="654" href="#654">654</a>     }
<a name="655" href="#655">655</a> 
<a name="656" href="#656">656</a>     <em class="jxr_javadoccomment">/**</em>
<a name="657" href="#657">657</a> <em class="jxr_javadoccomment">     * The minimum time the method represented by {@link IoEventType} has executed</em>
<a name="658" href="#658">658</a> <em class="jxr_javadoccomment">     *</em>
<a name="659" href="#659">659</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="660" href="#660">660</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the minimum time this method has</em>
<a name="661" href="#661">661</a> <em class="jxr_javadoccomment">     *  executed</em>
<a name="662" href="#662">662</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="663" href="#663">663</a> <em class="jxr_javadoccomment">     *  The minimum time this method has executed represented by the {@link IoEventType}</em>
<a name="664" href="#664">664</a> <em class="jxr_javadoccomment">     */</em>
<a name="665" href="#665">665</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="666" href="#666">666</a>     	<strong class="jxr_keyword">switch</strong> (type) {
<a name="667" href="#667">667</a> 	    	<strong class="jxr_keyword">case</strong> MESSAGE_RECEIVED :
<a name="668" href="#668">668</a> 	    		<strong class="jxr_keyword">if</strong> (profileMessageReceived) {
<a name="669" href="#669">669</a> 	    			<strong class="jxr_keyword">return</strong> messageReceivedTimerWorker.getMinimum();
<a name="670" href="#670">670</a> 	    		}
<a name="671" href="#671">671</a> 	    		
<a name="672" href="#672">672</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="673" href="#673">673</a> 	    		
<a name="674" href="#674">674</a> 	    	<strong class="jxr_keyword">case</strong> MESSAGE_SENT :
<a name="675" href="#675">675</a> 	    		<strong class="jxr_keyword">if</strong> (profileMessageSent) {
<a name="676" href="#676">676</a> 	    			<strong class="jxr_keyword">return</strong> messageSentTimerWorker.getMinimum();
<a name="677" href="#677">677</a> 	    		}
<a name="678" href="#678">678</a> 	    		
<a name="679" href="#679">679</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="680" href="#680">680</a> 	    		
<a name="681" href="#681">681</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_CREATED :
<a name="682" href="#682">682</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionCreated) {
<a name="683" href="#683">683</a> 	    			<strong class="jxr_keyword">return</strong> sessionCreatedTimerWorker.getMinimum();
<a name="684" href="#684">684</a> 	    		}
<a name="685" href="#685">685</a> 	    		
<a name="686" href="#686">686</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="687" href="#687">687</a> 	    		
<a name="688" href="#688">688</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_OPENED :
<a name="689" href="#689">689</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionOpened) {
<a name="690" href="#690">690</a> 	    			<strong class="jxr_keyword">return</strong> sessionOpenedTimerWorker.getMinimum();
<a name="691" href="#691">691</a> 	    		}
<a name="692" href="#692">692</a> 	    		
<a name="693" href="#693">693</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="694" href="#694">694</a> 	    		
<a name="695" href="#695">695</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_IDLE :
<a name="696" href="#696">696</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionIdle) {
<a name="697" href="#697">697</a> 	    			<strong class="jxr_keyword">return</strong> sessionIdleTimerWorker.getMinimum();
<a name="698" href="#698">698</a> 	    		}
<a name="699" href="#699">699</a> 	    		
<a name="700" href="#700">700</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="701" href="#701">701</a> 	    		
<a name="702" href="#702">702</a> 	    	<strong class="jxr_keyword">case</strong> SESSION_CLOSED :
<a name="703" href="#703">703</a> 	    		<strong class="jxr_keyword">if</strong> (profileSessionClosed) {
<a name="704" href="#704">704</a> 	    			<strong class="jxr_keyword">return</strong> sessionClosedTimerWorker.getMinimum();
<a name="705" href="#705">705</a> 	    		}
<a name="706" href="#706">706</a> 	    		
<a name="707" href="#707">707</a> 	    		<strong class="jxr_keyword">break</strong>;
<a name="708" href="#708">708</a> 		}
<a name="709" href="#709">709</a> 	
<a name="710" href="#710">710</a> 		<strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="711" href="#711">711</a> 	            <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="712" href="#712">712</a>     }
<a name="713" href="#713">713</a> 
<a name="714" href="#714">714</a>     <em class="jxr_javadoccomment">/**</em>
<a name="715" href="#715">715</a> <em class="jxr_javadoccomment">     * The maximum time the method represented by {@link IoEventType} has executed</em>
<a name="716" href="#716">716</a> <em class="jxr_javadoccomment">     *</em>
<a name="717" href="#717">717</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="718" href="#718">718</a> <em class="jxr_javadoccomment">     *  The {@link IoEventType} that the user wants to get the maximum time this method has</em>
<a name="719" href="#719">719</a> <em class="jxr_javadoccomment">     *  executed</em>
<a name="720" href="#720">720</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="721" href="#721">721</a> <em class="jxr_javadoccomment">     *  The maximum time this method has executed represented by the {@link IoEventType}</em>
<a name="722" href="#722">722</a> <em class="jxr_javadoccomment">     */</em>
<a name="723" href="#723">723</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="724" href="#724">724</a>     	<strong class="jxr_keyword">switch</strong> (type) {
<a name="725" href="#725">725</a> 			<strong class="jxr_keyword">case</strong> MESSAGE_RECEIVED :
<a name="726" href="#726">726</a> 				<strong class="jxr_keyword">if</strong> (profileMessageReceived) {
<a name="727" href="#727">727</a> 					<strong class="jxr_keyword">return</strong> messageReceivedTimerWorker.getMaximum();
<a name="728" href="#728">728</a> 				}
<a name="729" href="#729">729</a> 				
<a name="730" href="#730">730</a> 				<strong class="jxr_keyword">break</strong>;
<a name="731" href="#731">731</a> 				
<a name="732" href="#732">732</a> 			<strong class="jxr_keyword">case</strong> MESSAGE_SENT :
<a name="733" href="#733">733</a> 				<strong class="jxr_keyword">if</strong> (profileMessageSent) {
<a name="734" href="#734">734</a> 					<strong class="jxr_keyword">return</strong> messageSentTimerWorker.getMaximum();
<a name="735" href="#735">735</a> 				}
<a name="736" href="#736">736</a> 				
<a name="737" href="#737">737</a> 				<strong class="jxr_keyword">break</strong>;
<a name="738" href="#738">738</a> 				
<a name="739" href="#739">739</a> 			<strong class="jxr_keyword">case</strong> SESSION_CREATED :
<a name="740" href="#740">740</a> 				<strong class="jxr_keyword">if</strong> (profileSessionCreated) {
<a name="741" href="#741">741</a> 					<strong class="jxr_keyword">return</strong> sessionCreatedTimerWorker.getMaximum();
<a name="742" href="#742">742</a> 				}
<a name="743" href="#743">743</a> 				
<a name="744" href="#744">744</a> 				<strong class="jxr_keyword">break</strong>;
<a name="745" href="#745">745</a> 				
<a name="746" href="#746">746</a> 			<strong class="jxr_keyword">case</strong> SESSION_OPENED :
<a name="747" href="#747">747</a> 				<strong class="jxr_keyword">if</strong> (profileSessionOpened) {
<a name="748" href="#748">748</a> 					<strong class="jxr_keyword">return</strong> sessionOpenedTimerWorker.getMaximum();
<a name="749" href="#749">749</a> 				}
<a name="750" href="#750">750</a> 				
<a name="751" href="#751">751</a> 				<strong class="jxr_keyword">break</strong>;
<a name="752" href="#752">752</a> 				
<a name="753" href="#753">753</a> 			<strong class="jxr_keyword">case</strong> SESSION_IDLE :
<a name="754" href="#754">754</a> 				<strong class="jxr_keyword">if</strong> (profileSessionIdle) {
<a name="755" href="#755">755</a> 					<strong class="jxr_keyword">return</strong> sessionIdleTimerWorker.getMaximum();
<a name="756" href="#756">756</a> 				}
<a name="757" href="#757">757</a> 				
<a name="758" href="#758">758</a> 				<strong class="jxr_keyword">break</strong>;
<a name="759" href="#759">759</a> 				
<a name="760" href="#760">760</a> 			<strong class="jxr_keyword">case</strong> SESSION_CLOSED :
<a name="761" href="#761">761</a> 				<strong class="jxr_keyword">if</strong> (profileSessionClosed) {
<a name="762" href="#762">762</a> 					<strong class="jxr_keyword">return</strong> sessionClosedTimerWorker.getMaximum();
<a name="763" href="#763">763</a> 				}
<a name="764" href="#764">764</a> 				
<a name="765" href="#765">765</a> 				<strong class="jxr_keyword">break</strong>;
<a name="766" href="#766">766</a> 		}
<a name="767" href="#767">767</a> 		
<a name="768" href="#768">768</a> 		<strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="769" href="#769">769</a> 		        <span class="jxr_string">"You are not monitoring this event.  Please add this event first."</span>);
<a name="770" href="#770">770</a>     }
<a name="771" href="#771">771</a> 
<a name="772" href="#772">772</a>     <em class="jxr_javadoccomment">/**</em>
<a name="773" href="#773">773</a> <em class="jxr_javadoccomment">     * Class that will track the time each method takes and be able to provide information</em>
<a name="774" href="#774">774</a> <em class="jxr_javadoccomment">     * for each method.</em>
<a name="775" href="#775">775</a> <em class="jxr_javadoccomment">     *</em>
<a name="776" href="#776">776</a> <em class="jxr_javadoccomment">     */</em>
<a name="777" href="#777">777</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="778" href="#778">778</a>     	<em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The sum of all operation durations */</em>
<a name="779" href="#779">779</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong total;
<a name="780" href="#780">780</a>         
<a name="781" href="#781">781</a>         <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The number of calls */</em>
<a name="782" href="#782">782</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong callsNumber;
<a name="783" href="#783">783</a>         
<a name="784" href="#784">784</a>         <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The fastest operation */</em>
<a name="785" href="#785">785</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong minimum;
<a name="786" href="#786">786</a>         
<a name="787" href="#787">787</a>         <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The slowest operation */</em>
<a name="788" href="#788">788</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicLong maximum;
<a name="789" href="#789">789</a>         
<a name="790" href="#790">790</a>         <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A lock for synchinized blocks */</em>
<a name="791" href="#791">791</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object lock = <strong class="jxr_keyword">new</strong> Object();
<a name="792" href="#792">792</a> 
<a name="793" href="#793">793</a>         <em class="jxr_javadoccomment">/**</em>
<a name="794" href="#794">794</a> <em class="jxr_javadoccomment">         * Creates a new instance of TimerWorker.</em>
<a name="795" href="#795">795</a> <em class="jxr_javadoccomment">         *</em>
<a name="796" href="#796">796</a> <em class="jxr_javadoccomment">         */</em>
<a name="797" href="#797">797</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html">TimerWorker</a>() {
<a name="798" href="#798">798</a>             total = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="799" href="#799">799</a>             callsNumber = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="800" href="#800">800</a>             minimum = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="801" href="#801">801</a>             maximum = <strong class="jxr_keyword">new</strong> AtomicLong();
<a name="802" href="#802">802</a>         }
<a name="803" href="#803">803</a> 
<a name="804" href="#804">804</a>         <em class="jxr_javadoccomment">/**</em>
<a name="805" href="#805">805</a> <em class="jxr_javadoccomment">         * Add a new operation duration to this class.  Total is updated</em>
<a name="806" href="#806">806</a> <em class="jxr_javadoccomment">         * and calls is incremented</em>
<a name="807" href="#807">807</a> <em class="jxr_javadoccomment">         *</em>
<a name="808" href="#808">808</a> <em class="jxr_javadoccomment">         * @param duration</em>
<a name="809" href="#809">809</a> <em class="jxr_javadoccomment">         *  The new operation duration</em>
<a name="810" href="#810">810</a> <em class="jxr_javadoccomment">         */</em>
<a name="811" href="#811">811</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addNewDuration(<strong class="jxr_keyword">long</strong> duration) {
<a name="812" href="#812">812</a>         	callsNumber.incrementAndGet();
<a name="813" href="#813">813</a>             total.addAndGet(duration);
<a name="814" href="#814">814</a> 
<a name="815" href="#815">815</a>             <strong class="jxr_keyword">synchronized</strong> (lock) {
<a name="816" href="#816">816</a>                 <em class="jxr_comment">// this is not entirely thread-safe, must lock</em>
<a name="817" href="#817">817</a>                 <strong class="jxr_keyword">if</strong> (duration &lt; minimum.longValue()) {
<a name="818" href="#818">818</a>                     minimum.set(duration);
<a name="819" href="#819">819</a>                 }
<a name="820" href="#820">820</a> 
<a name="821" href="#821">821</a>                 <em class="jxr_comment">// this is not entirely thread-safe, must lock</em>
<a name="822" href="#822">822</a>                 <strong class="jxr_keyword">if</strong> (duration &gt; maximum.longValue()) {
<a name="823" href="#823">823</a>                     maximum.set(duration);
<a name="824" href="#824">824</a>                 }
<a name="825" href="#825">825</a>             }
<a name="826" href="#826">826</a>         }
<a name="827" href="#827">827</a> 
<a name="828" href="#828">828</a>         <em class="jxr_javadoccomment">/**</em>
<a name="829" href="#829">829</a> <em class="jxr_javadoccomment">         * Gets the average reading for this event</em>
<a name="830" href="#830">830</a> <em class="jxr_javadoccomment">         *</em>
<a name="831" href="#831">831</a> <em class="jxr_javadoccomment">         * @return the average reading for this event</em>
<a name="832" href="#832">832</a> <em class="jxr_javadoccomment">         */</em>
<a name="833" href="#833">833</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">double</strong> getAverage() {
<a name="834" href="#834">834</a>         	<strong class="jxr_keyword">synchronized</strong> (lock) {
<a name="835" href="#835">835</a>         		<em class="jxr_comment">// There are two operations, we need to synchronize the block</em>
<a name="836" href="#836">836</a>         		<strong class="jxr_keyword">return</strong> total.longValue() / callsNumber.longValue();
<a name="837" href="#837">837</a>         	}
<a name="838" href="#838">838</a>         }
<a name="839" href="#839">839</a> 
<a name="840" href="#840">840</a>         <em class="jxr_javadoccomment">/**</em>
<a name="841" href="#841">841</a> <em class="jxr_javadoccomment">         * Returns the total number of profiled operations</em>
<a name="842" href="#842">842</a> <em class="jxr_javadoccomment">         *</em>
<a name="843" href="#843">843</a> <em class="jxr_javadoccomment">         * @return The total number of profiled operation </em>
<a name="844" href="#844">844</a> <em class="jxr_javadoccomment">         */</em>
<a name="845" href="#845">845</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getCallsNumber() {
<a name="846" href="#846">846</a>             <strong class="jxr_keyword">return</strong> callsNumber.longValue();
<a name="847" href="#847">847</a>         }
<a name="848" href="#848">848</a> 
<a name="849" href="#849">849</a>         <em class="jxr_javadoccomment">/**</em>
<a name="850" href="#850">850</a> <em class="jxr_javadoccomment">         * Returns the total time</em>
<a name="851" href="#851">851</a> <em class="jxr_javadoccomment">         *</em>
<a name="852" href="#852">852</a> <em class="jxr_javadoccomment">         * @return the total time</em>
<a name="853" href="#853">853</a> <em class="jxr_javadoccomment">         */</em>
<a name="854" href="#854">854</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getTotal() {
<a name="855" href="#855">855</a>             <strong class="jxr_keyword">return</strong> total.longValue();
<a name="856" href="#856">856</a>         }
<a name="857" href="#857">857</a> 
<a name="858" href="#858">858</a>         <em class="jxr_javadoccomment">/**</em>
<a name="859" href="#859">859</a> <em class="jxr_javadoccomment">         * Returns the lowest execution time </em>
<a name="860" href="#860">860</a> <em class="jxr_javadoccomment">         *</em>
<a name="861" href="#861">861</a> <em class="jxr_javadoccomment">         * @return the lowest execution time</em>
<a name="862" href="#862">862</a> <em class="jxr_javadoccomment">         */</em>
<a name="863" href="#863">863</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getMinimum() {
<a name="864" href="#864">864</a>             <strong class="jxr_keyword">return</strong> minimum.longValue();
<a name="865" href="#865">865</a>         }
<a name="866" href="#866">866</a> 
<a name="867" href="#867">867</a>         <em class="jxr_javadoccomment">/**</em>
<a name="868" href="#868">868</a> <em class="jxr_javadoccomment">         * Returns the longest execution time</em>
<a name="869" href="#869">869</a> <em class="jxr_javadoccomment">         *</em>
<a name="870" href="#870">870</a> <em class="jxr_javadoccomment">         * @return the longest execution time</em>
<a name="871" href="#871">871</a> <em class="jxr_javadoccomment">         */</em>
<a name="872" href="#872">872</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getMaximum() {
<a name="873" href="#873">873</a>             <strong class="jxr_keyword">return</strong> maximum.longValue();
<a name="874" href="#874">874</a>         }
<a name="875" href="#875">875</a>     }
<a name="876" href="#876">876</a> 
<a name="877" href="#877">877</a>     <em class="jxr_javadoccomment">/**</em>
<a name="878" href="#878">878</a> <em class="jxr_javadoccomment">     * @return the current time, expressed using the fixed TimeUnit.</em>
<a name="879" href="#879">879</a> <em class="jxr_javadoccomment">     */</em>
<a name="880" href="#880">880</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> timeNow() {
<a name="881" href="#881">881</a>     	<strong class="jxr_keyword">switch</strong> (timeUnit) {
<a name="882" href="#882">882</a> 	    	<strong class="jxr_keyword">case</strong> SECONDS :
<a name="883" href="#883">883</a> 	    		<strong class="jxr_keyword">return</strong> System.currentTimeMillis()/1000;
<a name="884" href="#884">884</a> 	    		
<a name="885" href="#885">885</a> 	    	<strong class="jxr_keyword">case</strong> MICROSECONDS :
<a name="886" href="#886">886</a> 	    		<strong class="jxr_keyword">return</strong> System.nanoTime()/1000;
<a name="887" href="#887">887</a> 	    		
<a name="888" href="#888">888</a> 	    	<strong class="jxr_keyword">case</strong> NANOSECONDS :
<a name="889" href="#889">889</a> 	    		<strong class="jxr_keyword">return</strong> System.nanoTime();
<a name="890" href="#890">890</a> 	    		
<a name="891" href="#891">891</a> 	    	<strong class="jxr_keyword">default</strong> :
<a name="892" href="#892">892</a> 	    		<strong class="jxr_keyword">return</strong> System.currentTimeMillis();
<a name="893" href="#893">893</a>     	}
<a name="894" href="#894">894</a>     }
<a name="895" href="#895">895</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

