http://git-wip-us.apache.org/repos/asf/mesos-site/blob/cfbae833/content/api/latest/c++/src_2master_2metrics_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2master_2metrics_8hpp_source.html 
b/content/api/latest/c++/src_2master_2metrics_8hpp_source.html
index fa749a1..9a3a7f0 100644
--- a/content/api/latest/c++/src_2master_2metrics_8hpp_source.html
+++ b/content/api/latest/c++/src_2master_2metrics_8hpp_source.html
@@ -52,117 +52,139 @@
 <div class="title">metrics.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="src_2master_2metrics_8hpp.html">Go to the documentation of this 
file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span 
class="lineno">    1</span>&#160;<span class="comment">// Licensed to the 
Apache Software Foundation (ASF) under one</span></div><div class="line"><a 
name="l00002"></a><span class="lineno">    2</span>&#160;<span 
class="comment">// or more contributor license agreements.  See the NOTICE 
file</span></div><div class="line"><a name="l00003"></a><span class="lineno">   
 3</span>&#160;<span class="comment">// distributed with this work for 
additional information</span></div><div class="line"><a name="l00004"></a><span 
class="lineno">    4</span>&#160;<span class="comment">// regarding copyright 
ownership.  The ASF licenses this file</span></div><div class="line"><a 
name="l00005"></a><span class="lineno">    5</span>&#160;<span 
class="comment">// to you under the Apache License, Version 2.0 
(the</span></div><div class="line"><a name="l00006">
 </a><span class="lineno">    6</span>&#160;<span class="comment">// 
&quot;License&quot;); you may not use this file except in 
compliance</span></div><div class="line"><a name="l00007"></a><span 
class="lineno">    7</span>&#160;<span class="comment">// with the License.  
You may obtain a copy of the License at</span></div><div class="line"><a 
name="l00008"></a><span class="lineno">    8</span>&#160;<span 
class="comment">//</span></div><div class="line"><a name="l00009"></a><span 
class="lineno">    9</span>&#160;<span class="comment">//     
http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a 
name="l00010"></a><span class="lineno">   10</span>&#160;<span 
class="comment">//</span></div><div class="line"><a name="l00011"></a><span 
class="lineno">   11</span>&#160;<span class="comment">// Unless required by 
applicable law or agreed to in writing, software</span></div><div 
class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span 
class="comment"
 >// distributed under the License is distributed on an &quot;AS IS&quot; 
 >BASIS,</span></div><div class="line"><a name="l00013"></a><span 
 >class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES 
 >OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div 
 >class="line"><a name="l00014"></a><span class="lineno">   
 >14</span>&#160;<span class="comment">// See the License for the specific 
 >language governing permissions and</span></div><div class="line"><a 
 >name="l00015"></a><span class="lineno">   15</span>&#160;<span 
 >class="comment">// limitations under the License.</span></div><div 
 >class="line"><a name="l00016"></a><span class="lineno">   
 >16</span>&#160;</div><div class="line"><a name="l00017"></a><span 
 >class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef 
 >__MASTER_METRICS_HPP__</span></div><div class="line"><a 
 >name="l00018"></a><span class="lineno">   18</span>&#160;<span 
 >class="preprocessor">#define __MASTER_METRICS_HPP__</span></div><div cla
 ss="line"><a name="l00019"></a><span class="lineno">   
19</span>&#160;</div><div class="line"><a name="l00020"></a><span 
class="lineno">   20</span>&#160;<span class="preprocessor">#include 
&lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span 
class="lineno">   21</span>&#160;<span class="preprocessor">#include 
&lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span 
class="lineno">   22</span>&#160;</div><div class="line"><a 
name="l00023"></a><span class="lineno">   23</span>&#160;<span 
class="preprocessor">#include &lt;<a class="code" 
href="counter_8hpp.html">process/metrics/counter.hpp</a>&gt;</span></div><div 
class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span 
class="preprocessor">#include &lt;<a class="code" 
href="pull__gauge_8hpp.html">process/metrics/pull_gauge.hpp</a>&gt;</span></div><div
 class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span 
class="preprocessor">#include &lt;<a class="code" 
 
href="3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html">process/metrics/metrics.hpp</a>&gt;</span></div><div
 class="line"><a name="l00026"></a><span class="lineno">   
26</span>&#160;</div><div class="line"><a name="l00027"></a><span 
class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a 
class="code" 
href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div 
class="line"><a name="l00028"></a><span class="lineno">   
28</span>&#160;</div><div class="line"><a name="l00029"></a><span 
class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a 
class="code" 
href="include_2mesos_2mesos_8hpp.html">mesos/mesos.hpp</a>&quot;</span></div><div
 class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span 
class="preprocessor">#include &quot;<a class="code" 
href="type__utils_8hpp.html">mesos/type_utils.hpp</a>&quot;</span></div><div 
class="line"><a name="l00031"></a><span class="lineno">   
31</span>&#160;</div><div 
 class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span 
class="keyword">namespace </span><a class="code" 
href="namespacemesos.html">mesos</a> {</div><div class="line"><a 
name="l00033"></a><span class="lineno">   33</span>&#160;<span 
class="keyword">namespace </span><a class="code" 
href="namespaceinternal.html">internal</a> {</div><div class="line"><a 
name="l00034"></a><span class="lineno">   34</span>&#160;<span 
class="keyword">namespace </span><a class="code" 
href="namespacemesos_1_1v1_1_1master.html">master</a> {</div><div 
class="line"><a name="l00035"></a><span class="lineno">   
35</span>&#160;</div><div class="line"><a name="l00036"></a><span 
class="lineno">   36</span>&#160;<span class="keyword">class 
</span>Master;</div><div class="line"><a name="l00037"></a><span 
class="lineno">   37</span>&#160;</div><div class="line"><a 
name="l00038"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html">   38</a></span>&#160
 ;<span class="keyword">struct </span><a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html">Metrics</a></div><div 
class="line"><a name="l00039"></a><span class="lineno">   
39</span>&#160;{</div><div class="line"><a name="l00040"></a><span 
class="lineno">   40</span>&#160;  <span class="keyword">explicit</span> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a39a2bce993350772570e273bb0df46f7">Metrics</a>(<span
 class="keyword">const</span> <a class="code" 
href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>&amp; <a 
class="code" href="namespacemesos_1_1v1_1_1master.html">master</a>);</div><div 
class="line"><a name="l00041"></a><span class="lineno">   
41</span>&#160;</div><div class="line"><a name="l00042"></a><span 
class="lineno">   42</span>&#160;  <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aaae431bf7f7d919b70f3783f20421462">~Metrics</a>();</div><div
 class="line"><a name="l00043"></a><span class="linen
 o">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a70ec4516c97f6bddec39318e2b30f2d8">
   44</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a70ec4516c97f6bddec39318e2b30f2d8">uptime_secs</a>;</div><div
 class="line"><a name="l00045"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1e62bc8b22770abf563ee99b376c581c">
   45</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1e62bc8b22770abf563ee99b376c581c">elected</a>;</div><div
 class="line"><a name="l00046"></a><span class="lineno">   
46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="line
 no"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a26e08c586a5e159e9c6382f5544cbef1">
   47</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a26e08c586a5e159e9c6382f5544cbef1">slaves_connected</a>;</div><div
 class="line"><a name="l00048"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6262502a21991140cb66ff084c396425">
   48</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6262502a21991140cb66ff084c396425">slaves_disconnected</a>;</div><div
 class="line"><a name="l00049"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aec3ccb995a3d635181bab91e67f49dfa">
   49</a></span>&#160;  <a class="code"
  
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aec3ccb995a3d635181bab91e67f49dfa">slaves_active</a>;</div><div
 class="line"><a name="l00050"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1e44cfcc264b4db3963571e3c3cadb65">
   50</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1e44cfcc264b4db3963571e3c3cadb65">slaves_inactive</a>;</div><div
 class="line"><a name="l00051"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac9e2406eb45ccd88d2c2cb1d0901d80d">
   51</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac9
 e2406eb45ccd88d2c2cb1d0901d80d">slaves_unreachable</a>;</div><div 
class="line"><a name="l00052"></a><span class="lineno">   
52</span>&#160;</div><div class="line"><a name="l00053"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a08aca5b5b6743884d3b879c959c711f6">
   53</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a08aca5b5b6743884d3b879c959c711f6">frameworks_connected</a>;</div><div
 class="line"><a name="l00054"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac498f4ca881aac966bf1036ffffc7c6a">
   54</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac498f4ca881aac966bf1036ffffc7c6a">frameworks_disconnected</a>;</d
 iv><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8c0778cbb787f824bcc97a58bbf78100">
   55</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8c0778cbb787f824bcc97a58bbf78100">frameworks_active</a>;</div><div
 class="line"><a name="l00056"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a099297f921a515d45e6297cf85218fb6">
   56</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a099297f921a515d45e6297cf85218fb6">frameworks_inactive</a>;</div><div
 class="line"><a name="l00057"></a><span class="lineno">   
57</span>&#160;</div><div class="line"><a name="l00058"></a><span 
class="lineno"><a
  class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6481c3e2a31f2fac641d7426b4486671">
   58</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6481c3e2a31f2fac641d7426b4486671">outstanding_offers</a>;</div><div
 class="line"><a name="l00059"></a><span class="lineno">   
59</span>&#160;</div><div class="line"><a name="l00060"></a><span 
class="lineno">   60</span>&#160;  <span class="comment">// Task state 
metrics.</span></div><div class="line"><a name="l00061"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a70889b3e10dbd6236a4e57e72fa670e0">
   61</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a70889b3e10dbd6236a4e57e72fa670e0">tasks_staging</a>;<
 /div><div class="line"><a name="l00062"></a><span class="lineno"><a 
class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af14a269bf807062d14567c9cbed665d3">
   62</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af14a269bf807062d14567c9cbed665d3">tasks_starting</a>;</div><div
 class="line"><a name="l00063"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a647bfd6dc999c12ad28674434ccaaf2c">
   63</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a647bfd6dc999c12ad28674434ccaaf2c">tasks_running</a>;</div><div
 class="line"><a name="l00064"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6b4faba22b0456b30019
 fefeed73731f">   64</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6b4faba22b0456b30019fefeed73731f">tasks_unreachable</a>;</div><div
 class="line"><a name="l00065"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a0112ad545f894777bfed17bb37bf8874">
   65</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a0112ad545f894777bfed17bb37bf8874">tasks_killing</a>;</div><div
 class="line"><a name="l00066"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a39526e59149777e9bdec597f564117bd">
   66</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" href="st
 
ructmesos_1_1internal_1_1master_1_1Metrics.html#a39526e59149777e9bdec597f564117bd">tasks_finished</a>;</div><div
 class="line"><a name="l00067"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a7a931b6abea7aca55a1683d87a8e3f28">
   67</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a7a931b6abea7aca55a1683d87a8e3f28">tasks_failed</a>;</div><div
 class="line"><a name="l00068"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a85c14ac3a539831dca77ce178002de67">
   68</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a85c14ac3a539831dca77ce178002de67">tasks_killed</a>;</div><div
 class="line"><a name="l00069"></a><span class="lineno"><
 a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad7dd4926771fc52212d66ef2a15becb3">
   69</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad7dd4926771fc52212d66ef2a15becb3">tasks_lost</a>;</div><div
 class="line"><a name="l00070"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a690683e4e4acf58df927021113c151e6">
   70</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a690683e4e4acf58df927021113c151e6">tasks_error</a>;</div><div
 class="line"><a name="l00071"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa1142a9799f1f5f5c2cf8c51f5bebe02">
   71</a></span>&#160;  <a class="code" href="classprocess_1_1metr
 ics_1_1Counter.html">process::metrics::Counter</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa1142a9799f1f5f5c2cf8c51f5bebe02">tasks_dropped</a>;</div><div
 class="line"><a name="l00072"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6a3171cad662ad2e98fdb5238507539e">
   72</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6a3171cad662ad2e98fdb5238507539e">tasks_gone</a>;</div><div
 class="line"><a name="l00073"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa28367941aefe4e80158ffbcf48e1cb1">
   73</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa28367941aefe4e80158ffbcf48e1cb1">tasks_gone_b
 y_operator</a>;</div><div class="line"><a name="l00074"></a><span 
class="lineno">   74</span>&#160;</div><div class="line"><a 
name="l00075"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a48d3a800e6f17792bc314e271a7486d0">
   75</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" 
href="classhashmap.html">hashmap&lt;TaskStatus::Reason, 
process::metrics::Counter&gt;</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a48d3a800e6f17792bc314e271a7486d0">Reasons</a>;</div><div
 class="line"><a name="l00076"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a372c76312efe294b401075271f570df2">
   76</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" 
href="classhashmap.html">hashmap&lt;TaskStatus::Source, Reasons&gt;</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a372c76312efe294b401075271f570df2">SourcesRea
 sons</a>;</div><div class="line"><a name="l00077"></a><span class="lineno">   
77</span>&#160;</div><div class="line"><a name="l00078"></a><span 
class="lineno">   78</span>&#160;  <span class="comment">// NOTE: We only track 
metrics sources and reasons for terminal states.</span></div><div 
class="line"><a name="l00079"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#abe77ce337a937a776194f1b7a977c3d6">
   79</a></span>&#160;  <a class="code" 
href="classhashmap.html">hashmap&lt;TaskState, SourcesReasons&gt;</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#abe77ce337a937a776194f1b7a977c3d6">tasks_states</a>;</div><div
 class="line"><a name="l00080"></a><span class="lineno">   
80</span>&#160;</div><div class="line"><a name="l00081"></a><span 
class="lineno">   81</span>&#160;  <span class="comment">// Message 
counters.</span></div><div class="line"><a name="l00082"></a><span 
class="lineno"><a class="line" href="stru
 
ctmesos_1_1internal_1_1master_1_1Metrics.html#a8e91f7067a99d1e4855042ac5353b30f">
   82</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8e91f7067a99d1e4855042ac5353b30f">dropped_messages</a>;</div><div
 class="line"><a name="l00083"></a><span class="lineno">   
83</span>&#160;</div><div class="line"><a name="l00084"></a><span 
class="lineno">   84</span>&#160;  <span class="comment">// Metrics specific to 
frameworks of a common principal.</span></div><div class="line"><a 
name="l00085"></a><span class="lineno">   85</span>&#160;  <span 
class="comment">// These metrics have names prefixed by 
&quot;frameworks/&lt;principal&gt;/&quot;.</span></div><div class="line"><a 
name="l00086"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html">   
86</a></span>&#160;  <span class="keyword">struct </span><a cla
 ss="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html">Frameworks</a></div><div
 class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  
{</div><div class="line"><a name="l00088"></a><span class="lineno">   
88</span>&#160;    <span class="comment">// Counters for messages from all 
frameworks of this principal.</span></div><div class="line"><a 
name="l00089"></a><span class="lineno">   89</span>&#160;    <span 
class="comment">// Note: We only count messages from active 
scheduler</span></div><div class="line"><a name="l00090"></a><span 
class="lineno">   90</span>&#160;    <span class="comment">// *instances* while 
they are *registered*. i.e., messages</span></div><div class="line"><a 
name="l00091"></a><span class="lineno">   91</span>&#160;    <span 
class="comment">// prior to the completion of (re)registration</span></div><div 
class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    
<span class="comment">// (AuthenticateM
 essage and (Re)RegisterFrameworkMessage) and</span></div><div class="line"><a 
name="l00093"></a><span class="lineno">   93</span>&#160;    <span 
class="comment">// messages from an inactive scheduler instance (after 
the</span></div><div class="line"><a name="l00094"></a><span class="lineno">   
94</span>&#160;    <span class="comment">// framework has failed over) are not 
counted.</span></div><div class="line"><a name="l00095"></a><span 
class="lineno">   95</span>&#160;</div><div class="line"><a 
name="l00096"></a><span class="lineno">   96</span>&#160;    <span 
class="comment">// Framework messages received (before 
processing).</span></div><div class="line"><a name="l00097"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#ad38765ccc3a6abfb508be53447f59636">
   97</a></span>&#160;    <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" href="structmesos_1_1internal_1_1m
 
aster_1_1Metrics_1_1Frameworks.html#ad38765ccc3a6abfb508be53447f59636">messages_received</a>;</div><div
 class="line"><a name="l00098"></a><span class="lineno">   
98</span>&#160;</div><div class="line"><a name="l00099"></a><span 
class="lineno">   99</span>&#160;    <span class="comment">// Framework 
messages processed.</span></div><div class="line"><a name="l00100"></a><span 
class="lineno">  100</span>&#160;    <span class="comment">// NOTE: This 
doesn&#39;t include dropped messages. Processing of</span></div><div 
class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    
<span class="comment">// a message may be throttled by a RateLimiter if one 
is</span></div><div class="line"><a name="l00102"></a><span class="lineno">  
102</span>&#160;    <span class="comment">// configured for this principal. 
Also due to Master&#39;s</span></div><div class="line"><a 
name="l00103"></a><span class="lineno">  103</span>&#160;    <span 
class="comment">// asynchronous nature, this do
 esn&#39;t necessarily mean the work</span></div><div class="line"><a 
name="l00104"></a><span class="lineno">  104</span>&#160;    <span 
class="comment">// requested by this message has finished.</span></div><div 
class="line"><a name="l00105"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a3bd4a8dc61299c8ca04a5ae892714567">
  105</a></span>&#160;    <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a3bd4a8dc61299c8ca04a5ae892714567">messages_processed</a>;</div><div
 class="line"><a name="l00106"></a><span class="lineno">  
106</span>&#160;</div><div class="line"><a name="l00107"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a3d370893d1a6aad7943e7bc8428901db">
  107</a></span>&#160;    <span class="keyword">explicit</span> <a class="c
 ode" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a3d370893d1a6aad7943e7bc8428901db">Frameworks</a>(<span
 class="keyword">const</span> std::string&amp; principal)</div><div 
class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      
: messages_received(<span class="stringliteral">&quot;frameworks/&quot;</span> 
+ principal + <span 
class="stringliteral">&quot;/messages_received&quot;</span>),</div><div 
class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;       
 messages_processed(<span class="stringliteral">&quot;frameworks/&quot;</span> 
+ principal + <span 
class="stringliteral">&quot;/messages_processed&quot;</span>)</div><div 
class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    
{</div><div class="line"><a name="l00111"></a><span class="lineno">  
111</span>&#160;      <a class="code" 
href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">process::metrics::add</a>(messages_recei
 ved);</div><div class="line"><a name="l00112"></a><span class="lineno">  
112</span>&#160;      <a class="code" 
href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">process::metrics::add</a>(messages_processed);</div><div
 class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    
}</div><div class="line"><a name="l00114"></a><span class="lineno">  
114</span>&#160;</div><div class="line"><a name="l00115"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a9fe6067077658ff959c270bf876ac05d">
  115</a></span>&#160;    <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a9fe6067077658ff959c270bf876ac05d">~Frameworks</a>()</div><div
 class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    
{</div><div class="line"><a name="l00117"></a><span class="lineno">  
117</span>&#160;      <a class="code" 
href="namespaceprocess_1_1metrics.html#ad561ce4
 
47753dc2edad5d52a8776a141">process::metrics::remove</a>(messages_received);</div><div
 class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      
<a class="code" 
href="namespaceprocess_1_1metrics.html#ad561ce447753dc2edad5d52a8776a141">process::metrics::remove</a>(messages_processed);</div><div
 class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    
}</div><div class="line"><a name="l00120"></a><span class="lineno">  
120</span>&#160;  };</div><div class="line"><a name="l00121"></a><span 
class="lineno">  121</span>&#160;</div><div class="line"><a 
name="l00122"></a><span class="lineno">  122</span>&#160;  <span 
class="comment">// Per-framework-principal metrics keyed by the 
framework</span></div><div class="line"><a name="l00123"></a><span 
class="lineno">  123</span>&#160;  <span class="comment">// 
principal.</span></div><div class="line"><a name="l00124"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics
 .html#af5ccc6bfff9f9302fcdcdc5317f07f60">  124</a></span>&#160;  <a 
class="code" href="classhashmap.html">hashmap&lt;std::string, 
process::Owned&lt;Frameworks&gt;</a>&gt; <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af5ccc6bfff9f9302fcdcdc5317f07f60">frameworks</a>;</div><div
 class="line"><a name="l00125"></a><span class="lineno">  
125</span>&#160;</div><div class="line"><a name="l00126"></a><span 
class="lineno">  126</span>&#160;  <span class="comment">// Messages from 
schedulers.</span></div><div class="line"><a name="l00127"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a612cad8b9660e1ae52f7092d5aa568d0">
  127</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a612cad8b9660e1ae52f7092d5aa568d0">messages_register_framework</a>;</div><div
 class="line"><a name="l00128"></a><sp
 an class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a44bbd93586ba17a01d31829c72ab4fb2">
  128</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a44bbd93586ba17a01d31829c72ab4fb2">messages_reregister_framework</a>;</div><div
 class="line"><a name="l00129"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac8383c6c7f9d124186fdb07932ffc219">
  129</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac8383c6c7f9d124186fdb07932ffc219">messages_unregister_framework</a>;</div><div
 class="line"><a name="l00130"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a559904bbd317f2a1ae58268f4890d8df">
  130</a><
 /span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a559904bbd317f2a1ae58268f4890d8df">messages_deactivate_framework</a>;</div><div
 class="line"><a name="l00131"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a666173576f6f7520c68112c36b19ae3c">
  131</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a666173576f6f7520c68112c36b19ae3c">messages_kill_task</a>;</div><div
 class="line"><a name="l00132"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a58de8e2be417fde18aa2a8d99d5abc82">
  132</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" href="structmesos_1_1in
 
ternal_1_1master_1_1Metrics.html#a58de8e2be417fde18aa2a8d99d5abc82">messages_status_update_acknowledgement</a>;</div><div
 class="line"><a name="l00133"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a3d2af6d350ca9d82711aee564e7966f0">
  133</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a3d2af6d350ca9d82711aee564e7966f0">messages_resource_request</a>;</div><div
 class="line"><a name="l00134"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a9261f5527ee16f141ea8308ed9f98423">
  134</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a9261f5527ee16f141ea8308ed9f98423">messages_launch_tasks</a>;</div><div
 class="line"><a name="l00
 135"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1a63cbea6230628470eff6819734bef8">
  135</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1a63cbea6230628470eff6819734bef8">messages_decline_offers</a>;</div><div
 class="line"><a name="l00136"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af7d865f7470c4fd7ddca98338c17b0ae">
  136</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af7d865f7470c4fd7ddca98338c17b0ae">messages_revive_offers</a>;</div><div
 class="line"><a name="l00137"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af10a7222b2cb0fba6f092c14b9fe0325">
  137</a></
 span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af10a7222b2cb0fba6f092c14b9fe0325">messages_suppress_offers</a>;</div><div
 class="line"><a name="l00138"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8d524a122b22e0aad92a8752aee2c774">
  138</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8d524a122b22e0aad92a8752aee2c774">messages_reconcile_operations</a>;</div><div
 class="line"><a name="l00139"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#addd4feb9c3774a06d72dbc8f3251c99c">
  139</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" href="structmesos_
 
1_1internal_1_1master_1_1Metrics.html#addd4feb9c3774a06d72dbc8f3251c99c">messages_reconcile_tasks</a>;</div><div
 class="line"><a name="l00140"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ae82f47176d6b9adaf37fa46740ce9e79">
  140</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ae82f47176d6b9adaf37fa46740ce9e79">messages_framework_to_executor</a>;</div><div
 class="line"><a name="l00141"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aed5f4b217e4831e61453f3e315ac295d">
  141</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aed5f4b217e4831e61453f3e315ac295d">messages_operation_status_update_acknowledgement</a>;</div><div
 cl
 ass="line"><a name="l00142"></a><span class="lineno">  
142</span>&#160;</div><div class="line"><a name="l00143"></a><span 
class="lineno">  143</span>&#160;  <span class="comment">// Messages from 
executors.</span></div><div class="line"><a name="l00144"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a2eb4869f2bb00cf613a9553562cbbbdf">
  144</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a2eb4869f2bb00cf613a9553562cbbbdf">messages_executor_to_framework</a>;</div><div
 class="line"><a name="l00145"></a><span class="lineno">  
145</span>&#160;</div><div class="line"><a name="l00146"></a><span 
class="lineno">  146</span>&#160;  <span class="comment">// Messages from 
slaves.</span></div><div class="line"><a name="l00147"></a><span 
class="lineno"><a class="line" href="structmesos_1_1internal_1_1master_1_1Metr
 ics.html#a46309749d4ffa9c670140867e3cf36fc">  147</a></span>&#160;  <a 
class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a46309749d4ffa9c670140867e3cf36fc">messages_register_slave</a>;</div><div
 class="line"><a name="l00148"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad1dd95dd3de0d869e6d70d420b60f0f3">
  148</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad1dd95dd3de0d869e6d70d420b60f0f3">messages_reregister_slave</a>;</div><div
 class="line"><a name="l00149"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a29ab181056a4cfb0a78f085dbbb491ab">
  149</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metri
 cs::Counter</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a29ab181056a4cfb0a78f085dbbb491ab">messages_unregister_slave</a>;</div><div
 class="line"><a name="l00150"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a58fdaf13c929f36f4099200ac8e3f9bd">
  150</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a58fdaf13c929f36f4099200ac8e3f9bd">messages_status_update</a>;</div><div
 class="line"><a name="l00151"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad26f22fc61439f4b56514d2f77c97d42">
  151</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad26f22fc61439f4b56514d2f77c97d42">messages_exited_executo
 r</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a 
class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#acc3540a7106f4470af2fb319ee857451">
  152</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#acc3540a7106f4470af2fb319ee857451">messages_update_slave</a>;</div><div
 class="line"><a name="l00153"></a><span class="lineno">  
153</span>&#160;</div><div class="line"><a name="l00154"></a><span 
class="lineno">  154</span>&#160;  <span class="comment">// Messages from both 
schedulers and slaves.</span></div><div class="line"><a name="l00155"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#afc3e520363a30f0510895ad3aee46d16">
  155</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" href="structmesos_1
 
_1internal_1_1master_1_1Metrics.html#afc3e520363a30f0510895ad3aee46d16">messages_authenticate</a>;</div><div
 class="line"><a name="l00156"></a><span class="lineno">  
156</span>&#160;</div><div class="line"><a name="l00157"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a16ce19fe4ad22156b689916522a7d69f">
  157</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a16ce19fe4ad22156b689916522a7d69f">valid_framework_to_executor_messages</a>;</div><div
 class="line"><a name="l00158"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ae19878a2b0ecc4753d505625077263af">
  158</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ae19878a2b0ecc4
 753d505625077263af">invalid_framework_to_executor_messages</a>;</div><div 
class="line"><a name="l00159"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a61b65651a7b84e160c9aa37a14ef93b6">
  159</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a61b65651a7b84e160c9aa37a14ef93b6">valid_executor_to_framework_messages</a>;</div><div
 class="line"><a name="l00160"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa8b3fe4a1a106ce0f1660884d0f8d9bd">
  160</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa8b3fe4a1a106ce0f1660884d0f8d9bd">invalid_executor_to_framework_messages</a>;</div><div
 class="line"><a name="l00161"></a><span class
 ="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a2b972adc75ee7a0ba75d20ebb8540db4">
  162</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a2b972adc75ee7a0ba75d20ebb8540db4">valid_status_updates</a>;</div><div
 class="line"><a name="l00163"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1fe6b1e4082d0248423d5c274e4496f7">
  163</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1fe6b1e4082d0248423d5c274e4496f7">invalid_status_updates</a>;</div><div
 class="line"><a name="l00164"></a><span class="lineno">  
164</span>&#160;</div><div class="line"><a name="l00165
 "></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a29d92c02e6ea0e2a1c5ece906baae065">
  165</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a29d92c02e6ea0e2a1c5ece906baae065">valid_status_update_acknowledgements</a>;</div><div
 class="line"><a name="l00166"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6299e75c71aecf7cef2dd4c8d1b06baa">
  166</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6299e75c71aecf7cef2dd4c8d1b06baa">invalid_status_update_acknowledgements</a>;</div><div
 class="line"><a name="l00167"></a><span class="lineno">  
167</span>&#160;</div><div class="line"><a name="l00168"></a><span 
class="lineno"><a class
 ="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aadad0739da3f29af08a5f5104ee52162">
  168</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aadad0739da3f29af08a5f5104ee52162">valid_operation_status_update_acknowledgements</a>;</div><div
 class="line"><a name="l00169"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a78f4e3737d2bf9be3a9f59ef0ac01d9f">
  169</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a78f4e3737d2bf9be3a9f59ef0ac01d9f">invalid_operation_status_update_acknowledgements</a>;</div><div
 class="line"><a name="l00170"></a><span class="lineno">  
170</span>&#160;</div><div class="line"><a name="l00171"></a><span 
class="lineno">  171</span>&#160;  <sp
 an class="comment">// Recovery counters.</span></div><div class="line"><a 
name="l00172"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af5adca0d3192a283af9494257f966d09">
  172</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af5adca0d3192a283af9494257f966d09">recovery_slave_removals</a>;</div><div
 class="line"><a name="l00173"></a><span class="lineno">  
173</span>&#160;</div><div class="line"><a name="l00174"></a><span 
class="lineno">  174</span>&#160;  <span class="comment">// Process 
metrics.</span></div><div class="line"><a name="l00175"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a2ec7f6c7401c2bf5e8ea40f170254f9b">
  175</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="cod
 e" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a2ec7f6c7401c2bf5e8ea40f170254f9b">event_queue_messages</a>;</div><div
 class="line"><a name="l00176"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a87d392eb867ce65431c51b8457ad144e">
  176</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a87d392eb867ce65431c51b8457ad144e">event_queue_dispatches</a>;</div><div
 class="line"><a name="l00177"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a95f98bcbec8f2a877f90325a4ffa7736">
  177</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a95f98bcbec8f2a877f90325a4ffa7736">event_queue_http_requests</a>;</div><div
 class="l
 ine"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div 
class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  
<span class="comment">// Successful registry operations.</span></div><div 
class="line"><a name="l00180"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#afd6c16298eaa2f63250c5ce9a023210f">
  180</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#afd6c16298eaa2f63250c5ce9a023210f">slave_registrations</a>;</div><div
 class="line"><a name="l00181"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a834e98f4a98d2270562c87497250160c">
  181</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" href="structmesos_1_1internal_1_1master_1_1Metrics.html#
 a834e98f4a98d2270562c87497250160c">slave_reregistrations</a>;</div><div 
class="line"><a name="l00182"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a5dcfe22f0645a2fe6f3fd475ef2f69fc">
  182</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a5dcfe22f0645a2fe6f3fd475ef2f69fc">slave_removals</a>;</div><div
 class="line"><a name="l00183"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a65a34c2b5e3002473104af3d2fc6f46c">
  183</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a65a34c2b5e3002473104af3d2fc6f46c">slave_removals_reason_unhealthy</a>;</div><div
 class="line"><a name="l00184"></a><span class="lineno"><a class="line" href=
 
"structmesos_1_1internal_1_1master_1_1Metrics.html#a7d7082c14a0e36636b719007a631cc7d">
  184</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a7d7082c14a0e36636b719007a631cc7d">slave_removals_reason_unregistered</a>;</div><div
 class="line"><a name="l00185"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a55228bc0e63de4823cbd444074a6fa42">
  185</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a55228bc0e63de4823cbd444074a6fa42">slave_removals_reason_registered</a>;</div><div
 class="line"><a name="l00186"></a><span class="lineno">  
186</span>&#160;</div><div class="line"><a name="l00187"></a><span 
class="lineno">  187</span>&#160;  <span class="comment">// Slave observer metr
 ics.</span></div><div class="line"><a name="l00188"></a><span class="lineno">  
188</span>&#160;  <span class="comment">//</span></div><div class="line"><a 
name="l00189"></a><span class="lineno">  189</span>&#160;  <span 
class="comment">// TODO(neilc): The `slave_shutdowns_xxx` metrics are 
deprecated and</span></div><div class="line"><a name="l00190"></a><span 
class="lineno">  190</span>&#160;  <span class="comment">// will always be 
zero. Remove in Mesos 2.0.</span></div><div class="line"><a 
name="l00191"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a347ac93b5ead08496b21616e24ec9917">
  191</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a347ac93b5ead08496b21616e24ec9917">slave_shutdowns_scheduled</a>;</div><div
 class="line"><a name="l00192"></a><span class="lineno"><a class="line" 
href="structmesos_
 1_1internal_1_1master_1_1Metrics.html#a16a3260f2643981ea50504dd02f80017">  
192</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a16a3260f2643981ea50504dd02f80017">slave_shutdowns_completed</a>;</div><div
 class="line"><a name="l00193"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ab91ff312b213a7c8ea40c66ae13b325a">
  193</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ab91ff312b213a7c8ea40c66ae13b325a">slave_shutdowns_canceled</a>;</div><div
 class="line"><a name="l00194"></a><span class="lineno">  
194</span>&#160;</div><div class="line"><a name="l00195"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a48b54c3f8bd8c4023b8f2
 47b9b8a967e">  195</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a48b54c3f8bd8c4023b8f247b9b8a967e">slave_unreachable_scheduled</a>;</div><div
 class="line"><a name="l00196"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad7ba3bebe9911c01a2c9a8dc333f2d71">
  196</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad7ba3bebe9911c01a2c9a8dc333f2d71">slave_unreachable_completed</a>;</div><div
 class="line"><a name="l00197"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ab2b6bd2a69f9f1e35f0644b51e6683ed">
  197</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class=
 "code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ab2b6bd2a69f9f1e35f0644b51e6683ed">slave_unreachable_canceled</a>;</div><div
 class="line"><a name="l00198"></a><span class="lineno">  
198</span>&#160;</div><div class="line"><a name="l00199"></a><span 
class="lineno">  199</span>&#160;  <span class="comment">// Non-revocable 
resources.</span></div><div class="line"><a name="l00200"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ae5e47a312c31b2ebc9e5d97f3e03218c">
  200</a></span>&#160;  std::vector&lt;process::metrics::PullGauge&gt; <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ae5e47a312c31b2ebc9e5d97f3e03218c">resources_total</a>;</div><div
 class="line"><a name="l00201"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a7508c38779f77d0532331c3604242ac1">
  201</a></span>&#160;  std::vector&lt;process::metrics::PullGauge&gt; <a 
class="code" href="struc
 
tmesos_1_1internal_1_1master_1_1Metrics.html#a7508c38779f77d0532331c3604242ac1">resources_used</a>;</div><div
 class="line"><a name="l00202"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ae5e4613a02722c65edb8424ad3a3e4e6">
  202</a></span>&#160;  std::vector&lt;process::metrics::PullGauge&gt; <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ae5e4613a02722c65edb8424ad3a3e4e6">resources_percent</a>;</div><div
 class="line"><a name="l00203"></a><span class="lineno">  
203</span>&#160;</div><div class="line"><a name="l00204"></a><span 
class="lineno">  204</span>&#160;  <span class="comment">// Revocable 
resources.</span></div><div class="line"><a name="l00205"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa525f263f2d592fbe3e6b6fbadced301">
  205</a></span>&#160;  std::vector&lt;process::metrics::PullGauge&gt; <a 
class="code" href="structmesos_1_1internal_1_1master_1_1
 
Metrics.html#aa525f263f2d592fbe3e6b6fbadced301">resources_revocable_total</a>;</div><div
 class="line"><a name="l00206"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a3c6fabd7689dfe84ce0fdcdaf7bbd0dd">
  206</a></span>&#160;  std::vector&lt;process::metrics::PullGauge&gt; <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a3c6fabd7689dfe84ce0fdcdaf7bbd0dd">resources_revocable_used</a>;</div><div
 class="line"><a name="l00207"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a96d121a23bcfbfa60c37494a7231d0af">
  207</a></span>&#160;  std::vector&lt;process::metrics::PullGauge&gt; <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a96d121a23bcfbfa60c37494a7231d0af">resources_revocable_percent</a>;</div><div
 class="line"><a name="l00208"></a><span class="lineno">  
208</span>&#160;</div><div class="line"><a name="l00209"></a><span 
class="lineno">  209<
 /span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac506f96b11b8090140a74ee55efe4121">incrementInvalidSchedulerCalls</a>(<span
 class="keyword">const</span> <a class="code" 
href="namespacemesos_1_1internal_1_1tests_1_1v1_1_1scheduler.html#acb18ceaa5f6f2338f2a9727af398eb79">scheduler::Call</a>&amp;
 call);</div><div class="line"><a name="l00210"></a><span class="lineno">  
210</span>&#160;</div><div class="line"><a name="l00211"></a><span 
class="lineno">  211</span>&#160;  <span class="keywordtype">void</span> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ab1cbee967e10c55507537367df2e5122">incrementTasksStates</a>(</div><div
 class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      
<span class="keyword">const</span> TaskState&amp; state,</div><div 
class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;      
<span class="keyword">const</span> TaskStatu
 s::Source&amp; source,</div><div class="line"><a name="l00214"></a><span 
class="lineno">  214</span>&#160;      <span class="keyword">const</span> 
TaskStatus::Reason&amp; reason);</div><div class="line"><a 
name="l00215"></a><span class="lineno">  215</span>&#160;};</div><div 
class="line"><a name="l00216"></a><span class="lineno">  
216</span>&#160;</div><div class="line"><a name="l00217"></a><span 
class="lineno">  217</span>&#160;} <span class="comment">// namespace master 
{</span></div><div class="line"><a name="l00218"></a><span class="lineno">  
218</span>&#160;} <span class="comment">// namespace internal 
{</span></div><div class="line"><a name="l00219"></a><span class="lineno">  
219</span>&#160;} <span class="comment">// namespace mesos {</span></div><div 
class="line"><a name="l00220"></a><span class="lineno">  
220</span>&#160;</div><div class="line"><a name="l00221"></a><span 
class="lineno">  221</span>&#160;<span class="preprocessor">#endif // 
__MASTER_METRICS_HPP__</span></div
 ><div class="ttc" 
 >id="structmesos_1_1internal_1_1master_1_1Metrics_html_a2eb4869f2bb00cf613a9553562cbbbdf"><div
 > class="ttname"><a 
 >href="structmesos_1_1internal_1_1master_1_1Metrics.html#a2eb4869f2bb00cf613a9553562cbbbdf">mesos::internal::master::Metrics::messages_executor_to_framework</a></div><div
 > class="ttdeci">process::metrics::Counter 
 >messages_executor_to_framework</div><div class="ttdef"><b>Definition:</b> 
 >metrics.hpp:144</div></div>
-<div class="ttc" 
id="structmesos_1_1internal_1_1master_1_1Metrics_html_ad1dd95dd3de0d869e6d70d420b60f0f3"><div
 class="ttname"><a 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad1dd95dd3de0d869e6d70d420b60f0f3">mesos::internal::master::Metrics::messages_reregister_slave</a></div><div
 class="ttdeci">process::metrics::Counter messages_reregister_slave</div><div 
class="ttdef"><b>Definition:</b> metrics.hpp:148</div></div>
-<div class="ttc" 
id="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks_html_a9fe6067077658ff959c270bf876ac05d"><div
 class="ttname"><a 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a9fe6067077658ff959c270bf876ac05d">mesos::internal::master::Metrics::Frameworks::~Frameworks</a></div><div
 class="ttdeci">~Frameworks()</div><div class="ttdef"><b>Definition:</b> 
metrics.hpp:115</div></div>
-<div class="ttc" 
id="structmesos_1_1internal_1_1master_1_1Metrics_html_a6481c3e2a31f2fac641d7426b4486671"><div
 class="ttname"><a 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6481c3e2a31f2fac641d7426b4486671">mesos::internal::master::Metrics::outstanding_offers</a></div><div
 class="ttdeci">process::metrics::PullGauge outstanding_offers</div><div 
class="ttdef"><b>Definition:</b> metrics.hpp:58</div></div>
-<div class="ttc" 
id="structmesos_1_1internal_1_1master_1_1Metrics_html_a099297f921a515d45e6297cf85218fb6"><div
 class="ttname"><a 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a099297f921a515d45e6297cf85218fb6">mesos::internal::master::Metrics::frameworks_inactive</a></div><div
 class="ttdeci">process::metrics::PullGauge frameworks_inactive</div><div 
class="ttdef"><b>Definition:</b> metrics.hpp:56</div></div>
-<div class="ttc" 
id="structmesos_1_1internal_1_1master_1_1Metrics_html_a44bbd93586ba17a01d31829c72ab4fb2"><div
 class="ttname"><a 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a44bbd93586ba17a01d31829c72ab4fb2">mesos::internal::master::Metrics::messages_reregister_framework</a></div><div
 class="ttdeci">process::metrics::Counter 
messages_reregister_framework</div><div class="ttdef"><b>Definition:</b> 
metrics.hpp:128</div></div>
-<div class="ttc" 
id="structmesos_1_1internal_1_1master_1_1Metrics_html_af5adca0d3192a283af9494257f966d09"><div
 class="ttname"><a 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af5adca0d3192a283af9494257f966d09">mesos::internal::master::Metrics::recovery_slave_removals</a></div><div
 class="ttdeci">process::metrics::Counter recovery_slave_removals</div><div 
class="ttdef"><b>Definition:</b> metrics.hpp:172</div></div>
+<a href="src_2master_2metrics_8hpp.html">Go to the documentation of this 
file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span 
class="lineno">    1</span>&#160;<span class="comment">// Licensed to the 
Apache Software Foundation (ASF) under one</span></div><div class="line"><a 
name="l00002"></a><span class="lineno">    2</span>&#160;<span 
class="comment">// or more contributor license agreements.  See the NOTICE 
file</span></div><div class="line"><a name="l00003"></a><span class="lineno">   
 3</span>&#160;<span class="comment">// distributed with this work for 
additional information</span></div><div class="line"><a name="l00004"></a><span 
class="lineno">    4</span>&#160;<span class="comment">// regarding copyright 
ownership.  The ASF licenses this file</span></div><div class="line"><a 
name="l00005"></a><span class="lineno">    5</span>&#160;<span 
class="comment">// to you under the Apache License, Version 2.0 
(the</span></div><div class="line"><a name="l00006">
 </a><span class="lineno">    6</span>&#160;<span class="comment">// 
&quot;License&quot;); you may not use this file except in 
compliance</span></div><div class="line"><a name="l00007"></a><span 
class="lineno">    7</span>&#160;<span class="comment">// with the License.  
You may obtain a copy of the License at</span></div><div class="line"><a 
name="l00008"></a><span class="lineno">    8</span>&#160;<span 
class="comment">//</span></div><div class="line"><a name="l00009"></a><span 
class="lineno">    9</span>&#160;<span class="comment">//     
http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a 
name="l00010"></a><span class="lineno">   10</span>&#160;<span 
class="comment">//</span></div><div class="line"><a name="l00011"></a><span 
class="lineno">   11</span>&#160;<span class="comment">// Unless required by 
applicable law or agreed to in writing, software</span></div><div 
class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span 
class="comment"
 >// distributed under the License is distributed on an &quot;AS IS&quot; 
 >BASIS,</span></div><div class="line"><a name="l00013"></a><span 
 >class="lineno">   13</span>&#160;<span class="comment">// WITHOUT WARRANTIES 
 >OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div 
 >class="line"><a name="l00014"></a><span class="lineno">   
 >14</span>&#160;<span class="comment">// See the License for the specific 
 >language governing permissions and</span></div><div class="line"><a 
 >name="l00015"></a><span class="lineno">   15</span>&#160;<span 
 >class="comment">// limitations under the License.</span></div><div 
 >class="line"><a name="l00016"></a><span class="lineno">   
 >16</span>&#160;</div><div class="line"><a name="l00017"></a><span 
 >class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef 
 >__MASTER_METRICS_HPP__</span></div><div class="line"><a 
 >name="l00018"></a><span class="lineno">   18</span>&#160;<span 
 >class="preprocessor">#define __MASTER_METRICS_HPP__</span></div><div cla
 ss="line"><a name="l00019"></a><span class="lineno">   
19</span>&#160;</div><div class="line"><a name="l00020"></a><span 
class="lineno">   20</span>&#160;<span class="preprocessor">#include 
&lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span 
class="lineno">   21</span>&#160;<span class="preprocessor">#include 
&lt;vector&gt;</span></div><div class="line"><a name="l00022"></a><span 
class="lineno">   22</span>&#160;</div><div class="line"><a 
name="l00023"></a><span class="lineno">   23</span>&#160;<span 
class="preprocessor">#include &lt;<a class="code" 
href="scheduler_2scheduler_8hpp.html">mesos/scheduler/scheduler.hpp</a>&gt;</span></div><div
 class="line"><a name="l00024"></a><span class="lineno">   
24</span>&#160;</div><div class="line"><a name="l00025"></a><span 
class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a 
class="code" 
href="counter_8hpp.html">process/metrics/counter.hpp</a>&gt;</span></div><div 
class="line"><a name="l00026"></a><sp
 an class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a 
class="code" 
href="pull__gauge_8hpp.html">process/metrics/pull_gauge.hpp</a>&gt;</span></div><div
 class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span 
class="preprocessor">#include &lt;<a class="code" 
href="push__gauge_8hpp.html">process/metrics/push_gauge.hpp</a>&gt;</span></div><div
 class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span 
class="preprocessor">#include &lt;<a class="code" 
href="3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html">process/metrics/metrics.hpp</a>&gt;</span></div><div
 class="line"><a name="l00029"></a><span class="lineno">   
29</span>&#160;</div><div class="line"><a name="l00030"></a><span 
class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a 
class="code" 
href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div 
class="line"><a name="l00031"></a><span class="lineno">   31</span>&#
 160;</div><div class="line"><a name="l00032"></a><span class="lineno">   
32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" 
href="include_2mesos_2mesos_8hpp.html">mesos/mesos.hpp</a>&quot;</span></div><div
 class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span 
class="preprocessor">#include &quot;<a class="code" 
href="type__utils_8hpp.html">mesos/type_utils.hpp</a>&quot;</span></div><div 
class="line"><a name="l00034"></a><span class="lineno">   
34</span>&#160;</div><div class="line"><a name="l00035"></a><span 
class="lineno">   35</span>&#160;<span class="keyword">namespace </span><a 
class="code" href="namespacemesos.html">mesos</a> {</div><div class="line"><a 
name="l00036"></a><span class="lineno">   36</span>&#160;<span 
class="keyword">namespace </span><a class="code" 
href="namespaceinternal.html">internal</a> {</div><div class="line"><a 
name="l00037"></a><span class="lineno">   37</span>&#160;<span 
class="keyword">namespace </span><a cl
 ass="code" href="namespacemesos_1_1v1_1_1master.html">master</a> {</div><div 
class="line"><a name="l00038"></a><span class="lineno">   
38</span>&#160;</div><div class="line"><a name="l00039"></a><span 
class="lineno">   39</span>&#160;<span class="keyword">class 
</span>Master;</div><div class="line"><a name="l00040"></a><span 
class="lineno">   40</span>&#160;</div><div class="line"><a 
name="l00041"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html">   
41</a></span>&#160;<span class="keyword">struct </span><a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html">Metrics</a></div><div 
class="line"><a name="l00042"></a><span class="lineno">   
42</span>&#160;{</div><div class="line"><a name="l00043"></a><span 
class="lineno">   43</span>&#160;  <span class="keyword">explicit</span> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a39a2bce993350772570e273bb0df46f7">Metrics</a>(<span
 class="keyword">const<
 /span> <a class="code" 
href="classmesos_1_1internal_1_1master_1_1Master.html">Master</a>&amp; <a 
class="code" href="namespacemesos_1_1v1_1_1master.html">master</a>);</div><div 
class="line"><a name="l00044"></a><span class="lineno">   
44</span>&#160;</div><div class="line"><a name="l00045"></a><span 
class="lineno">   45</span>&#160;  <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aaae431bf7f7d919b70f3783f20421462">~Metrics</a>();</div><div
 class="line"><a name="l00046"></a><span class="lineno">   
46</span>&#160;</div><div class="line"><a name="l00047"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a70ec4516c97f6bddec39318e2b30f2d8">
   47</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a70ec4516c97f6bddec39318e2b30f2d8">uptime_secs</a>;</div><div
 class="line"><a name="l00048
 "></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1e62bc8b22770abf563ee99b376c581c">
   48</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1e62bc8b22770abf563ee99b376c581c">elected</a>;</div><div
 class="line"><a name="l00049"></a><span class="lineno">   
49</span>&#160;</div><div class="line"><a name="l00050"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a26e08c586a5e159e9c6382f5544cbef1">
   50</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a26e08c586a5e159e9c6382f5544cbef1">slaves_connected</a>;</div><div
 class="line"><a name="l00051"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1ma
 ster_1_1Metrics.html#a6262502a21991140cb66ff084c396425">   51</a></span>&#160; 
 <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6262502a21991140cb66ff084c396425">slaves_disconnected</a>;</div><div
 class="line"><a name="l00052"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aec3ccb995a3d635181bab91e67f49dfa">
   52</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aec3ccb995a3d635181bab91e67f49dfa">slaves_active</a>;</div><div
 class="line"><a name="l00053"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1e44cfcc264b4db3963571e3c3cadb65">
   53</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process:
 :metrics::PullGauge</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a1e44cfcc264b4db3963571e3c3cadb65">slaves_inactive</a>;</div><div
 class="line"><a name="l00054"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac9e2406eb45ccd88d2c2cb1d0901d80d">
   54</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac9e2406eb45ccd88d2c2cb1d0901d80d">slaves_unreachable</a>;</div><div
 class="line"><a name="l00055"></a><span class="lineno">   
55</span>&#160;</div><div class="line"><a name="l00056"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a08aca5b5b6743884d3b879c959c711f6">
   56</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" href="structmesos_1_1interna
 
l_1_1master_1_1Metrics.html#a08aca5b5b6743884d3b879c959c711f6">frameworks_connected</a>;</div><div
 class="line"><a name="l00057"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac498f4ca881aac966bf1036ffffc7c6a">
   57</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ac498f4ca881aac966bf1036ffffc7c6a">frameworks_disconnected</a>;</div><div
 class="line"><a name="l00058"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8c0778cbb787f824bcc97a58bbf78100">
   58</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8c0778cbb787f824bcc97a58bbf78100">frameworks_active</a>;</div><div
 class="line"><a name="l00059"></a><span class=
 "lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a099297f921a515d45e6297cf85218fb6">
   59</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a099297f921a515d45e6297cf85218fb6">frameworks_inactive</a>;</div><div
 class="line"><a name="l00060"></a><span class="lineno">   
60</span>&#160;</div><div class="line"><a name="l00061"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6481c3e2a31f2fac641d7426b4486671">
   61</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6481c3e2a31f2fac641d7426b4486671">outstanding_offers</a>;</div><div
 class="line"><a name="l00062"></a><span class="lineno">   
62</span>&#160;</div><div class="line"><a name="l000
 63"></a><span class="lineno">   63</span>&#160;  <span class="comment">// Task 
state metrics.</span></div><div class="line"><a name="l00064"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a70889b3e10dbd6236a4e57e72fa670e0">
   64</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a70889b3e10dbd6236a4e57e72fa670e0">tasks_staging</a>;</div><div
 class="line"><a name="l00065"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af14a269bf807062d14567c9cbed665d3">
   65</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af14a269bf807062d14567c9cbed665d3">tasks_starting</a>;</div><div
 class="line"><a name="l00066"></a><span class="
 lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a647bfd6dc999c12ad28674434ccaaf2c">
   66</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a647bfd6dc999c12ad28674434ccaaf2c">tasks_running</a>;</div><div
 class="line"><a name="l00067"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6b4faba22b0456b30019fefeed73731f">
   67</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6b4faba22b0456b30019fefeed73731f">tasks_unreachable</a>;</div><div
 class="line"><a name="l00068"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a0112ad545f894777bfed17bb37bf8874">
   68</a></span>&#160;  <a class="code" 
 
href="classprocess_1_1metrics_1_1PullGauge.html">process::metrics::PullGauge</a>
 <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a0112ad545f894777bfed17bb37bf8874">tasks_killing</a>;</div><div
 class="line"><a name="l00069"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a39526e59149777e9bdec597f564117bd">
   69</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a39526e59149777e9bdec597f564117bd">tasks_finished</a>;</div><div
 class="line"><a name="l00070"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a7a931b6abea7aca55a1683d87a8e3f28">
   70</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a7a931b6abea7
 aca55a1683d87a8e3f28">tasks_failed</a>;</div><div class="line"><a 
name="l00071"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a85c14ac3a539831dca77ce178002de67">
   71</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a85c14ac3a539831dca77ce178002de67">tasks_killed</a>;</div><div
 class="line"><a name="l00072"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad7dd4926771fc52212d66ef2a15becb3">
   72</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#ad7dd4926771fc52212d66ef2a15becb3">tasks_lost</a>;</div><div
 class="line"><a name="l00073"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics
 .html#a690683e4e4acf58df927021113c151e6">   73</a></span>&#160;  <a 
class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a690683e4e4acf58df927021113c151e6">tasks_error</a>;</div><div
 class="line"><a name="l00074"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa1142a9799f1f5f5c2cf8c51f5bebe02">
   74</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa1142a9799f1f5f5c2cf8c51f5bebe02">tasks_dropped</a>;</div><div
 class="line"><a name="l00075"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6a3171cad662ad2e98fdb5238507539e">
   75</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="c
 ode" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a6a3171cad662ad2e98fdb5238507539e">tasks_gone</a>;</div><div
 class="line"><a name="l00076"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa28367941aefe4e80158ffbcf48e1cb1">
   76</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#aa28367941aefe4e80158ffbcf48e1cb1">tasks_gone_by_operator</a>;</div><div
 class="line"><a name="l00077"></a><span class="lineno">   
77</span>&#160;</div><div class="line"><a name="l00078"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a48d3a800e6f17792bc314e271a7486d0">
   78</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" 
href="classhashmap.html">hashmap&lt;TaskStatus::Reason, 
process::metrics::Counter&gt;</a> <a class="code" href="structmesos_1_1i
 
nternal_1_1master_1_1Metrics.html#a48d3a800e6f17792bc314e271a7486d0">Reasons</a>;</div><div
 class="line"><a name="l00079"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a372c76312efe294b401075271f570df2">
   79</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" 
href="classhashmap.html">hashmap&lt;TaskStatus::Source, Reasons&gt;</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a372c76312efe294b401075271f570df2">SourcesReasons</a>;</div><div
 class="line"><a name="l00080"></a><span class="lineno">   
80</span>&#160;</div><div class="line"><a name="l00081"></a><span 
class="lineno">   81</span>&#160;  <span class="comment">// NOTE: We only track 
metrics sources and reasons for terminal states.</span></div><div 
class="line"><a name="l00082"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#abe77ce337a937a776194f1b7a977c3d6">
   82</a></span>&#160;  <
 a class="code" href="classhashmap.html">hashmap&lt;TaskState, 
SourcesReasons&gt;</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#abe77ce337a937a776194f1b7a977c3d6">tasks_states</a>;</div><div
 class="line"><a name="l00083"></a><span class="lineno">   
83</span>&#160;</div><div class="line"><a name="l00084"></a><span 
class="lineno">   84</span>&#160;  <span class="comment">// Message 
counters.</span></div><div class="line"><a name="l00085"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8e91f7067a99d1e4855042ac5353b30f">
   85</a></span>&#160;  <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#a8e91f7067a99d1e4855042ac5353b30f">dropped_messages</a>;</div><div
 class="line"><a name="l00086"></a><span class="lineno">   
86</span>&#160;</div><div class="line"><a name="l00087"></a><span 
class="lineno"> 
   87</span>&#160;  <span class="comment">// Metrics specific to frameworks of 
a common principal.</span></div><div class="line"><a name="l00088"></a><span 
class="lineno">   88</span>&#160;  <span class="comment">// These metrics have 
names prefixed by &quot;frameworks/&lt;principal&gt;/&quot;.</span></div><div 
class="line"><a name="l00089"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html">   
89</a></span>&#160;  <span class="keyword">struct </span><a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html">Frameworks</a></div><div
 class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  
{</div><div class="line"><a name="l00091"></a><span class="lineno">   
91</span>&#160;    <span class="comment">// Counters for messages from all 
frameworks of this principal.</span></div><div class="line"><a 
name="l00092"></a><span class="lineno">   92</span>&#160;    <span 
class="comment">// No
 te: We only count messages from active scheduler</span></div><div 
class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    
<span class="comment">// *instances* while they are *registered*. i.e., 
messages</span></div><div class="line"><a name="l00094"></a><span 
class="lineno">   94</span>&#160;    <span class="comment">// prior to the 
completion of (re)registration</span></div><div class="line"><a 
name="l00095"></a><span class="lineno">   95</span>&#160;    <span 
class="comment">// (AuthenticateMessage and (Re)RegisterFrameworkMessage) 
and</span></div><div class="line"><a name="l00096"></a><span class="lineno">   
96</span>&#160;    <span class="comment">// messages from an inactive scheduler 
instance (after the</span></div><div class="line"><a name="l00097"></a><span 
class="lineno">   97</span>&#160;    <span class="comment">// framework has 
failed over) are not counted.</span></div><div class="line"><a 
name="l00098"></a><span class="lineno">   98</span>&#160;</di
 v><div class="line"><a name="l00099"></a><span class="lineno">   
99</span>&#160;    <span class="comment">// Framework messages received (before 
processing).</span></div><div class="line"><a name="l00100"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#ad38765ccc3a6abfb508be53447f59636">
  100</a></span>&#160;    <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">process::metrics::Counter</a> <a 
class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#ad38765ccc3a6abfb508be53447f59636">messages_received</a>;</div><div
 class="line"><a name="l00101"></a><span class="lineno">  
101</span>&#160;</div><div class="line"><a name="l00102"></a><span 
class="lineno">  102</span>&#160;    <span class="comment">// Framework 
messages processed.</span></div><div class="line"><a name="l00103"></a><span 
class="lineno">  103</span>&#160;    <span class="comment">// NOTE: This 
doesn&#39;t include dropped
  messages. Processing of</span></div><div class="line"><a 
name="l00104"></a><span class="lineno">  104</span>&#160;    <span 
class="comment">// a message may be throttled by a RateLimiter if one 
is</span></div><div class="line"><a name="l00105"></a><span class="lineno">  
105</span>&#160;    <span class="comment">// configured for this principal. 
Also due to Master&#39;s</span></div><div class="line"><a 
name="l00106"></a><span class="lineno">  106</span>&#160;    <span 
class="comment">// asynchronous nature, this doesn&#39;t necessarily mean the 
work</span></div><div class="line"><a name="l00107"></a><span class="lineno">  
107</span>&#160;    <span class="comment">// requested by this message has 
finished.</span></div><div class="line"><a name="l00108"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a3bd4a8dc61299c8ca04a5ae892714567">
  108</a></span>&#160;    <a class="code" 
href="classprocess_1_1metrics_1_1Counter.html">
 process::metrics::Counter</a> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a3bd4a8dc61299c8ca04a5ae892714567">messages_processed</a>;</div><div
 class="line"><a name="l00109"></a><span class="lineno">  
109</span>&#160;</div><div class="line"><a name="l00110"></a><span 
class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a3d370893d1a6aad7943e7bc8428901db">
  110</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a3d370893d1a6aad7943e7bc8428901db">Frameworks</a>(<span
 class="keyword">const</span> std::string&amp; principal)</div><div 
class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      
: messages_received(<span class="stringliteral">&quot;frameworks/&quot;</span> 
+ principal + <span 
class="stringliteral">&quot;/messages_received&quot;</span>),</div><div 
class="line"><a name="l00112"
 ></a><span class="lineno">  112</span>&#160;        messages_processed(<span 
 >class="stringliteral">&quot;frameworks/&quot;</span> + principal + <span 
 >class="stringliteral">&quot;/messages_processed&quot;</span>)</div><div 
 >class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    
 >{</div><div class="line"><a name="l00114"></a><span class="lineno">  
 >114</span>&#160;      <a class="code" 
 >href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">process::metrics::add</a>(messages_received);</div><div
 > class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    
 >  <a class="code" 
 >href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">process::metrics::add</a>(messages_processed);</div><div
 > class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    
 >}</div><div class="line"><a name="l00117"></a><span class="lineno">  
 >117</span>&#160;</div><div class="line"><a name="l00118"></a><span 
 >class="lineno"><a clas
 s="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a9fe6067077658ff959c270bf876ac05d">
  118</a></span>&#160;    <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics_1_1Frameworks.html#a9fe6067077658ff959c270bf876ac05d">~Frameworks</a>()</div><div
 class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    
{</div><div class="line"><a name="l00120"></a><span class="lineno">  
120</span>&#160;      <a class="code" 
href="namespaceprocess_1_1metrics.html#ad561ce447753dc2edad5d52a8776a141">process::metrics::remove</a>(messages_received);</div><div
 class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      
<a class="code" 
href="namespaceprocess_1_1metrics.html#ad561ce447753dc2edad5d52a8776a141">process::metrics::remove</a>(messages_processed);</div><div
 class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    
}</div><div class="line"><a name="l00123"></a><span class="lineno">  
123</span>&#160;
   };</div><div class="line"><a name="l00124"></a><span class="lineno">  
124</span>&#160;</div><div class="line"><a name="l00125"></a><span 
class="lineno">  125</span>&#160;  <span class="comment">// 
Per-framework-principal metrics keyed by the framework</span></div><div 
class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  
<span class="comment">// principal.</span></div><div class="line"><a 
name="l00127"></a><span class="lineno"><a class="line" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af5ccc6bfff9f9302fcdcdc5317f07f60">
  127</a></span>&#160;  <a class="code" 
href="classhashmap.html">hashmap&lt;std::string, 
process::Owned&lt;Frameworks&gt;</a>&gt; <a class="code" 
href="structmesos_1_1internal_1_1master_1_1Metrics.html#af5ccc6bfff9f9302fcdcdc5317f07f60">frameworks</a>;</div><div
 class="line"><a name="l00128"></a><span class="lineno">  
128</span>&#160;</div><div class="line"><a name="l00129"></a><span 
class="lineno">  129</span>&#160;  <span class="c
 omment">// Messages from schedulers.</span></div><div class="line"><a 
name="l00130"></a><span class="lineno"><a class="line" 

<TRUNCATED>

Reply via email to