blob: 1218b33a07d14ca7542de81d6ad981f44107b97e [file] [log] [blame]
<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Impala: be/src/util/runtime-profile.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Impala
</div>
<div id="projectbrief">Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('runtime-profile_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">runtime-profile.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="runtime-profile_8h.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">// Copyright 2012 Cloudera Inc.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</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">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</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="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// limitations under the License.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef IMPALA_UTIL_RUNTIME_PROFILE_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define IMPALA_UTIL_RUNTIME_PROFILE_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;boost/function.hpp&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;boost/scoped_ptr.hpp&gt;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;boost/thread/mutex.hpp&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &lt;boost/unordered_map.hpp&gt;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;sys/time.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;sys/resource.h&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 &quot;<a class="code" href="atomic_8h.html">common/atomic.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="logging_8h.html">common/logging.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="object-pool_8h.html">common/object-pool.h</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="thread_8h.html">util/thread.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="stopwatch_8h.html">util/stopwatch.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="streaming-sampler_8h.html">util/streaming-sampler.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;gen-cpp/RuntimeProfile_types.h&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>impala {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#af44070a3b6d50dc273be9b8f952bc1c8"> 40</a></span>&#160;<span class="preprocessor">#define ENABLE_COUNTERS 1</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#a1a31e7e398f6a2fa20e41c0b5a02cdc4"> 43</a></span>&#160;<span class="preprocessor">#define CONCAT_IMPL(x, y) x##y</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#a2871b6acf202f2cf27bc36d11e8ddef2"> 44</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define MACRO_CONCAT(x, y) CONCAT_IMPL(x, y)</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#if ENABLE_COUNTERS</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#aac035c52016117af399543521f069c51"> 47</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_COUNTER(profile, name, unit) (profile)-&gt;AddCounter(name, unit)</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#a60f25ec873f1960e54cc375c55c3c0a0"> 48</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_TIME_SERIES_COUNTER(profile, name, src_counter) \</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"> (profile)-&gt;AddTimeSeriesCounter(name, src_counter)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#a8841ca205b2a05d608e82d443bad3a77"> 50</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_TIMER(profile, name) (profile)-&gt;AddCounter(name, TUnit::TIME_NS)</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#a8d817beaf6c704ff590230236d7591b1"> 51</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_CHILD_TIMER(profile, name, parent) \</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"> (profile)-&gt;AddCounter(name, TUnit::TIME_NS, parent)</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#aaa9a2971c6368e3ddd3f5140a0295eb7"> 53</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define SCOPED_TIMER(c) \</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor"> ScopedTimer&lt;MonotonicStopWatch&gt; MACRO_CONCAT(SCOPED_TIMER, __COUNTER__)(c)</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#a0842f330c18b3e4e53e13655add0310a"> 55</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define COUNTER_ADD(c, v) (c)-&gt;Add(v)</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#a9e3d8174f6545ee9c4fd37c624ea58f7"> 56</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define COUNTER_SET(c, v) (c)-&gt;Set(v)</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#a6181d51aa9e85eb195fffa2df585974d"> 57</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_THREAD_COUNTERS(profile, prefix) (profile)-&gt;AddThreadCounters(prefix)</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="runtime-profile_8h.html#ac317f1ef5aa8fbee526b72d4863a9b2c"> 58</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define SCOPED_THREAD_COUNTER_MEASUREMENT(c) \</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor"> ThreadCounterMeasurement \</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor"> MACRO_CONCAT(SCOPED_THREAD_COUNTER_MEASUREMENT, __COUNTER__)(c)</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_COUNTER(profile, name, unit) NULL</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_TIME_SERIES_COUNTER(profile, name, src_counter) NULL</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_TIMER(profile, name) NULL</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_CHILD_TIMER(profile, name, parent) NULL</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define SCOPED_TIMER(c)</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define COUNTER_ADD(c, v)</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define COUNTER_SET(c, v)</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define ADD_THREAD_COUNTERS(profile, prefix) NULL</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #define SCOPED_THREAD_COUNTER_MEASUREMENT(c)</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword">class </span>ObjectPool;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html"> 83</a></span>&#160;<span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html"> 85</a></span>&#160; <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a> {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a383e5dd4cf871308261903124676a76d"> 87</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a383e5dd4cf871308261903124676a76d">Counter</a>(TUnit::type <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aed1992d34ec28e3da442b09a5c511de5">unit</a>, int64_t <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a> = 0) :</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a>(<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a>),</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a311f79fe003d67ac1a2564f9f988d6b1">unit_</a>(unit) {</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"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a0d1e9538c1dc9025d38867630848e3f8"> 91</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a0d1e9538c1dc9025d38867630848e3f8">~Counter</a>(){}</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285"> 93</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(int64_t delta) {</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a> += delta;</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;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a3f5336cbbc357cb64954755616bf0850"> 98</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a3f5336cbbc357cb64954755616bf0850">BitOr</a>(int64_t delta) {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a> |= delta;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</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"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a1cfaae6ff8ad29bcaf5c876ef83dca9d"> 102</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a1cfaae6ff8ad29bcaf5c876ef83dca9d">Set</a>(int64_t <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a>) { <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a> = <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a>; }</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a4540a34a139da434236a7cb4ac3b4a4d"> 104</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a4540a34a139da434236a7cb4ac3b4a4d">Set</a>(<span class="keywordtype">double</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a>) {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a> = *<span class="keyword">reinterpret_cast&lt;</span>int64_t*<span class="keyword">&gt;</span>(&amp;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</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"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1"> 108</a></span>&#160; <span class="keyword">virtual</span> int64_t <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</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="classimpala_1_1RuntimeProfile_1_1Counter.html#aa50a54e68f3a84028aa1300877b9a318"> 110</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aa50a54e68f3a84028aa1300877b9a318">double_value</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">double</span>*<span class="keyword">&gt;</span>(&amp;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a>);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</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"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aed1992d34ec28e3da442b09a5c511de5"> 114</a></span>&#160; TUnit::type <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aed1992d34ec28e3da442b09a5c511de5">unit</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a311f79fe003d67ac1a2564f9f988d6b1">unit_</a>; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aa8d61fad5237e98f83d91f3c7ea55dba"> 117</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c"> 119</a></span>&#160; <a class="code" href="classimpala_1_1AtomicInt.html">AtomicInt&lt;int64_t&gt;</a> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a311f79fe003d67ac1a2564f9f988d6b1"> 120</a></span>&#160; TUnit::type <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a311f79fe003d67ac1a2564f9f988d6b1">unit_</a>;</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;</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html"> 125</a></span>&#160; <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html">HighWaterMarkCounter</a> : <span class="keyword">public</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a> {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#af93c7e184bfedf879c311e1b9cd3c261"> 127</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#af93c7e184bfedf879c311e1b9cd3c261">HighWaterMarkCounter</a>(TUnit::type <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aed1992d34ec28e3da442b09a5c511de5">unit</a>) : <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>(unit) {}</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"><a class="line" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#ade70de79c62046893b1743ba0fb76fa4"> 129</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#ade70de79c62046893b1743ba0fb76fa4">Add</a>(int64_t delta) {</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; int64_t new_val = <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#abb373ac51155cd89649560d5ed0d17c4">current_value_</a>.<a class="code" href="classimpala_1_1AtomicInt.html#a8f42ccf5dc9cfc042509720cea963b50">UpdateAndFetch</a>(delta);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a>.<a class="code" href="classimpala_1_1AtomicInt.html#a246319397aa2f5c734b0e1f8e557030a">UpdateMax</a>(new_val);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#ad424ddcf2a802dadee2fd969a24c63c2"> 136</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#ad424ddcf2a802dadee2fd969a24c63c2">TryAdd</a>(int64_t delta, int64_t max) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; int64_t old_val = <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#abb373ac51155cd89649560d5ed0d17c4">current_value_</a>;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; int64_t new_val = old_val + delta;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span> (new_val &gt; max) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="compiler-util_8h.html#a262afcfe437f4addb13fb1b47a6a7086">LIKELY</a>(<a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#abb373ac51155cd89649560d5ed0d17c4">current_value_</a>.<a class="code" href="classimpala_1_1AtomicInt.html#a3e0cab2d8adaced2bdeef7fc93d9e581">CompareAndSwap</a>(old_val, new_val))) {</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a>.<a class="code" href="classimpala_1_1AtomicInt.html#a246319397aa2f5c734b0e1f8e557030a">UpdateMax</a>(new_val);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</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; }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#a18fc6a965de9770c2a429bcc49f73560"> 148</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#a18fc6a965de9770c2a429bcc49f73560">Set</a>(int64_t v) {</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#abb373ac51155cd89649560d5ed0d17c4">current_value_</a> = v;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a>.<a class="code" href="classimpala_1_1AtomicInt.html#a246319397aa2f5c734b0e1f8e557030a">UpdateMax</a>(v);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#a6813c1a963ad1eacbe66a11aba9e8949"> 153</a></span>&#160; int64_t <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#a6813c1a963ad1eacbe66a11aba9e8949">current_value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#abb373ac51155cd89649560d5ed0d17c4">current_value_</a>; }</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#abb373ac51155cd89649560d5ed0d17c4"> 158</a></span>&#160; <a class="code" href="classimpala_1_1AtomicInt.html">AtomicInt&lt;int64_t&gt;</a> <a class="code" href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#abb373ac51155cd89649560d5ed0d17c4">current_value_</a>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; };</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853"> 161</a></span>&#160; <span class="keyword">typedef</span> boost::function&lt;int64_t ()&gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html"> 165</a></span>&#160; <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html">DerivedCounter</a> : <span class="keyword">public</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a> {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#a5fbfbb0611111014c8123047bb0bc9a4"> 167</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#a5fbfbb0611111014c8123047bb0bc9a4">DerivedCounter</a>(TUnit::type <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aed1992d34ec28e3da442b09a5c511de5">unit</a>, <span class="keyword">const</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a>&amp; counter_fn)</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; : <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>(unit),</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#ab115272b982c34a931544e8198f3f3c6">counter_fn_</a>(counter_fn) {}</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"><a class="line" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#a18c5af7c053c1d3275a1c9836e50a2a2"> 171</a></span>&#160; <span class="keyword">virtual</span> int64_t <a class="code" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#a18c5af7c053c1d3275a1c9836e50a2a2">value</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#ab115272b982c34a931544e8198f3f3c6">counter_fn_</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;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#ab115272b982c34a931544e8198f3f3c6"> 176</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a> <a class="code" href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#ab115272b982c34a931544e8198f3f3c6">counter_fn_</a>;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; };</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html"> 183</a></span>&#160; <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html">AveragedCounter</a> : <span class="keyword">public</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a> {</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a4fec14da5469ee596c25b29d64419f31"> 185</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a4fec14da5469ee596c25b29d64419f31">AveragedCounter</a>(TUnit::type <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aed1992d34ec28e3da442b09a5c511de5">unit</a>)</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; : <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>(unit),</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae0ca5fb73438dbbb698d73d8161bb097">current_double_sum_</a>(0.0),</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af2ee3127ff725bee52d2b21e47c5c306">current_int_sum_</a>(0) {</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af3a16559888b42ddbef35bd47c79ab1d"> 195</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af3a16559888b42ddbef35bd47c79ab1d">UpdateCounter</a>(<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* new_counter) {</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; DCHECK_EQ(new_counter-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a311f79fe003d67ac1a2564f9f988d6b1">unit_</a>, <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a311f79fe003d67ac1a2564f9f988d6b1">unit_</a>);</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; boost::unordered_map&lt;Counter*, int64_t&gt;::iterator it =</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a65cfb2cc106464846130af984f0b0cab">counter_value_map_</a>.find(new_counter);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; int64_t old_val = 0;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a65cfb2cc106464846130af984f0b0cab">counter_value_map_</a>.end()) {</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; old_val = it-&gt;second;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; it-&gt;second = new_counter-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a>;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a65cfb2cc106464846130af984f0b0cab">counter_value_map_</a>[new_counter] = new_counter-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a>();</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a311f79fe003d67ac1a2564f9f988d6b1">unit_</a> == TUnit::DOUBLE_VALUE) {</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordtype">double</span> old_double_val = *<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">double</span>*<span class="keyword">&gt;</span>(&amp;old_val);</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae0ca5fb73438dbbb698d73d8161bb097">current_double_sum_</a> += (new_counter-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aa50a54e68f3a84028aa1300877b9a318">double_value</a>() - old_double_val);</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordtype">double</span> result_val = <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae0ca5fb73438dbbb698d73d8161bb097">current_double_sum_</a> / (double) <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a65cfb2cc106464846130af984f0b0cab">counter_value_map_</a>.size();</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a> = *<span class="keyword">reinterpret_cast&lt;</span>int64_t*<span class="keyword">&gt;</span>(&amp;result_val);</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af2ee3127ff725bee52d2b21e47c5c306">current_int_sum_</a> += (new_counter-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a> - old_val);</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">value_</a> = <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af2ee3127ff725bee52d2b21e47c5c306">current_int_sum_</a> / <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a65cfb2cc106464846130af984f0b0cab">counter_value_map_</a>.size();</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;</div>
<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ad230c6d8821df136fd85f55500ac1c30"> 220</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ad230c6d8821df136fd85f55500ac1c30">Set</a>(<span class="keywordtype">double</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a>) {</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; DCHECK(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a612b017d771bf12bf408779de439f434"> 224</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a612b017d771bf12bf408779de439f434">Set</a>(int64_t <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">value</a>) {</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; DCHECK(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div>
<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae2d3d7ba6cb5f94cba784073909d249b"> 228</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae2d3d7ba6cb5f94cba784073909d249b">Add</a>(int64_t delta) {</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; DCHECK(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a65cfb2cc106464846130af984f0b0cab"> 234</a></span>&#160; boost::unordered_map&lt;Counter*, int64_t&gt; <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a65cfb2cc106464846130af984f0b0cab">counter_value_map_</a>;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div>
<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae0ca5fb73438dbbb698d73d8161bb097"> 239</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae0ca5fb73438dbbb698d73d8161bb097">current_double_sum_</a>;</div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af2ee3127ff725bee52d2b21e47c5c306"> 240</a></span>&#160; int64_t <a class="code" href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af2ee3127ff725bee52d2b21e47c5c306">current_int_sum_</a>;</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; };</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html"> 244</a></span>&#160; <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html">ThreadCounters</a> {</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a5f7fc29f849624a3e18a7175f909def2"> 246</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classimpala_1_1ThreadCounterMeasurement.html">ThreadCounterMeasurement</a>;</div>
<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#aa8d61fad5237e98f83d91f3c7ea55dba"> 247</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>;</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a314e52826b395624c0e9d42c15776f1f"> 249</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* <a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a314e52826b395624c0e9d42c15776f1f">total_time_</a>; <span class="comment">// total wall clock time</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a2db52e0ae95d6014261fd07e457d2d2d"> 250</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* <a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a2db52e0ae95d6014261fd07e457d2d2d">user_time_</a>; <span class="comment">// user CPU time</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a8d183be755993c03106ad5ab3ab91c1f"> 251</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* <a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a8d183be755993c03106ad5ab3ab91c1f">sys_time_</a>; <span class="comment">// system CPU time</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a1f1de61d55edd8aec9ad94a1fc17e88e"> 255</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* <a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a1f1de61d55edd8aec9ad94a1fc17e88e">voluntary_context_switches_</a>;</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#ac8a2c4e065b94163582e038ba9cf23bf"> 259</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* <a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#ac8a2c4e065b94163582e038ba9cf23bf">involuntary_context_switches_</a>;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; };</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html"> 267</a></span>&#160; <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html">EventSequence</a> {</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a5a1109c0787a50f638c9a627c1545d25"> 269</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a5a1109c0787a50f638c9a627c1545d25">EventSequence</a>() { }</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div>
<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ac23485250085415dc611d7bd51b54b05"> 272</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ac23485250085415dc611d7bd51b54b05">EventSequence</a>(<span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; timestamps,</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; labels) {</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; DCHECK(timestamps.size() == labels.size());</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; timestamps.size(); ++i) {</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a65263fced2b5a9c2f4c000ca039cbc7e">events_</a>.push_back(make_pair(labels[i], timestamps[i]));</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a6d5d58e2d670854b3d69b7297eab7935"> 281</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a6d5d58e2d670854b3d69b7297eab7935">Start</a>() { <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ae34edfd0806e891c7ce0e7321806a6e1">sw_</a>.<a class="code" href="classimpala_1_1MonotonicStopWatch.html#a5f42e96a173893f40aac4fb1e787faac">Start</a>(); }</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a7bd1a59efa58c0fbf69f41180f6dbfa1"> 286</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a7bd1a59efa58c0fbf69f41180f6dbfa1">MarkEvent</a>(<span class="keyword">const</span> std::string&amp; label) {</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; boost::lock_guard&lt;boost::mutex&gt; event_lock(<a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ac170eff72e49bd50b6a48aa8344a3497">lock_</a>);</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a65263fced2b5a9c2f4c000ca039cbc7e">events_</a>.push_back(make_pair(label, <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ae34edfd0806e891c7ce0e7321806a6e1">sw_</a>.<a class="code" href="classimpala_1_1MonotonicStopWatch.html#a4a5fdb04f9b13278b9c636e472330976">ElapsedTime</a>()));</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div>
<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ab9d0ab106ab6e2468ab79394b87338c2"> 291</a></span>&#160; int64_t <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ab9d0ab106ab6e2468ab79394b87338c2">ElapsedTime</a>() { <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ae34edfd0806e891c7ce0e7321806a6e1">sw_</a>.<a class="code" href="classimpala_1_1MonotonicStopWatch.html#a4a5fdb04f9b13278b9c636e472330976">ElapsedTime</a>(); }</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div>
<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#af57483bf3e55cc8677884278bea18da5"> 294</a></span>&#160; <span class="keyword">typedef</span> std::pair&lt;std::string, int64_t&gt; <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#af57483bf3e55cc8677884278bea18da5">Event</a>;</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div>
<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a139500d70a06a1a49ea857d0f97a22e2"> 297</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;Event&gt; <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a139500d70a06a1a49ea857d0f97a22e2">EventList</a>;</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div>
<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a6e1d864813eca4794dc7064f5579c42c"> 301</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a6e1d864813eca4794dc7064f5579c42c">GetEvents</a>(std::vector&lt;Event&gt;* <a class="code" href="namespaceimpala.html#a5368f0a1443b0bd404d98b27107678a4">events</a>) {</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; events-&gt;clear();</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; boost::lock_guard&lt;boost::mutex&gt; event_lock(<a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ac170eff72e49bd50b6a48aa8344a3497">lock_</a>);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; events-&gt;insert(events-&gt;end(), <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a65263fced2b5a9c2f4c000ca039cbc7e">events_</a>.begin(), <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a65263fced2b5a9c2f4c000ca039cbc7e">events_</a>.end());</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a51941da7a37077456d78752144a2ec2c">ToThrift</a>(TEventSequence* seq) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ac170eff72e49bd50b6a48aa8344a3497"> 311</a></span>&#160; boost::mutex <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ac170eff72e49bd50b6a48aa8344a3497">lock_</a>;</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a65263fced2b5a9c2f4c000ca039cbc7e"> 314</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a139500d70a06a1a49ea857d0f97a22e2">EventList</a> <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a65263fced2b5a9c2f4c000ca039cbc7e">events_</a>;</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div>
<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ae34edfd0806e891c7ce0e7321806a6e1"> 317</a></span>&#160; <a class="code" href="classimpala_1_1MonotonicStopWatch.html">MonotonicStopWatch</a> <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ae34edfd0806e891c7ce0e7321806a6e1">sw_</a>;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; };</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div>
<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#af4d8888c8e51b2f7c1bd0c21ddb57e97"> 320</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classimpala_1_1StreamingSampler.html">StreamingSampler&lt;int64_t, 64&gt;</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#af4d8888c8e51b2f7c1bd0c21ddb57e97">StreamingCounterSampler</a>;</div>
<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html"> 321</a></span>&#160; <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html">TimeSeriesCounter</a> {</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; std::string <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a6cfe66a7289800a5e6d46c1d89559416">DebugString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;</div>
<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a7f62dcc4ebeead5c178298120ff0791d"> 325</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a7f62dcc4ebeead5c178298120ff0791d">AddSample</a>(<span class="keywordtype">int</span> ms_elapsed) {</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; int64_t sample = <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#ac41cfd9bdc49cf7408baf1d4fd6c0cb4">sample_fn_</a>();</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a9c147ed5ce1f72f71f2d11aad2234e4c">samples_</a>.<a class="code" href="classimpala_1_1StreamingSampler.html#a853a60d2c09941f91994f3f055a07975">AddSample</a>(sample, ms_elapsed);</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa8d61fad5237e98f83d91f3c7ea55dba"> 331</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div>
<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a91d8e307feaf47a1acb5c73ebf0af8d5"> 333</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a91d8e307feaf47a1acb5c73ebf0af8d5">TimeSeriesCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, TUnit::type unit,</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a> fn)</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; : <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa8ded9bee60b0c1a01f63625b5367701">name_</a>(name), <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a41723e722387e9562e9b01a38a701d34">unit_</a>(unit), <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#ac41cfd9bdc49cf7408baf1d4fd6c0cb4">sample_fn_</a>(fn) {</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa77d2c7260da50670f2d3e4c968bf09c"> 340</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa77d2c7260da50670f2d3e4c968bf09c">TimeSeriesCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, TUnit::type unit, <span class="keywordtype">int</span> period,</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> std::vector&lt;int64_t&gt;&amp; values)</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; : <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa8ded9bee60b0c1a01f63625b5367701">name_</a>(name), <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a41723e722387e9562e9b01a38a701d34">unit_</a>(unit), <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#ac41cfd9bdc49cf7408baf1d4fd6c0cb4">sample_fn_</a>(NULL), <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a9c147ed5ce1f72f71f2d11aad2234e4c">samples_</a>(period, values) {</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a9f0e137461f6838c9fc35cb0cb568ab9">ToThrift</a>(TTimeSeriesCounter* counter);</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa8ded9bee60b0c1a01f63625b5367701"> 347</a></span>&#160; std::string <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa8ded9bee60b0c1a01f63625b5367701">name_</a>;</div>
<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a41723e722387e9562e9b01a38a701d34"> 348</a></span>&#160; TUnit::type <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a41723e722387e9562e9b01a38a701d34">unit_</a>;</div>
<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#ac41cfd9bdc49cf7408baf1d4fd6c0cb4"> 349</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a> <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#ac41cfd9bdc49cf7408baf1d4fd6c0cb4">sample_fn_</a>;</div>
<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a9c147ed5ce1f72f71f2d11aad2234e4c"> 350</a></span>&#160; <a class="code" href="classimpala_1_1StreamingSampler.html">StreamingCounterSampler</a> <a class="code" href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a9c147ed5ce1f72f71f2d11aad2234e4c">samples_</a>;</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; };</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#a10c24fa16ffff006493ebd57293d3991">RuntimeProfile</a>(<a class="code" href="classimpala_1_1ObjectPool.html">ObjectPool</a>* <a class="code" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, <span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>,</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordtype">bool</span> is_averaged_profile = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#adbd31048331e34341d19ec24f37d9985">~RuntimeProfile</a>();</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keyword">static</span> <a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>* <a class="code" href="classimpala_1_1RuntimeProfile.html#a4eb6c64e8f6e50124ea88a893a4fc0ed">CreateFromThrift</a>(<a class="code" href="classimpala_1_1ObjectPool.html">ObjectPool</a>* <a class="code" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>,</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keyword">const</span> TRuntimeProfileTree&amp; profiles);</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#aaef4a8066afcba576fc69dda6fc95e25">AddChild</a>(<a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>* child,</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordtype">bool</span> indent = <span class="keyword">true</span>, <a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>* location = NULL);</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> Compare&gt;</div>
<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a6493d912ed12fb117a7572768bdad8fe"> 380</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a6493d912ed12fb117a7572768bdad8fe">SortChildren</a>(<span class="keyword">const</span> Compare&amp; cmp) {</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; boost::lock_guard&lt;boost::mutex&gt; l(<a class="code" href="classimpala_1_1RuntimeProfile.html#adae3b38db3cf2152b9f443bd84774fd9">children_lock_</a>);</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; std::sort(<a class="code" href="classimpala_1_1RuntimeProfile.html#ab642ab185e027c98fede76b933216f25">children_</a>.begin(), <a class="code" href="classimpala_1_1RuntimeProfile.html#ab642ab185e027c98fede76b933216f25">children_</a>.end(), cmp);</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a3921275ceedc1503249763ea664e94fc">UpdateAverage</a>(<a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>* src);</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a3181fd666040fa8dbe972fb291c01c6e">Update</a>(<span class="keyword">const</span> TRuntimeProfileTree&amp; thrift_profile);</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; Counter* <a class="code" href="classimpala_1_1RuntimeProfile.html#ae468cfda7051cf8802a7f6b115908f60">AddCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, TUnit::type unit,</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keyword">const</span> std::string&amp; parent_counter_name = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; HighWaterMarkCounter* <a class="code" href="classimpala_1_1RuntimeProfile.html#a91cce4e3e109922a077cb84a9f6925f2">AddHighWaterMarkCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>,</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; TUnit::type unit, <span class="keyword">const</span> std::string&amp; parent_counter_name = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; DerivedCounter* <a class="code" href="classimpala_1_1RuntimeProfile.html#a4ba4028a644bd8f71cdd624081f86ba7">AddDerivedCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, TUnit::type unit,</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keyword">const</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a>&amp; counter_fn,</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keyword">const</span> std::string&amp; parent_counter_name = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; ThreadCounters* <a class="code" href="classimpala_1_1RuntimeProfile.html#ab2f51a1c51b77b5081b4b89d6e5904b9">AddThreadCounters</a>(<span class="keyword">const</span> std::string&amp; prefix);</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; Counter* <a class="code" href="classimpala_1_1RuntimeProfile.html#a4e09f9bdbbf138bdb9c873b0290cd1b5">GetCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>);</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a3a49a501c21731f6675d7e8583a41eba">GetCounters</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, std::vector&lt;Counter*&gt;* counters);</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#aff0f9fcb17559d45c0d09c413372dbb4">AddInfoString</a>(<span class="keyword">const</span> std::string&amp; key, <span class="keyword">const</span> std::string&amp; value);</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; EventSequence* <a class="code" href="classimpala_1_1RuntimeProfile.html#ae208636992a7268178bf843a26da942c">AddEventSequence</a>(<span class="keyword">const</span> std::string&amp; key);</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; EventSequence* <a class="code" href="classimpala_1_1RuntimeProfile.html#ae208636992a7268178bf843a26da942c">AddEventSequence</a>(<span class="keyword">const</span> std::string&amp; key, <span class="keyword">const</span> TEventSequence&amp; from);</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; EventSequence* <a class="code" href="classimpala_1_1RuntimeProfile.html#ad27e2704b1bb69afb235f54d03914ca0">GetEventSequence</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keyword">const</span> std::string* <a class="code" href="classimpala_1_1RuntimeProfile.html#a2a9ef49b3b393d9db693ff50f455fc4f">GetInfoString</a>(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;</div>
<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#abd28edd77ba3928dbac3af735102fb3b"> 453</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* <a class="code" href="classimpala_1_1RuntimeProfile.html#abd28edd77ba3928dbac3af735102fb3b">total_time_counter</a>() { <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a27b53e0193c450a0d0ccbadc7cd3f558">counter_map_</a>[<a class="code" href="classimpala_1_1RuntimeProfile.html#a4dbecb74567ba51c71f6159be8fb69c1">TOTAL_TIME_COUNTER_NAME</a>]; }</div>
<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a4200415c0a0405936a6b5bd344faafb5"> 454</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* <a class="code" href="classimpala_1_1RuntimeProfile.html#a4200415c0a0405936a6b5bd344faafb5">inactive_timer</a>() { <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a27b53e0193c450a0d0ccbadc7cd3f558">counter_map_</a>[<a class="code" href="classimpala_1_1RuntimeProfile.html#ab91c27cdae4299b8a8d0338e277e7655">INACTIVE_TIME_COUNTER_NAME</a>]; }</div>
<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a70ae570e053f1caf889f8e6a83d733d3"> 455</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a>* <a class="code" href="classimpala_1_1RuntimeProfile.html#a70ae570e053f1caf889f8e6a83d733d3">total_async_timer</a>() { <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a27b53e0193c450a0d0ccbadc7cd3f558">counter_map_</a>[<a class="code" href="classimpala_1_1RuntimeProfile.html#ab77fc503b8d6922d60ac494c6c1b413a">ASYNC_TIME_COUNTER_NAME</a>]; }</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#acea22d3f8d2a74835290a9cbd8ef4100"> 457</a></span>&#160; int64_t <a class="code" href="classimpala_1_1RuntimeProfile.html#acea22d3f8d2a74835290a9cbd8ef4100">local_time</a>() { <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#ad1c9c01c6de969727856ca38719f03f2">local_time_ns_</a>; }</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a3199b85de1a8278a4a94dc7259aea68d">PrettyPrint</a>(std::ostream* s, <span class="keyword">const</span> std::string&amp; prefix=<span class="stringliteral">&quot;&quot;</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a0636f082b808be5603808d2e665e2d80">ToThrift</a>(TRuntimeProfileTree* tree) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a0636f082b808be5603808d2e665e2d80">ToThrift</a>(std::vector&lt;TRuntimeProfileNode&gt;* nodes) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; std::string <a class="code" href="classimpala_1_1RuntimeProfile.html#a2385896d6d4a3ee8601ee075ce2f6503">SerializeToArchiveString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a2385896d6d4a3ee8601ee075ce2f6503">SerializeToArchiveString</a>(std::stringstream* out) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#af9037e9235800e4ce0e632ccf288c464">Divide</a>(<span class="keywordtype">int</span> n);</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#ad12ee35bc733eb6aa4f3cb26cef28a88">GetChildren</a>(std::vector&lt;RuntimeProfile*&gt;* children);</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a49fdb7ae15c41d898563202739ce9161">GetAllChildren</a>(std::vector&lt;RuntimeProfile*&gt;* children);</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div>
<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a111e2e9bc601af5838c77b042e8e840f"> 484</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a111e2e9bc601af5838c77b042e8e840f">num_counters</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a27b53e0193c450a0d0ccbadc7cd3f558">counter_map_</a>.size(); }</div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;</div>
<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2"> 487</a></span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a53a5e9ee0e5324e4d7da8f844536a9e8">name_</a>; }</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;</div>
<div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a403c2620d49ba97f30596cf4e3be99b2"> 491</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a403c2620d49ba97f30596cf4e3be99b2">set_name</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>) { <a class="code" href="classimpala_1_1RuntimeProfile.html#a53a5e9ee0e5324e4d7da8f844536a9e8">name_</a> = <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>; }</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div>
<div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ad8cdb4ebbdcb230feb57d3a48f729fa9"> 493</a></span>&#160; int64_t <a class="code" href="classimpala_1_1RuntimeProfile.html#ad8cdb4ebbdcb230feb57d3a48f729fa9">metadata</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a69311e4b94f474f72dd9a5434d2d1a10">metadata_</a>; }</div>
<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#af1533e8397f2449558b8e2a3ad5db70f"> 494</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#af1533e8397f2449558b8e2a3ad5db70f">set_metadata</a>(int64_t md) { <a class="code" href="classimpala_1_1RuntimeProfile.html#a69311e4b94f474f72dd9a5434d2d1a10">metadata_</a> = md; }</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keyword">static</span> int64_t <a class="code" href="classimpala_1_1RuntimeProfile.html#ab1e095fac59cde33085156670c1e5130">UnitsPerSecond</a>(</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keyword">const</span> Counter* total_counter, <span class="keyword">const</span> Counter* timer);</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keyword">static</span> int64_t <a class="code" href="classimpala_1_1RuntimeProfile.html#a23520472b97357f80059c5427de9ea7e">CounterSum</a>(<span class="keyword">const</span> std::vector&lt;Counter*&gt;* counters);</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; Counter* <a class="code" href="classimpala_1_1RuntimeProfile.html#a22927ce16532fa98f7c39633713c0276">AddRateCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, Counter* src_counter);</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; Counter* <a class="code" href="classimpala_1_1RuntimeProfile.html#a22927ce16532fa98f7c39633713c0276">AddRateCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a> fn,</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; TUnit::type unit);</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; Counter* <a class="code" href="classimpala_1_1RuntimeProfile.html#acb49893c3fdbdbb7a709b6d2d6276d91">AddSamplingCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, Counter* src_counter);</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; Counter* <a class="code" href="classimpala_1_1RuntimeProfile.html#acb49893c3fdbdbb7a709b6d2d6276d91">AddSamplingCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a> fn);</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a9540f9287515f7cb666e5dac64be57a9">RegisterBucketingCounters</a>(Counter* src_counter, std::vector&lt;Counter*&gt;* buckets);</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; TimeSeriesCounter* <a class="code" href="classimpala_1_1RuntimeProfile.html#a35f8163d1b163b37923f5ac8b84577bc">AddTimeSeriesCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>,</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; TUnit::type unit, <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">DerivedCounterFunction</a> sample_fn);</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; TimeSeriesCounter* <a class="code" href="classimpala_1_1RuntimeProfile.html#a35f8163d1b163b37923f5ac8b84577bc">AddTimeSeriesCounter</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">name</a>, Counter* src_counter);</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a24dff71846e5edc0caed789e12bdf4d1">ComputeTimeInProfile</a>();</div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;</div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a81ad5b9d89fcf7657e214367a0bb6e66"> 550</a></span>&#160; <a class="code" href="classimpala_1_1ObjectPool.html">ObjectPool</a>* <a class="code" href="classimpala_1_1RuntimeProfile.html#a81ad5b9d89fcf7657e214367a0bb6e66">pool_</a>;</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;</div>
<div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a064f295ad2e534e1af6511c4e9a61319"> 553</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a064f295ad2e534e1af6511c4e9a61319">own_pool_</a>;</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;</div>
<div class="line"><a name="l00556"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a53a5e9ee0e5324e4d7da8f844536a9e8"> 556</a></span>&#160; std::string <a class="code" href="classimpala_1_1RuntimeProfile.html#a53a5e9ee0e5324e4d7da8f844536a9e8">name_</a>;</div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;</div>
<div class="line"><a name="l00559"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a69311e4b94f474f72dd9a5434d2d1a10"> 559</a></span>&#160; int64_t <a class="code" href="classimpala_1_1RuntimeProfile.html#a69311e4b94f474f72dd9a5434d2d1a10">metadata_</a>;</div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;</div>
<div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ac7672074fdae1ccec80deabca8144388"> 563</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#ac7672074fdae1ccec80deabca8144388">is_averaged_profile_</a>;</div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div>
<div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a78925116c22906e9cb793527f7417573"> 567</a></span>&#160; <span class="keyword">typedef</span> std::map&lt;std::string, Counter*&gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#a78925116c22906e9cb793527f7417573">CounterMap</a>;</div>
<div class="line"><a name="l00568"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a27b53e0193c450a0d0ccbadc7cd3f558"> 568</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#a78925116c22906e9cb793527f7417573">CounterMap</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#a27b53e0193c450a0d0ccbadc7cd3f558">counter_map_</a>;</div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;</div>
<div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ad9446ea6d436243bd7d2ad9ce7d5989d"> 572</a></span>&#160; <span class="keyword">typedef</span> std::map&lt;std::string, std::set&lt;std::string&gt; &gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#ad9446ea6d436243bd7d2ad9ce7d5989d">ChildCounterMap</a>;</div>
<div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a430ca504edfe711f0bcb5bafc2e281e5"> 573</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#ad9446ea6d436243bd7d2ad9ce7d5989d">ChildCounterMap</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#a430ca504edfe711f0bcb5bafc2e281e5">child_counter_map_</a>;</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;</div>
<div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#adbc7d2d5ad919590f406b97c1c567d26"> 576</a></span>&#160; std::set&lt;std::vector&lt;Counter*&gt;* &gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#adbc7d2d5ad919590f406b97c1c567d26">bucketing_counters_</a>;</div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;</div>
<div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a69236f59f06e7ff7c8268e8964c58fac"> 579</a></span>&#160; <span class="keyword">mutable</span> boost::mutex <a class="code" href="classimpala_1_1RuntimeProfile.html#a69236f59f06e7ff7c8268e8964c58fac">counter_map_lock_</a>;</div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div>
<div class="line"><a name="l00584"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a49981ed73d962c0e081db8eaadc41cad"> 584</a></span>&#160; <span class="keyword">typedef</span> std::map&lt;std::string, RuntimeProfile*&gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#a49981ed73d962c0e081db8eaadc41cad">ChildMap</a>;</div>
<div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ad5858ff35c23e299fefd9d2a4f8f2d5b"> 585</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#a49981ed73d962c0e081db8eaadc41cad">ChildMap</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#ad5858ff35c23e299fefd9d2a4f8f2d5b">child_map_</a>;</div>
<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ab3379b01b1833795f7510f25df813356"> 587</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;std::pair&lt;RuntimeProfile*, bool&gt; &gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#ab3379b01b1833795f7510f25df813356">ChildVector</a>;</div>
<div class="line"><a name="l00588"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ab642ab185e027c98fede76b933216f25"> 588</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#ab3379b01b1833795f7510f25df813356">ChildVector</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#ab642ab185e027c98fede76b933216f25">children_</a>;</div>
<div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#adae3b38db3cf2152b9f443bd84774fd9"> 589</a></span>&#160; <span class="keyword">mutable</span> boost::mutex <a class="code" href="classimpala_1_1RuntimeProfile.html#adae3b38db3cf2152b9f443bd84774fd9">children_lock_</a>; <span class="comment">// protects child_map_ and children_</span></div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;</div>
<div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#aa4ce9c46491c9f241f29cbaf9623e146"> 591</a></span>&#160; <span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#aa4ce9c46491c9f241f29cbaf9623e146">InfoStrings</a>;</div>
<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#aa49758f8eb310dd77d96297b0670b3f8"> 592</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#aa4ce9c46491c9f241f29cbaf9623e146">InfoStrings</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#aa49758f8eb310dd77d96297b0670b3f8">info_strings_</a>;</div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div>
<div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a42fe07102992bcce0f5b41e6da76cecd"> 595</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;std::string&gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#a42fe07102992bcce0f5b41e6da76cecd">InfoStringsDisplayOrder</a>;</div>
<div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a85a2c55472175ecd67cec7469a455935"> 596</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#a42fe07102992bcce0f5b41e6da76cecd">InfoStringsDisplayOrder</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#a85a2c55472175ecd67cec7469a455935">info_strings_display_order_</a>;</div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;</div>
<div class="line"><a name="l00599"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ae1c14c7d0e6105c06f6970f5e8f805f0"> 599</a></span>&#160; <span class="keyword">mutable</span> boost::mutex <a class="code" href="classimpala_1_1RuntimeProfile.html#ae1c14c7d0e6105c06f6970f5e8f805f0">info_strings_lock_</a>;</div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;</div>
<div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ada3efdffb81e8d4c15b131c5e29878c4"> 601</a></span>&#160; <span class="keyword">typedef</span> std::map&lt;std::string, EventSequence*&gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#ada3efdffb81e8d4c15b131c5e29878c4">EventSequenceMap</a>;</div>
<div class="line"><a name="l00602"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ad2db4e097c2c6f31460e3b0d92d2fd0f"> 602</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#ada3efdffb81e8d4c15b131c5e29878c4">EventSequenceMap</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#ad2db4e097c2c6f31460e3b0d92d2fd0f">event_sequence_map_</a>;</div>
<div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a948c8aaa071f0d0d46616eec23736cb9"> 603</a></span>&#160; <span class="keyword">mutable</span> boost::mutex <a class="code" href="classimpala_1_1RuntimeProfile.html#a948c8aaa071f0d0d46616eec23736cb9">event_sequence_lock_</a>;</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;</div>
<div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a531416154e9c6b0cd737b83a7da195d4"> 605</a></span>&#160; <span class="keyword">typedef</span> std::map&lt;std::string, TimeSeriesCounter*&gt; <a class="code" href="classimpala_1_1RuntimeProfile.html#a531416154e9c6b0cd737b83a7da195d4">TimeSeriesCounterMap</a>;</div>
<div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ab95873480e342aca603596139f183af8"> 606</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile.html#a531416154e9c6b0cd737b83a7da195d4">TimeSeriesCounterMap</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#ab95873480e342aca603596139f183af8">time_series_counter_map_</a>;</div>
<div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ab5238ba81cc37d450af60fa3dc9d0800"> 607</a></span>&#160; <span class="keyword">mutable</span> boost::mutex <a class="code" href="classimpala_1_1RuntimeProfile.html#ab5238ba81cc37d450af60fa3dc9d0800">time_series_counter_map_lock_</a>;</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;</div>
<div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#afcb9e667c57060588b3222ed05c5d06b"> 609</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#afcb9e667c57060588b3222ed05c5d06b">counter_total_time_</a>;</div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;</div>
<div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a66b1480d1ac5a6832a3955c3cb22d8a5"> 613</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#a66b1480d1ac5a6832a3955c3cb22d8a5">total_async_timer_</a>;</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;</div>
<div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a46097ef6e83ef5acda14c854832b611e"> 618</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">Counter</a> <a class="code" href="classimpala_1_1RuntimeProfile.html#a46097ef6e83ef5acda14c854832b611e">inactive_timer_</a>;</div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;</div>
<div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#aa2cbea0b770e1875f1c09998e400ca8e"> 622</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#aa2cbea0b770e1875f1c09998e400ca8e">local_time_percent_</a>;</div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;</div>
<div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ad1c9c01c6de969727856ca38719f03f2"> 626</a></span>&#160; int64_t <a class="code" href="classimpala_1_1RuntimeProfile.html#ad1c9c01c6de969727856ca38719f03f2">local_time_ns_</a>;</div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;</div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a3181fd666040fa8dbe972fb291c01c6e">Update</a>(<span class="keyword">const</span> std::vector&lt;TRuntimeProfileNode&gt;&amp; nodes, <span class="keywordtype">int</span>* <a class="code" href="namespacegen__ir__descriptions.html#a0d6572990c8dd576a55a21ff11d6deb7">idx</a>);</div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;</div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a24dff71846e5edc0caed789e12bdf4d1">ComputeTimeInProfile</a>(int64_t total_time);</div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;</div>
<div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#a4dbecb74567ba51c71f6159be8fb69c1"> 638</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classimpala_1_1RuntimeProfile.html#a4dbecb74567ba51c71f6159be8fb69c1">TOTAL_TIME_COUNTER_NAME</a>;</div>
<div class="line"><a name="l00639"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ab91c27cdae4299b8a8d0338e277e7655"> 639</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classimpala_1_1RuntimeProfile.html#ab91c27cdae4299b8a8d0338e277e7655">INACTIVE_TIME_COUNTER_NAME</a>;</div>
<div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classimpala_1_1RuntimeProfile.html#ab77fc503b8d6922d60ac494c6c1b413a"> 640</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classimpala_1_1RuntimeProfile.html#ab77fc503b8d6922d60ac494c6c1b413a">ASYNC_TIME_COUNTER_NAME</a>;</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keyword">static</span> <a class="code" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>* <a class="code" href="classimpala_1_1RuntimeProfile.html#a4eb6c64e8f6e50124ea88a893a4fc0ed">CreateFromThrift</a>(<a class="code" href="classimpala_1_1ObjectPool.html">ObjectPool</a>* <a class="code" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>,</div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keyword">const</span> std::vector&lt;TRuntimeProfileNode&gt;&amp; nodes, <span class="keywordtype">int</span>* node_idx);</div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;</div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#ae52217bc9700704ab646eaed9dfe0c81">PrintChildCounters</a>(<span class="keyword">const</span> std::string&amp; prefix,</div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keyword">const</span> std::string&amp; counter_name, <span class="keyword">const</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#a78925116c22906e9cb793527f7417573">CounterMap</a>&amp; counter_map,</div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keyword">const</span> <a class="code" href="classimpala_1_1RuntimeProfile.html#ad9446ea6d436243bd7d2ad9ce7d5989d">ChildCounterMap</a>&amp; child_counter_map, std::ostream* s);</div>
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;};</div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;</div>
<div class="line"><a name="l00654"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedEvent.html"> 654</a></span>&#160;<span class="keyword">class </span><a class="code" href="classimpala_1_1ScopedEvent.html">ScopedEvent</a> {</div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00656"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedEvent.html#a440abadc4e65e9983612708a488dc4b6"> 656</a></span>&#160; <a class="code" href="classimpala_1_1ScopedEvent.html#a440abadc4e65e9983612708a488dc4b6">ScopedEvent</a>(<a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html">RuntimeProfile::EventSequence</a>* event_sequence, <span class="keyword">const</span> std::string&amp; label)</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; : <a class="code" href="classimpala_1_1ScopedEvent.html#afd47d44704bb6e08b29c82d8654f1233">label_</a>(label),</div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <a class="code" href="classimpala_1_1ScopedEvent.html#ace016df8c6d4ac40b97fd8ee6360fd23">event_sequence_</a>(event_sequence) {</div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; }</div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;</div>
<div class="line"><a name="l00662"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedEvent.html#a85f83bcaa57b50134c38601ca58f2880"> 662</a></span>&#160; <a class="code" href="classimpala_1_1ScopedEvent.html#a85f83bcaa57b50134c38601ca58f2880">~ScopedEvent</a>() {</div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <a class="code" href="classimpala_1_1ScopedEvent.html#ace016df8c6d4ac40b97fd8ee6360fd23">event_sequence_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a7bd1a59efa58c0fbf69f41180f6dbfa1">MarkEvent</a>(<a class="code" href="classimpala_1_1ScopedEvent.html#afd47d44704bb6e08b29c82d8654f1233">label_</a>);</div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;</div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <a class="code" href="classimpala_1_1ScopedEvent.html#a440abadc4e65e9983612708a488dc4b6">ScopedEvent</a>(<span class="keyword">const</span> <a class="code" href="classimpala_1_1ScopedEvent.html">ScopedEvent</a>&amp; event);</div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <a class="code" href="classimpala_1_1ScopedEvent.html">ScopedEvent</a>&amp; <a class="code" href="classimpala_1_1ScopedEvent.html#aab36fedf432fe7a80e2ad8498c40c9ec">operator=</a>(<span class="keyword">const</span> <a class="code" href="classimpala_1_1ScopedEvent.html">ScopedEvent</a>&amp; event);</div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;</div>
<div class="line"><a name="l00671"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedEvent.html#afd47d44704bb6e08b29c82d8654f1233"> 671</a></span>&#160; <span class="keyword">const</span> std::string <a class="code" href="classimpala_1_1ScopedEvent.html#afd47d44704bb6e08b29c82d8654f1233">label_</a>;</div>
<div class="line"><a name="l00672"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedEvent.html#ace016df8c6d4ac40b97fd8ee6360fd23"> 672</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1EventSequence.html">RuntimeProfile::EventSequence</a>* <a class="code" href="classimpala_1_1ScopedEvent.html#ace016df8c6d4ac40b97fd8ee6360fd23">event_sequence_</a>;</div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;};</div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;</div>
<div class="line"><a name="l00678"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedCounter.html"> 678</a></span>&#160;<span class="keyword">class </span><a class="code" href="classimpala_1_1ScopedCounter.html">ScopedCounter</a> {</div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedCounter.html#af81dd626bbb69da7ace94a327571b87d"> 680</a></span>&#160; <a class="code" href="classimpala_1_1ScopedCounter.html#af81dd626bbb69da7ace94a327571b87d">ScopedCounter</a>(<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* counter, int64_t val) :</div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <a class="code" href="classimpala_1_1ScopedCounter.html#a56de8b43d3caa00761988db3b60f02b7">val_</a>(val),</div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <a class="code" href="classimpala_1_1ScopedCounter.html#af3ddf3f61fad26c3a24d7f18e6ee8c6f">counter_</a>(counter) {</div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">if</span> (counter == NULL) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <a class="code" href="classimpala_1_1ScopedCounter.html#af3ddf3f61fad26c3a24d7f18e6ee8c6f">counter_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(-1L * <a class="code" href="classimpala_1_1ScopedCounter.html#a56de8b43d3caa00761988db3b60f02b7">val_</a>);</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; }</div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;</div>
<div class="line"><a name="l00688"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedCounter.html#ae6d4084e418bc2ac6837678d87eb9e11"> 688</a></span>&#160; <a class="code" href="classimpala_1_1ScopedCounter.html#ae6d4084e418bc2ac6837678d87eb9e11">~ScopedCounter</a>() {</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classimpala_1_1ScopedCounter.html#af3ddf3f61fad26c3a24d7f18e6ee8c6f">counter_</a> != NULL) <a class="code" href="classimpala_1_1ScopedCounter.html#af3ddf3f61fad26c3a24d7f18e6ee8c6f">counter_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(<a class="code" href="classimpala_1_1ScopedCounter.html#a56de8b43d3caa00761988db3b60f02b7">val_</a>);</div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;</div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <a class="code" href="classimpala_1_1ScopedCounter.html#af81dd626bbb69da7ace94a327571b87d">ScopedCounter</a>(<span class="keyword">const</span> <a class="code" href="classimpala_1_1ScopedCounter.html">ScopedCounter</a>&amp; counter);</div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <a class="code" href="classimpala_1_1ScopedCounter.html">ScopedCounter</a>&amp; <a class="code" href="classimpala_1_1ScopedCounter.html#acb7c778f0c7581c3e0b120de52d8c5ee">operator=</a>(<span class="keyword">const</span> <a class="code" href="classimpala_1_1ScopedCounter.html">ScopedCounter</a>&amp; counter);</div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div>
<div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedCounter.html#a56de8b43d3caa00761988db3b60f02b7"> 697</a></span>&#160; int64_t <a class="code" href="classimpala_1_1ScopedCounter.html#a56de8b43d3caa00761988db3b60f02b7">val_</a>;</div>
<div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedCounter.html#af3ddf3f61fad26c3a24d7f18e6ee8c6f"> 698</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* <a class="code" href="classimpala_1_1ScopedCounter.html#af3ddf3f61fad26c3a24d7f18e6ee8c6f">counter_</a>;</div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;};</div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;</div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l00705"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html"> 705</a></span>&#160;<span class="keyword">class </span><a class="code" href="classimpala_1_1ScopedTimer.html">ScopedTimer</a> {</div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html#af5018e8e27d73ae11791e0be2574d05b"> 707</a></span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#af5018e8e27d73ae11791e0be2574d05b">ScopedTimer</a>(<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* counter) :</div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#ab7cb26722eda78f16db9af0adfe946f4">counter_</a>(counter) {</div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">if</span> (counter == NULL) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; DCHECK(counter-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#aed1992d34ec28e3da442b09a5c511de5">unit</a>() == TUnit::TIME_NS);</div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#a8fb330e13610941ca4dfe61c4a6833b3">sw_</a>.Start();</div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; }</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;</div>
<div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html#af7768df65ecd5066b4b8e83e7340460c"> 714</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1ScopedTimer.html#af7768df65ecd5066b4b8e83e7340460c">Stop</a>() { <a class="code" href="classimpala_1_1ScopedTimer.html#a8fb330e13610941ca4dfe61c4a6833b3">sw_</a>.Stop(); }</div>
<div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html#a75222d885358c815e7caaa655a58b775"> 715</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1ScopedTimer.html#a75222d885358c815e7caaa655a58b775">Start</a>() { <a class="code" href="classimpala_1_1ScopedTimer.html#a8fb330e13610941ca4dfe61c4a6833b3">sw_</a>.Start(); }</div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;</div>
<div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html#a06c29cc24c2eaf3a114b32247a8bdd4c"> 717</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1ScopedTimer.html#a06c29cc24c2eaf3a114b32247a8bdd4c">UpdateCounter</a>() {</div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classimpala_1_1ScopedTimer.html#ab7cb26722eda78f16db9af0adfe946f4">counter_</a> != NULL) {</div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#ab7cb26722eda78f16db9af0adfe946f4">counter_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(<a class="code" href="classimpala_1_1ScopedTimer.html#a8fb330e13610941ca4dfe61c4a6833b3">sw_</a>.ElapsedTime());</div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; }</div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;</div>
<div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html#a781870942c76affb8a3142a4f45c060f"> 724</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1ScopedTimer.html#a781870942c76affb8a3142a4f45c060f">ReleaseCounter</a>() {</div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#a06c29cc24c2eaf3a114b32247a8bdd4c">UpdateCounter</a>();</div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#ab7cb26722eda78f16db9af0adfe946f4">counter_</a> = NULL;</div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; }</div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;</div>
<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html#a1fc7247728ec6318a50348d5bdc2defe"> 730</a></span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#a1fc7247728ec6318a50348d5bdc2defe">~ScopedTimer</a>() {</div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#a8fb330e13610941ca4dfe61c4a6833b3">sw_</a>.Stop();</div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#a06c29cc24c2eaf3a114b32247a8bdd4c">UpdateCounter</a>();</div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; }</div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;</div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html#af5018e8e27d73ae11791e0be2574d05b">ScopedTimer</a>(<span class="keyword">const</span> <a class="code" href="classimpala_1_1ScopedTimer.html">ScopedTimer</a>&amp; timer);</div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <a class="code" href="classimpala_1_1ScopedTimer.html">ScopedTimer</a>&amp; <a class="code" href="classimpala_1_1ScopedTimer.html#ac63bda1924c934932e87c17cbd2972d8">operator=</a>(<span class="keyword">const</span> <a class="code" href="classimpala_1_1ScopedTimer.html">ScopedTimer</a>&amp; timer);</div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div>
<div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html#a8fb330e13610941ca4dfe61c4a6833b3"> 740</a></span>&#160; T <a class="code" href="classimpala_1_1ScopedTimer.html#a8fb330e13610941ca4dfe61c4a6833b3">sw_</a>;</div>
<div class="line"><a name="l00741"></a><span class="lineno"><a class="line" href="classimpala_1_1ScopedTimer.html#ab7cb26722eda78f16db9af0adfe946f4"> 741</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* <a class="code" href="classimpala_1_1ScopedTimer.html#ab7cb26722eda78f16db9af0adfe946f4">counter_</a>;</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;};</div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;</div>
<div class="line"><a name="l00747"></a><span class="lineno"><a class="line" href="classimpala_1_1ThreadCounterMeasurement.html"> 747</a></span>&#160;<span class="keyword">class </span><a class="code" href="classimpala_1_1ThreadCounterMeasurement.html">ThreadCounterMeasurement</a> {</div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="classimpala_1_1ThreadCounterMeasurement.html#ac7d3f7b084157505b641f91babca9cf9"> 749</a></span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ac7d3f7b084157505b641f91babca9cf9">ThreadCounterMeasurement</a>(<a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html">RuntimeProfile::ThreadCounters</a>* counters) :</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ad926d10cb9ec21564c57336b8879d4c1">stop_</a>(false), <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4">counters_</a>(counters) {</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; DCHECK(counters != NULL);</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a91e8c596a97dde84396d4b9212779dba">sw_</a>.<a class="code" href="classimpala_1_1MonotonicStopWatch.html#a5f42e96a173893f40aac4fb1e787faac">Start</a>();</div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordtype">int</span> ret = getrusage(RUSAGE_THREAD, &amp;<a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">usage_base_</a>);</div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; DCHECK_EQ(ret, 0);</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div>
<div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="classimpala_1_1ThreadCounterMeasurement.html#a1ac8256039bb195a7f076d6385ef47bf"> 758</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1ac8256039bb195a7f076d6385ef47bf">Stop</a>() {</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ad926d10cb9ec21564c57336b8879d4c1">stop_</a>) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ad926d10cb9ec21564c57336b8879d4c1">stop_</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a91e8c596a97dde84396d4b9212779dba">sw_</a>.<a class="code" href="classimpala_1_1MonotonicStopWatch.html#ad51faa4e584e78430b2620572dd715b5">Stop</a>();</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; rusage usage;</div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keywordtype">int</span> ret = getrusage(RUSAGE_THREAD, &amp;usage);</div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; DCHECK_EQ(ret, 0);</div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; int64_t utime_diff =</div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; (usage.ru_utime.tv_sec - <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">usage_base_</a>.ru_utime.tv_sec) * 1000L * 1000L * 1000L +</div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; (usage.ru_utime.tv_usec - <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">usage_base_</a>.ru_utime.tv_usec) * 1000L;</div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; int64_t stime_diff =</div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; (usage.ru_stime.tv_sec - <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">usage_base_</a>.ru_stime.tv_sec) * 1000L * 1000L * 1000L +</div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; (usage.ru_stime.tv_usec - <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">usage_base_</a>.ru_stime.tv_usec) * 1000L;</div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4">counters_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a314e52826b395624c0e9d42c15776f1f">total_time_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(<a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a91e8c596a97dde84396d4b9212779dba">sw_</a>.<a class="code" href="classimpala_1_1MonotonicStopWatch.html#a4a5fdb04f9b13278b9c636e472330976">ElapsedTime</a>());</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4">counters_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a2db52e0ae95d6014261fd07e457d2d2d">user_time_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(utime_diff);</div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4">counters_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a8d183be755993c03106ad5ab3ab91c1f">sys_time_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(stime_diff);</div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4">counters_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a1f1de61d55edd8aec9ad94a1fc17e88e">voluntary_context_switches_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(usage.ru_nvcsw - <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">usage_base_</a>.ru_nvcsw);</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4">counters_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#ac8a2c4e065b94163582e038ba9cf23bf">involuntary_context_switches_</a>-&gt;<a class="code" href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">Add</a>(</div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; usage.ru_nivcsw - <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">usage_base_</a>.ru_nivcsw);</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; }</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div>
<div class="line"><a name="l00780"></a><span class="lineno"><a class="line" href="classimpala_1_1ThreadCounterMeasurement.html#a6b9668ffb0fa6a9f6fe8c671a2bdb01c"> 780</a></span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a6b9668ffb0fa6a9f6fe8c671a2bdb01c">~ThreadCounterMeasurement</a>() {</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1ac8256039bb195a7f076d6385ef47bf">Stop</a>();</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; }</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ac7d3f7b084157505b641f91babca9cf9">ThreadCounterMeasurement</a>(<span class="keyword">const</span> <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html">ThreadCounterMeasurement</a>&amp; timer);</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html">ThreadCounterMeasurement</a>&amp; <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a97709eca3c052de6334a2340e561878d">operator=</a>(<span class="keyword">const</span> <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html">ThreadCounterMeasurement</a>&amp; timer);</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;</div>
<div class="line"><a name="l00789"></a><span class="lineno"><a class="line" href="classimpala_1_1ThreadCounterMeasurement.html#ad926d10cb9ec21564c57336b8879d4c1"> 789</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ad926d10cb9ec21564c57336b8879d4c1">stop_</a>;</div>
<div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21"> 790</a></span>&#160; rusage <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">usage_base_</a>;</div>
<div class="line"><a name="l00791"></a><span class="lineno"><a class="line" href="classimpala_1_1ThreadCounterMeasurement.html#a91e8c596a97dde84396d4b9212779dba"> 791</a></span>&#160; <a class="code" href="classimpala_1_1MonotonicStopWatch.html">MonotonicStopWatch</a> <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#a91e8c596a97dde84396d4b9212779dba">sw_</a>;</div>
<div class="line"><a name="l00792"></a><span class="lineno"><a class="line" href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4"> 792</a></span>&#160; <a class="code" href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html">RuntimeProfile::ThreadCounters</a>* <a class="code" href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4">counters_</a>;</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;};</div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;</div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;}</div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;</div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="classimpala_1_1AtomicInt_html_a8f42ccf5dc9cfc042509720cea963b50"><div class="ttname"><a href="classimpala_1_1AtomicInt.html#a8f42ccf5dc9cfc042509720cea963b50">impala::AtomicInt::UpdateAndFetch</a></div><div class="ttdeci">T UpdateAndFetch(T delta)</div><div class="ttdoc">Increments by delta (i.e. += delta) and returns the new val. </div><div class="ttdef"><b>Definition:</b> <a href="atomic_8h_source.html#l00105">atomic.h:105</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ae468cfda7051cf8802a7f6b115908f60"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ae468cfda7051cf8802a7f6b115908f60">impala::RuntimeProfile::AddCounter</a></div><div class="ttdeci">Counter * AddCounter(const std::string &amp;name, TUnit::type unit, const std::string &amp;parent_counter_name=&quot;&quot;)</div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html_a65cfb2cc106464846130af984f0b0cab"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a65cfb2cc106464846130af984f0b0cab">impala::RuntimeProfile::AveragedCounter::counter_value_map_</a></div><div class="ttdeci">boost::unordered_map&lt; Counter *, int64_t &gt; counter_value_map_</div><div class="ttdoc">Map from counters to their existing values. Modified via UpdateCounter(). </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00234">runtime-profile.h:234</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_a6db04a7861baf700e025bea45de5a2e1"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#a6db04a7861baf700e025bea45de5a2e1">impala::RuntimeProfile::Counter::value</a></div><div class="ttdeci">virtual int64_t value() const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00108">runtime-profile.h:108</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_a6e1d864813eca4794dc7064f5579c42c"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a6e1d864813eca4794dc7064f5579c42c">impala::RuntimeProfile::EventSequence::GetEvents</a></div><div class="ttdeci">void GetEvents(std::vector&lt; Event &gt; *events)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00301">runtime-profile.h:301</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a4ba4028a644bd8f71cdd624081f86ba7"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a4ba4028a644bd8f71cdd624081f86ba7">impala::RuntimeProfile::AddDerivedCounter</a></div><div class="ttdeci">DerivedCounter * AddDerivedCounter(const std::string &amp;name, TUnit::type unit, const DerivedCounterFunction &amp;counter_fn, const std::string &amp;parent_counter_name=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00447">runtime-profile.cc:447</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_a311f79fe003d67ac1a2564f9f988d6b1"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#a311f79fe003d67ac1a2564f9f988d6b1">impala::RuntimeProfile::Counter::unit_</a></div><div class="ttdeci">TUnit::type unit_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00120">runtime-profile.h:120</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_a7f62dcc4ebeead5c178298120ff0791d"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a7f62dcc4ebeead5c178298120ff0791d">impala::RuntimeProfile::TimeSeriesCounter::AddSample</a></div><div class="ttdeci">void AddSample(int ms_elapsed)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00325">runtime-profile.h:325</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ae208636992a7268178bf843a26da942c"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ae208636992a7268178bf843a26da942c">impala::RuntimeProfile::AddEventSequence</a></div><div class="ttdeci">EventSequence * AddEventSequence(const std::string &amp;key)</div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a430ca504edfe711f0bcb5bafc2e281e5"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a430ca504edfe711f0bcb5bafc2e281e5">impala::RuntimeProfile::child_counter_map_</a></div><div class="ttdeci">ChildCounterMap child_counter_map_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00573">runtime-profile.h:573</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1DerivedCounter_html_a5fbfbb0611111014c8123047bb0bc9a4"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#a5fbfbb0611111014c8123047bb0bc9a4">impala::RuntimeProfile::DerivedCounter::DerivedCounter</a></div><div class="ttdeci">DerivedCounter(TUnit::type unit, const DerivedCounterFunction &amp;counter_fn)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00167">runtime-profile.h:167</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_af1533e8397f2449558b8e2a3ad5db70f"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#af1533e8397f2449558b8e2a3ad5db70f">impala::RuntimeProfile::set_metadata</a></div><div class="ttdeci">void set_metadata(int64_t md)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00494">runtime-profile.h:494</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_ac41cfd9bdc49cf7408baf1d4fd6c0cb4"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#ac41cfd9bdc49cf7408baf1d4fd6c0cb4">impala::RuntimeProfile::TimeSeriesCounter::sample_fn_</a></div><div class="ttdeci">DerivedCounterFunction sample_fn_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00349">runtime-profile.h:349</a></div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html_a1f9fb694089508475a64242d5e715b21"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html#a1f9fb694089508475a64242d5e715b21">impala::ThreadCounterMeasurement::usage_base_</a></div><div class="ttdeci">rusage usage_base_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00790">runtime-profile.h:790</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_a91d8e307feaf47a1acb5c73ebf0af8d5"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a91d8e307feaf47a1acb5c73ebf0af8d5">impala::RuntimeProfile::TimeSeriesCounter::TimeSeriesCounter</a></div><div class="ttdeci">TimeSeriesCounter(const std::string &amp;name, TUnit::type unit, DerivedCounterFunction fn)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00333">runtime-profile.h:333</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter_html_a6813c1a963ad1eacbe66a11aba9e8949"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#a6813c1a963ad1eacbe66a11aba9e8949">impala::RuntimeProfile::HighWaterMarkCounter::current_value</a></div><div class="ttdeci">int64_t current_value() const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00153">runtime-profile.h:153</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1ThreadCounters_html"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html">impala::RuntimeProfile::ThreadCounters</a></div><div class="ttdoc">A set of counters that measure thread info, such as total time, user time, sys time. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00244">runtime-profile.h:244</a></div></div>
<div class="ttc" id="classimpala_1_1MonotonicStopWatch_html_ad51faa4e584e78430b2620572dd715b5"><div class="ttname"><a href="classimpala_1_1MonotonicStopWatch.html#ad51faa4e584e78430b2620572dd715b5">impala::MonotonicStopWatch::Stop</a></div><div class="ttdeci">void Stop()</div><div class="ttdef"><b>Definition:</b> <a href="stopwatch_8h_source.html#l00088">stopwatch.h:88</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a6493d912ed12fb117a7572768bdad8fe"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a6493d912ed12fb117a7572768bdad8fe">impala::RuntimeProfile::SortChildren</a></div><div class="ttdeci">void SortChildren(const Compare &amp;cmp)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00380">runtime-profile.h:380</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_af5018e8e27d73ae11791e0be2574d05b"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#af5018e8e27d73ae11791e0be2574d05b">impala::ScopedTimer::ScopedTimer</a></div><div class="ttdeci">ScopedTimer(RuntimeProfile::Counter *counter)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00707">runtime-profile.h:707</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_acb49893c3fdbdbb7a709b6d2d6276d91"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#acb49893c3fdbdbb7a709b6d2d6276d91">impala::RuntimeProfile::AddSamplingCounter</a></div><div class="ttdeci">Counter * AddSamplingCounter(const std::string &amp;name, Counter *src_counter)</div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a66b1480d1ac5a6832a3955c3cb22d8a5"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a66b1480d1ac5a6832a3955c3cb22d8a5">impala::RuntimeProfile::total_async_timer_</a></div><div class="ttdeci">Counter total_async_timer_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00613">runtime-profile.h:613</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_aa50a54e68f3a84028aa1300877b9a318"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#aa50a54e68f3a84028aa1300877b9a318">impala::RuntimeProfile::Counter::double_value</a></div><div class="ttdeci">virtual double double_value() const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00110">runtime-profile.h:110</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_aff0f9fcb17559d45c0d09c413372dbb4"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#aff0f9fcb17559d45c0d09c413372dbb4">impala::RuntimeProfile::AddInfoString</a></div><div class="ttdeci">void AddInfoString(const std::string &amp;key, const std::string &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00406">runtime-profile.cc:406</a></div></div>
<div class="ttc" id="classimpala_1_1MonotonicStopWatch_html"><div class="ttname"><a href="classimpala_1_1MonotonicStopWatch.html">impala::MonotonicStopWatch</a></div><div class="ttdef"><b>Definition:</b> <a href="stopwatch_8h_source.html#l00074">stopwatch.h:74</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_af7768df65ecd5066b4b8e83e7340460c"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#af7768df65ecd5066b4b8e83e7340460c">impala::ScopedTimer::Stop</a></div><div class="ttdeci">void Stop()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00714">runtime-profile.h:714</a></div></div>
<div class="ttc" id="namespaceimpala_html_a5368f0a1443b0bd404d98b27107678a4"><div class="ttname"><a href="namespaceimpala.html#a5368f0a1443b0bd404d98b27107678a4">impala::events</a></div><div class="ttdeci">client RuntimeProfile::EventSequence * events</div><div class="ttdef"><b>Definition:</b> <a href="coordinator_8h_source.html#l00064">coordinator.h:64</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a24dff71846e5edc0caed789e12bdf4d1"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a24dff71846e5edc0caed789e12bdf4d1">impala::RuntimeProfile::ComputeTimeInProfile</a></div><div class="ttdeci">void ComputeTimeInProfile()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00336">runtime-profile.cc:336</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter_html_af93c7e184bfedf879c311e1b9cd3c261"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#af93c7e184bfedf879c311e1b9cd3c261">impala::RuntimeProfile::HighWaterMarkCounter::HighWaterMarkCounter</a></div><div class="ttdeci">HighWaterMarkCounter(TUnit::type unit)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00127">runtime-profile.h:127</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_aed1992d34ec28e3da442b09a5c511de5"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#aed1992d34ec28e3da442b09a5c511de5">impala::RuntimeProfile::Counter::unit</a></div><div class="ttdeci">TUnit::type unit() const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00114">runtime-profile.h:114</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a81ad5b9d89fcf7657e214367a0bb6e66"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a81ad5b9d89fcf7657e214367a0bb6e66">impala::RuntimeProfile::pool_</a></div><div class="ttdeci">ObjectPool * pool_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00550">runtime-profile.h:550</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a49981ed73d962c0e081db8eaadc41cad"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a49981ed73d962c0e081db8eaadc41cad">impala::RuntimeProfile::ChildMap</a></div><div class="ttdeci">std::map&lt; std::string, RuntimeProfile * &gt; ChildMap</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00584">runtime-profile.h:584</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a2385896d6d4a3ee8601ee075ce2f6503"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a2385896d6d4a3ee8601ee075ce2f6503">impala::RuntimeProfile::SerializeToArchiveString</a></div><div class="ttdeci">std::string SerializeToArchiveString() const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00618">runtime-profile.cc:618</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_aa49758f8eb310dd77d96297b0670b3f8"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#aa49758f8eb310dd77d96297b0670b3f8">impala::RuntimeProfile::info_strings_</a></div><div class="ttdeci">InfoStrings info_strings_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00592">runtime-profile.h:592</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a948c8aaa071f0d0d46616eec23736cb9"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a948c8aaa071f0d0d46616eec23736cb9">impala::RuntimeProfile::event_sequence_lock_</a></div><div class="ttdeci">boost::mutex event_sequence_lock_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00603">runtime-profile.h:603</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a4eb6c64e8f6e50124ea88a893a4fc0ed"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a4eb6c64e8f6e50124ea88a893a4fc0ed">impala::RuntimeProfile::CreateFromThrift</a></div><div class="ttdeci">static RuntimeProfile * CreateFromThrift(ObjectPool *pool, const TRuntimeProfileTree &amp;profiles)</div><div class="ttdoc">Deserialize from thrift. Runtime profiles are allocated from the pool. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00106">runtime-profile.cc:106</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_a0d1e9538c1dc9025d38867630848e3f8"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#a0d1e9538c1dc9025d38867630848e3f8">impala::RuntimeProfile::Counter::~Counter</a></div><div class="ttdeci">virtual ~Counter()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00091">runtime-profile.h:91</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ad9446ea6d436243bd7d2ad9ce7d5989d"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ad9446ea6d436243bd7d2ad9ce7d5989d">impala::RuntimeProfile::ChildCounterMap</a></div><div class="ttdeci">std::map&lt; std::string, std::set&lt; std::string &gt; &gt; ChildCounterMap</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00572">runtime-profile.h:572</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_af57483bf3e55cc8677884278bea18da5"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#af57483bf3e55cc8677884278bea18da5">impala::RuntimeProfile::EventSequence::Event</a></div><div class="ttdeci">std::pair&lt; std::string, int64_t &gt; Event</div><div class="ttdoc">An Event is a &lt;label, timestamp&gt; pair. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00294">runtime-profile.h:294</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a10c24fa16ffff006493ebd57293d3991"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a10c24fa16ffff006493ebd57293d3991">impala::RuntimeProfile::RuntimeProfile</a></div><div class="ttdeci">RuntimeProfile(ObjectPool *pool, const std::string &amp;name, bool is_averaged_profile=false)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00053">runtime-profile.cc:53</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_a5a1109c0787a50f638c9a627c1545d25"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a5a1109c0787a50f638c9a627c1545d25">impala::RuntimeProfile::EventSequence::EventSequence</a></div><div class="ttdeci">EventSequence()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00269">runtime-profile.h:269</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a9540f9287515f7cb666e5dac64be57a9"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a9540f9287515f7cb666e5dac64be57a9">impala::RuntimeProfile::RegisterBucketingCounters</a></div><div class="ttdeci">void RegisterBucketingCounters(Counter *src_counter, std::vector&lt; Counter * &gt; *buckets)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00798">runtime-profile.cc:798</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_ab87f2a972bdb984595f8335c0fb2af1c"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#ab87f2a972bdb984595f8335c0fb2af1c">impala::RuntimeProfile::Counter::value_</a></div><div class="ttdeci">AtomicInt&lt; int64_t &gt; value_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00119">runtime-profile.h:119</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_aa8ded9bee60b0c1a01f63625b5367701"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa8ded9bee60b0c1a01f63625b5367701">impala::RuntimeProfile::TimeSeriesCounter::name_</a></div><div class="ttdeci">std::string name_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00347">runtime-profile.h:347</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a53a5e9ee0e5324e4d7da8f844536a9e8"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a53a5e9ee0e5324e4d7da8f844536a9e8">impala::RuntimeProfile::name_</a></div><div class="ttdeci">std::string name_</div><div class="ttdoc">Name for this runtime profile. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00556">runtime-profile.h:556</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a3a49a501c21731f6675d7e8583a41eba"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a3a49a501c21731f6675d7e8583a41eba">impala::RuntimeProfile::GetCounters</a></div><div class="ttdeci">void GetCounters(const std::string &amp;name, std::vector&lt; Counter * &gt; *counters)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00484">runtime-profile.cc:484</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ad2db4e097c2c6f31460e3b0d92d2fd0f"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ad2db4e097c2c6f31460e3b0d92d2fd0f">impala::RuntimeProfile::event_sequence_map_</a></div><div class="ttdeci">EventSequenceMap event_sequence_map_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00602">runtime-profile.h:602</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ae1339bb35772fd08163494d2257b2853"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ae1339bb35772fd08163494d2257b2853">impala::RuntimeProfile::DerivedCounterFunction</a></div><div class="ttdeci">boost::function&lt; int64_t()&gt; DerivedCounterFunction</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00161">runtime-profile.h:161</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_ab9d0ab106ab6e2468ab79394b87338c2"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ab9d0ab106ab6e2468ab79394b87338c2">impala::RuntimeProfile::EventSequence::ElapsedTime</a></div><div class="ttdeci">int64_t ElapsedTime()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00291">runtime-profile.h:291</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a78925116c22906e9cb793527f7417573"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a78925116c22906e9cb793527f7417573">impala::RuntimeProfile::CounterMap</a></div><div class="ttdeci">std::map&lt; std::string, Counter * &gt; CounterMap</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00567">runtime-profile.h:567</a></div></div>
<div class="ttc" id="classimpala_1_1StreamingSampler_html"><div class="ttname"><a href="classimpala_1_1StreamingSampler.html">impala::StreamingSampler&lt; int64_t, 64 &gt;</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html">impala::RuntimeProfile::AveragedCounter</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00183">runtime-profile.h:183</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1ThreadCounters_html_a2db52e0ae95d6014261fd07e457d2d2d"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a2db52e0ae95d6014261fd07e457d2d2d">impala::RuntimeProfile::ThreadCounters::user_time_</a></div><div class="ttdeci">Counter * user_time_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00250">runtime-profile.h:250</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedCounter_html_af3ddf3f61fad26c3a24d7f18e6ee8c6f"><div class="ttname"><a href="classimpala_1_1ScopedCounter.html#af3ddf3f61fad26c3a24d7f18e6ee8c6f">impala::ScopedCounter::counter_</a></div><div class="ttdeci">RuntimeProfile::Counter * counter_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00698">runtime-profile.h:698</a></div></div>
<div class="ttc" id="stopwatch_8h_html"><div class="ttname"><a href="stopwatch_8h.html">stopwatch.h</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html_ae0ca5fb73438dbbb698d73d8161bb097"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae0ca5fb73438dbbb698d73d8161bb097">impala::RuntimeProfile::AveragedCounter::current_double_sum_</a></div><div class="ttdeci">double current_double_sum_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00239">runtime-profile.h:239</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_a41723e722387e9562e9b01a38a701d34"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a41723e722387e9562e9b01a38a701d34">impala::RuntimeProfile::TimeSeriesCounter::unit_</a></div><div class="ttdeci">TUnit::type unit_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00348">runtime-profile.h:348</a></div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html_ad926d10cb9ec21564c57336b8879d4c1"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html#ad926d10cb9ec21564c57336b8879d4c1">impala::ThreadCounterMeasurement::stop_</a></div><div class="ttdeci">bool stop_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00789">runtime-profile.h:789</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_a8fb330e13610941ca4dfe61c4a6833b3"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#a8fb330e13610941ca4dfe61c4a6833b3">impala::ScopedTimer::sw_</a></div><div class="ttdeci">T sw_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00740">runtime-profile.h:740</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter_html_ad424ddcf2a802dadee2fd969a24c63c2"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#ad424ddcf2a802dadee2fd969a24c63c2">impala::RuntimeProfile::HighWaterMarkCounter::TryAdd</a></div><div class="ttdeci">bool TryAdd(int64_t delta, int64_t max)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00136">runtime-profile.h:136</a></div></div>
<div class="ttc" id="classimpala_1_1ObjectPool_html"><div class="ttname"><a href="classimpala_1_1ObjectPool.html">impala::ObjectPool</a></div><div class="ttdef"><b>Definition:</b> <a href="object-pool_8h_source.html#l00030">object-pool.h:30</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a22927ce16532fa98f7c39633713c0276"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a22927ce16532fa98f7c39633713c0276">impala::RuntimeProfile::AddRateCounter</a></div><div class="ttdeci">Counter * AddRateCounter(const std::string &amp;name, Counter *src_counter)</div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ab1e095fac59cde33085156670c1e5130"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ab1e095fac59cde33085156670c1e5130">impala::RuntimeProfile::UnitsPerSecond</a></div><div class="ttdeci">static int64_t UnitsPerSecond(const Counter *total_counter, const Counter *timer)</div><div class="ttdoc">Derived counter function: return measured throughput as input_value/second. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00733">runtime-profile.cc:733</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html_a4fec14da5469ee596c25b29d64419f31"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a4fec14da5469ee596c25b29d64419f31">impala::RuntimeProfile::AveragedCounter::AveragedCounter</a></div><div class="ttdeci">AveragedCounter(TUnit::type unit)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00185">runtime-profile.h:185</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter_html_ade70de79c62046893b1743ba0fb76fa4"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#ade70de79c62046893b1743ba0fb76fa4">impala::RuntimeProfile::HighWaterMarkCounter::Add</a></div><div class="ttdeci">virtual void Add(int64_t delta)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00129">runtime-profile.h:129</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a4200415c0a0405936a6b5bd344faafb5"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a4200415c0a0405936a6b5bd344faafb5">impala::RuntimeProfile::inactive_timer</a></div><div class="ttdeci">Counter * inactive_timer()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00454">runtime-profile.h:454</a></div></div>
<div class="ttc" id="classimpala_1_1AtomicInt_html_a246319397aa2f5c734b0e1f8e557030a"><div class="ttname"><a href="classimpala_1_1AtomicInt.html#a246319397aa2f5c734b0e1f8e557030a">impala::AtomicInt::UpdateMax</a></div><div class="ttdeci">void UpdateMax(T value)</div><div class="ttdoc">Updates the int to &#39;value&#39; if value is larger. </div><div class="ttdef"><b>Definition:</b> <a href="atomic_8h_source.html#l00115">atomic.h:115</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a531416154e9c6b0cd737b83a7da195d4"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a531416154e9c6b0cd737b83a7da195d4">impala::RuntimeProfile::TimeSeriesCounterMap</a></div><div class="ttdeci">std::map&lt; std::string, TimeSeriesCounter * &gt; TimeSeriesCounterMap</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00605">runtime-profile.h:605</a></div></div>
<div class="ttc" id="classimpala_1_1AtomicInt_html"><div class="ttname"><a href="classimpala_1_1AtomicInt.html">impala::AtomicInt&lt; int64_t &gt;</a></div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html_a91e8c596a97dde84396d4b9212779dba"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html#a91e8c596a97dde84396d4b9212779dba">impala::ThreadCounterMeasurement::sw_</a></div><div class="ttdeci">MonotonicStopWatch sw_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00791">runtime-profile.h:791</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1DerivedCounter_html"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html">impala::RuntimeProfile::DerivedCounter</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00165">runtime-profile.h:165</a></div></div>
<div class="ttc" id="logging_8h_html"><div class="ttname"><a href="logging_8h.html">logging.h</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a111e2e9bc601af5838c77b042e8e840f"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a111e2e9bc601af5838c77b042e8e840f">impala::RuntimeProfile::num_counters</a></div><div class="ttdeci">int num_counters() const </div><div class="ttdoc">Returns the number of counters in this profile. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00484">runtime-profile.h:484</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html_af3a16559888b42ddbef35bd47c79ab1d"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af3a16559888b42ddbef35bd47c79ab1d">impala::RuntimeProfile::AveragedCounter::UpdateCounter</a></div><div class="ttdeci">void UpdateCounter(Counter *new_counter)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00195">runtime-profile.h:195</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_a4540a34a139da434236a7cb4ac3b4a4d"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#a4540a34a139da434236a7cb4ac3b4a4d">impala::RuntimeProfile::Counter::Set</a></div><div class="ttdeci">virtual void Set(double value)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00104">runtime-profile.h:104</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_a1cfaae6ff8ad29bcaf5c876ef83dca9d"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#a1cfaae6ff8ad29bcaf5c876ef83dca9d">impala::RuntimeProfile::Counter::Set</a></div><div class="ttdeci">virtual void Set(int64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00102">runtime-profile.h:102</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html">impala::RuntimeProfile::Counter</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00085">runtime-profile.h:85</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_a06c29cc24c2eaf3a114b32247a8bdd4c"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#a06c29cc24c2eaf3a114b32247a8bdd4c">impala::ScopedTimer::UpdateCounter</a></div><div class="ttdeci">void UpdateCounter()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00717">runtime-profile.h:717</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a42fe07102992bcce0f5b41e6da76cecd"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a42fe07102992bcce0f5b41e6da76cecd">impala::RuntimeProfile::InfoStringsDisplayOrder</a></div><div class="ttdeci">std::vector&lt; std::string &gt; InfoStringsDisplayOrder</div><div class="ttdoc">Keeps track of the order in which InfoStrings are displayed when printed. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00595">runtime-profile.h:595</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html">impala::RuntimeProfile::TimeSeriesCounter</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00321">runtime-profile.h:321</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ab5238ba81cc37d450af60fa3dc9d0800"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ab5238ba81cc37d450af60fa3dc9d0800">impala::RuntimeProfile::time_series_counter_map_lock_</a></div><div class="ttdeci">boost::mutex time_series_counter_map_lock_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00607">runtime-profile.h:607</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_af4d8888c8e51b2f7c1bd0c21ddb57e97"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#af4d8888c8e51b2f7c1bd0c21ddb57e97">impala::RuntimeProfile::StreamingCounterSampler</a></div><div class="ttdeci">StreamingSampler&lt; int64_t, 64 &gt; StreamingCounterSampler</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00320">runtime-profile.h:320</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ad27e2704b1bb69afb235f54d03914ca0"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ad27e2704b1bb69afb235f54d03914ca0">impala::RuntimeProfile::GetEventSequence</a></div><div class="ttdeci">EventSequence * GetEventSequence(const std::string &amp;name) const </div><div class="ttdoc">Returns event sequence with the provided name if it exists, otherwise NULL. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00494">runtime-profile.cc:494</a></div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html">impala::ThreadCounterMeasurement</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00747">runtime-profile.h:747</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html_a612b017d771bf12bf408779de439f434"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#a612b017d771bf12bf408779de439f434">impala::RuntimeProfile::AveragedCounter::Set</a></div><div class="ttdeci">virtual void Set(int64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00224">runtime-profile.h:224</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1ThreadCounters_html_a8d183be755993c03106ad5ab3ab91c1f"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a8d183be755993c03106ad5ab3ab91c1f">impala::RuntimeProfile::ThreadCounters::sys_time_</a></div><div class="ttdeci">Counter * sys_time_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00251">runtime-profile.h:251</a></div></div>
<div class="ttc" id="thread_8h_html"><div class="ttname"><a href="thread_8h.html">thread.h</a></div></div>
<div class="ttc" id="object-pool_8h_html"><div class="ttname"><a href="object-pool_8h.html">object-pool.h</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a23520472b97357f80059c5427de9ea7e"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a23520472b97357f80059c5427de9ea7e">impala::RuntimeProfile::CounterSum</a></div><div class="ttdeci">static int64_t CounterSum(const std::vector&lt; Counter * &gt; *counters)</div><div class="ttdoc">Derived counter function: return aggregated value. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00745">runtime-profile.cc:745</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_a9f0e137461f6838c9fc35cb0cb568ab9"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a9f0e137461f6838c9fc35cb0cb568ab9">impala::RuntimeProfile::TimeSeriesCounter::ToThrift</a></div><div class="ttdeci">void ToThrift(TTimeSeriesCounter *counter)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00868">runtime-profile.cc:868</a></div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html_a1ac8256039bb195a7f076d6385ef47bf"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html#a1ac8256039bb195a7f076d6385ef47bf">impala::ThreadCounterMeasurement::Stop</a></div><div class="ttdeci">void Stop()</div><div class="ttdoc">Stop and update the counter. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00758">runtime-profile.h:758</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1ThreadCounters_html_a314e52826b395624c0e9d42c15776f1f"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a314e52826b395624c0e9d42c15776f1f">impala::RuntimeProfile::ThreadCounters::total_time_</a></div><div class="ttdeci">Counter * total_time_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00249">runtime-profile.h:249</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_aa2cbea0b770e1875f1c09998e400ca8e"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#aa2cbea0b770e1875f1c09998e400ca8e">impala::RuntimeProfile::local_time_percent_</a></div><div class="ttdeci">double local_time_percent_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00622">runtime-profile.h:622</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a27b53e0193c450a0d0ccbadc7cd3f558"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a27b53e0193c450a0d0ccbadc7cd3f558">impala::RuntimeProfile::counter_map_</a></div><div class="ttdeci">CounterMap counter_map_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00568">runtime-profile.h:568</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a3921275ceedc1503249763ea664e94fc"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a3921275ceedc1503249763ea664e94fc">impala::RuntimeProfile::UpdateAverage</a></div><div class="ttdeci">void UpdateAverage(RuntimeProfile *src)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00151">runtime-profile.cc:151</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_a7bd1a59efa58c0fbf69f41180f6dbfa1"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a7bd1a59efa58c0fbf69f41180f6dbfa1">impala::RuntimeProfile::EventSequence::MarkEvent</a></div><div class="ttdeci">void MarkEvent(const std::string &amp;label)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00286">runtime-profile.h:286</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_af9037e9235800e4ce0e632ccf288c464"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#af9037e9235800e4ce0e632ccf288c464">impala::RuntimeProfile::Divide</a></div><div class="ttdeci">void Divide(int n)</div><div class="ttdoc">Divides all counters by n. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00315">runtime-profile.cc:315</a></div></div>
<div class="ttc" id="classimpala_1_1AtomicInt_html_a3e0cab2d8adaced2bdeef7fc93d9e581"><div class="ttname"><a href="classimpala_1_1AtomicInt.html#a3e0cab2d8adaced2bdeef7fc93d9e581">impala::AtomicInt::CompareAndSwap</a></div><div class="ttdeci">bool CompareAndSwap(T old_val, T new_val)</div><div class="ttdoc">Returns true if the atomic compare-and-swap was successful. </div><div class="ttdef"><b>Definition:</b> <a href="atomic_8h_source.html#l00131">atomic.h:131</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_a75222d885358c815e7caaa655a58b775"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#a75222d885358c815e7caaa655a58b775">impala::ScopedTimer::Start</a></div><div class="ttdeci">void Start()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00715">runtime-profile.h:715</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a064f295ad2e534e1af6511c4e9a61319"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a064f295ad2e534e1af6511c4e9a61319">impala::RuntimeProfile::own_pool_</a></div><div class="ttdeci">bool own_pool_</div><div class="ttdoc">True if we have to delete the pool_ on destruction. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00553">runtime-profile.h:553</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_adbd31048331e34341d19ec24f37d9985"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#adbd31048331e34341d19ec24f37d9985">impala::RuntimeProfile::~RuntimeProfile</a></div><div class="ttdeci">~RuntimeProfile()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00082">runtime-profile.cc:82</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ada3efdffb81e8d4c15b131c5e29878c4"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ada3efdffb81e8d4c15b131c5e29878c4">impala::RuntimeProfile::EventSequenceMap</a></div><div class="ttdeci">std::map&lt; std::string, EventSequence * &gt; EventSequenceMap</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00601">runtime-profile.h:601</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedCounter_html_acb7c778f0c7581c3e0b120de52d8c5ee"><div class="ttname"><a href="classimpala_1_1ScopedCounter.html#acb7c778f0c7581c3e0b120de52d8c5ee">impala::ScopedCounter::operator=</a></div><div class="ttdeci">ScopedCounter &amp; operator=(const ScopedCounter &amp;counter)</div></div>
<div class="ttc" id="classimpala_1_1ScopedCounter_html_ae6d4084e418bc2ac6837678d87eb9e11"><div class="ttname"><a href="classimpala_1_1ScopedCounter.html#ae6d4084e418bc2ac6837678d87eb9e11">impala::ScopedCounter::~ScopedCounter</a></div><div class="ttdeci">~ScopedCounter()</div><div class="ttdoc">Increment the counter when object is destroyed. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00688">runtime-profile.h:688</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ab77fc503b8d6922d60ac494c6c1b413a"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ab77fc503b8d6922d60ac494c6c1b413a">impala::RuntimeProfile::ASYNC_TIME_COUNTER_NAME</a></div><div class="ttdeci">static const std::string ASYNC_TIME_COUNTER_NAME</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00640">runtime-profile.h:640</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_ae34edfd0806e891c7ce0e7321806a6e1"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ae34edfd0806e891c7ce0e7321806a6e1">impala::RuntimeProfile::EventSequence::sw_</a></div><div class="ttdeci">MonotonicStopWatch sw_</div><div class="ttdoc">Timer which allows events to be timestamped when they are recorded. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00317">runtime-profile.h:317</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_a6d5d58e2d670854b3d69b7297eab7935"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a6d5d58e2d670854b3d69b7297eab7935">impala::RuntimeProfile::EventSequence::Start</a></div><div class="ttdeci">void Start()</div><div class="ttdoc">Starts the timer without resetting it. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00281">runtime-profile.h:281</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedEvent_html_aab36fedf432fe7a80e2ad8498c40c9ec"><div class="ttname"><a href="classimpala_1_1ScopedEvent.html#aab36fedf432fe7a80e2ad8498c40c9ec">impala::ScopedEvent::operator=</a></div><div class="ttdeci">ScopedEvent &amp; operator=(const ScopedEvent &amp;event)</div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a46097ef6e83ef5acda14c854832b611e"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a46097ef6e83ef5acda14c854832b611e">impala::RuntimeProfile::inactive_timer_</a></div><div class="ttdeci">Counter inactive_timer_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00618">runtime-profile.h:618</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ab642ab185e027c98fede76b933216f25"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ab642ab185e027c98fede76b933216f25">impala::RuntimeProfile::children_</a></div><div class="ttdeci">ChildVector children_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00588">runtime-profile.h:588</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ab2f51a1c51b77b5081b4b89d6e5904b9"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ab2f51a1c51b77b5081b4b89d6e5904b9">impala::RuntimeProfile::AddThreadCounters</a></div><div class="ttdeci">ThreadCounters * AddThreadCounters(const std::string &amp;prefix)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00461">runtime-profile.cc:461</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1DerivedCounter_html_a18c5af7c053c1d3275a1c9836e50a2a2"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#a18c5af7c053c1d3275a1c9836e50a2a2">impala::RuntimeProfile::DerivedCounter::value</a></div><div class="ttdeci">virtual int64_t value() const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00171">runtime-profile.h:171</a></div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html_ac7d3f7b084157505b641f91babca9cf9"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html#ac7d3f7b084157505b641f91babca9cf9">impala::ThreadCounterMeasurement::ThreadCounterMeasurement</a></div><div class="ttdeci">ThreadCounterMeasurement(RuntimeProfile::ThreadCounters *counters)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00749">runtime-profile.h:749</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1ThreadCounters_html_a1f1de61d55edd8aec9ad94a1fc17e88e"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#a1f1de61d55edd8aec9ad94a1fc17e88e">impala::RuntimeProfile::ThreadCounters::voluntary_context_switches_</a></div><div class="ttdeci">Counter * voluntary_context_switches_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00255">runtime-profile.h:255</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedCounter_html_af81dd626bbb69da7ace94a327571b87d"><div class="ttname"><a href="classimpala_1_1ScopedCounter.html#af81dd626bbb69da7ace94a327571b87d">impala::ScopedCounter::ScopedCounter</a></div><div class="ttdeci">ScopedCounter(RuntimeProfile::Counter *counter, int64_t val)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00680">runtime-profile.h:680</a></div></div>
<div class="ttc" id="expr-benchmark_8cc_html_a3a5de7bd423fbc0afc4cf935c166ca6b"><div class="ttname"><a href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a></div><div class="ttdeci">ObjectPool pool</div><div class="ttdef"><b>Definition:</b> <a href="expr-benchmark_8cc_source.html#l00089">expr-benchmark.cc:89</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_ac170eff72e49bd50b6a48aa8344a3497"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ac170eff72e49bd50b6a48aa8344a3497">impala::RuntimeProfile::EventSequence::lock_</a></div><div class="ttdeci">boost::mutex lock_</div><div class="ttdoc">Protect access to events_. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00311">runtime-profile.h:311</a></div></div>
<div class="ttc" id="classimpala_1_1MonotonicStopWatch_html_a5f42e96a173893f40aac4fb1e787faac"><div class="ttname"><a href="classimpala_1_1MonotonicStopWatch.html#a5f42e96a173893f40aac4fb1e787faac">impala::MonotonicStopWatch::Start</a></div><div class="ttdeci">void Start()</div><div class="ttdef"><b>Definition:</b> <a href="stopwatch_8h_source.html#l00081">stopwatch.h:81</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_adae3b38db3cf2152b9f443bd84774fd9"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#adae3b38db3cf2152b9f443bd84774fd9">impala::RuntimeProfile::children_lock_</a></div><div class="ttdeci">boost::mutex children_lock_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00589">runtime-profile.h:589</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1DerivedCounter_html_ab115272b982c34a931544e8198f3f3c6"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1DerivedCounter.html#ab115272b982c34a931544e8198f3f3c6">impala::RuntimeProfile::DerivedCounter::counter_fn_</a></div><div class="ttdeci">DerivedCounterFunction counter_fn_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00176">runtime-profile.h:176</a></div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html_a6b9668ffb0fa6a9f6fe8c671a2bdb01c"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html#a6b9668ffb0fa6a9f6fe8c671a2bdb01c">impala::ThreadCounterMeasurement::~ThreadCounterMeasurement</a></div><div class="ttdeci">~ThreadCounterMeasurement()</div><div class="ttdoc">Update counter when object is destroyed. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00780">runtime-profile.h:780</a></div></div>
<div class="ttc" id="atomic_8h_html"><div class="ttname"><a href="atomic_8h.html">atomic.h</a></div></div>
<div class="ttc" id="classimpala_1_1MonotonicStopWatch_html_a4a5fdb04f9b13278b9c636e472330976"><div class="ttname"><a href="classimpala_1_1MonotonicStopWatch.html#a4a5fdb04f9b13278b9c636e472330976">impala::MonotonicStopWatch::ElapsedTime</a></div><div class="ttdeci">uint64_t ElapsedTime() const </div><div class="ttdoc">Returns time in nanosecond. </div><div class="ttdef"><b>Definition:</b> <a href="stopwatch_8h_source.html#l00105">stopwatch.h:105</a></div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html_ae6b57d3563dc0d09aa2b1606401e8cd4"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html#ae6b57d3563dc0d09aa2b1606401e8cd4">impala::ThreadCounterMeasurement::counters_</a></div><div class="ttdeci">RuntimeProfile::ThreadCounters * counters_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00792">runtime-profile.h:792</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html">impala::RuntimeProfile::EventSequence</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00267">runtime-profile.h:267</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedEvent_html_ace016df8c6d4ac40b97fd8ee6360fd23"><div class="ttname"><a href="classimpala_1_1ScopedEvent.html#ace016df8c6d4ac40b97fd8ee6360fd23">impala::ScopedEvent::event_sequence_</a></div><div class="ttdeci">RuntimeProfile::EventSequence * event_sequence_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00672">runtime-profile.h:672</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a3181fd666040fa8dbe972fb291c01c6e"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a3181fd666040fa8dbe972fb291c01c6e">impala::RuntimeProfile::Update</a></div><div class="ttdeci">void Update(const TRuntimeProfileTree &amp;thrift_profile)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00219">runtime-profile.cc:219</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_a51941da7a37077456d78752144a2ec2c"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a51941da7a37077456d78752144a2ec2c">impala::RuntimeProfile::EventSequence::ToThrift</a></div><div class="ttdeci">void ToThrift(TEventSequence *seq) const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00888">runtime-profile.cc:888</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a70ae570e053f1caf889f8e6a83d733d3"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a70ae570e053f1caf889f8e6a83d733d3">impala::RuntimeProfile::total_async_timer</a></div><div class="ttdeci">Counter * total_async_timer()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00455">runtime-profile.h:455</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter_html_abb373ac51155cd89649560d5ed0d17c4"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#abb373ac51155cd89649560d5ed0d17c4">impala::RuntimeProfile::HighWaterMarkCounter::current_value_</a></div><div class="ttdeci">AtomicInt&lt; int64_t &gt; current_value_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00158">runtime-profile.h:158</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ad8cdb4ebbdcb230feb57d3a48f729fa9"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ad8cdb4ebbdcb230feb57d3a48f729fa9">impala::RuntimeProfile::metadata</a></div><div class="ttdeci">int64_t metadata() const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00493">runtime-profile.h:493</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_a139500d70a06a1a49ea857d0f97a22e2"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a139500d70a06a1a49ea857d0f97a22e2">impala::RuntimeProfile::EventSequence::EventList</a></div><div class="ttdeci">std::vector&lt; Event &gt; EventList</div><div class="ttdoc">An EventList is a sequence of Events, in increasing timestamp order. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00297">runtime-profile.h:297</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_adbc7d2d5ad919590f406b97c1c567d26"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#adbc7d2d5ad919590f406b97c1c567d26">impala::RuntimeProfile::bucketing_counters_</a></div><div class="ttdeci">std::set&lt; std::vector&lt; Counter * &gt; * &gt; bucketing_counters_</div><div class="ttdoc">A set of bucket counters registered in this runtime profile. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00576">runtime-profile.h:576</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a35f8163d1b163b37923f5ac8b84577bc"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a35f8163d1b163b37923f5ac8b84577bc">impala::RuntimeProfile::AddTimeSeriesCounter</a></div><div class="ttdeci">TimeSeriesCounter * AddTimeSeriesCounter(const std::string &amp;name, TUnit::type unit, DerivedCounterFunction sample_fn)</div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ae52217bc9700704ab646eaed9dfe0c81"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ae52217bc9700704ab646eaed9dfe0c81">impala::RuntimeProfile::PrintChildCounters</a></div><div class="ttdeci">static void PrintChildCounters(const std::string &amp;prefix, const std::string &amp;counter_name, const CounterMap &amp;counter_map, const ChildCounterMap &amp;child_counter_map, std::ostream *s)</div><div class="ttdoc">Print the child counters of the given counter name. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00829">runtime-profile.cc:829</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ab3379b01b1833795f7510f25df813356"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ab3379b01b1833795f7510f25df813356">impala::RuntimeProfile::ChildVector</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; RuntimeProfile *, bool &gt; &gt; ChildVector</div><div class="ttdoc">vector of (profile, indentation flag) </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00587">runtime-profile.h:587</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html">impala::RuntimeProfile</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00083">runtime-profile.h:83</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a69311e4b94f474f72dd9a5434d2d1a10"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a69311e4b94f474f72dd9a5434d2d1a10">impala::RuntimeProfile::metadata_</a></div><div class="ttdeci">int64_t metadata_</div><div class="ttdoc">user-supplied, uninterpreted metadata. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00559">runtime-profile.h:559</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedEvent_html_afd47d44704bb6e08b29c82d8654f1233"><div class="ttname"><a href="classimpala_1_1ScopedEvent.html#afd47d44704bb6e08b29c82d8654f1233">impala::ScopedEvent::label_</a></div><div class="ttdeci">const std::string label_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00671">runtime-profile.h:671</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_afcb9e667c57060588b3222ed05c5d06b"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#afcb9e667c57060588b3222ed05c5d06b">impala::RuntimeProfile::counter_total_time_</a></div><div class="ttdeci">Counter counter_total_time_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00609">runtime-profile.h:609</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedCounter_html"><div class="ttname"><a href="classimpala_1_1ScopedCounter.html">impala::ScopedCounter</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00678">runtime-profile.h:678</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter_html"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html">impala::RuntimeProfile::HighWaterMarkCounter</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00125">runtime-profile.h:125</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a91cce4e3e109922a077cb84a9f6925f2"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a91cce4e3e109922a077cb84a9f6925f2">impala::RuntimeProfile::AddHighWaterMarkCounter</a></div><div class="ttdeci">HighWaterMarkCounter * AddHighWaterMarkCounter(const std::string &amp;name, TUnit::type unit, const std::string &amp;parent_counter_name=&quot;&quot;)</div></div>
<div class="ttc" id="classimpala_1_1ThreadCounterMeasurement_html_a97709eca3c052de6334a2340e561878d"><div class="ttname"><a href="classimpala_1_1ThreadCounterMeasurement.html#a97709eca3c052de6334a2340e561878d">impala::ThreadCounterMeasurement::operator=</a></div><div class="ttdeci">ThreadCounterMeasurement &amp; operator=(const ThreadCounterMeasurement &amp;timer)</div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_a383e5dd4cf871308261903124676a76d"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#a383e5dd4cf871308261903124676a76d">impala::RuntimeProfile::Counter::Counter</a></div><div class="ttdeci">Counter(TUnit::type unit, int64_t value=0)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00087">runtime-profile.h:87</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_a1fc7247728ec6318a50348d5bdc2defe"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#a1fc7247728ec6318a50348d5bdc2defe">impala::ScopedTimer::~ScopedTimer</a></div><div class="ttdeci">~ScopedTimer()</div><div class="ttdoc">Update counter when object is destroyed. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00730">runtime-profile.h:730</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter_html_a18fc6a965de9770c2a429bcc49f73560"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1HighWaterMarkCounter.html#a18fc6a965de9770c2a429bcc49f73560">impala::RuntimeProfile::HighWaterMarkCounter::Set</a></div><div class="ttdeci">virtual void Set(int64_t v)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00148">runtime-profile.h:148</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedEvent_html_a85f83bcaa57b50134c38601ca58f2880"><div class="ttname"><a href="classimpala_1_1ScopedEvent.html#a85f83bcaa57b50134c38601ca58f2880">impala::ScopedEvent::~ScopedEvent</a></div><div class="ttdeci">~ScopedEvent()</div><div class="ttdoc">Mark the event when the object is destroyed. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00662">runtime-profile.h:662</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a4e09f9bdbbf138bdb9c873b0290cd1b5"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a4e09f9bdbbf138bdb9c873b0290cd1b5">impala::RuntimeProfile::GetCounter</a></div><div class="ttdeci">Counter * GetCounter(const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00476">runtime-profile.cc:476</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_aa77d2c7260da50670f2d3e4c968bf09c"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#aa77d2c7260da50670f2d3e4c968bf09c">impala::RuntimeProfile::TimeSeriesCounter::TimeSeriesCounter</a></div><div class="ttdeci">TimeSeriesCounter(const std::string &amp;name, TUnit::type unit, int period, const std::vector&lt; int64_t &gt; &amp;values)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00340">runtime-profile.h:340</a></div></div>
<div class="ttc" id="compiler-util_8h_html_a262afcfe437f4addb13fb1b47a6a7086"><div class="ttname"><a href="compiler-util_8h.html#a262afcfe437f4addb13fb1b47a6a7086">LIKELY</a></div><div class="ttdeci">#define LIKELY(expr)</div><div class="ttdef"><b>Definition:</b> <a href="compiler-util_8h_source.html#l00032">compiler-util.h:32</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a3199b85de1a8278a4a94dc7259aea68d"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a3199b85de1a8278a4a94dc7259aea68d">impala::RuntimeProfile::PrettyPrint</a></div><div class="ttdeci">void PrettyPrint(std::ostream *s, const std::string &amp;prefix=&quot;&quot;) const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00507">runtime-profile.cc:507</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_ab7cb26722eda78f16db9af0adfe946f4"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#ab7cb26722eda78f16db9af0adfe946f4">impala::ScopedTimer::counter_</a></div><div class="ttdeci">RuntimeProfile::Counter * counter_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00741">runtime-profile.h:741</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_acea22d3f8d2a74835290a9cbd8ef4100"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#acea22d3f8d2a74835290a9cbd8ef4100">impala::RuntimeProfile::local_time</a></div><div class="ttdeci">int64_t local_time()</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00457">runtime-profile.h:457</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html_ad230c6d8821df136fd85f55500ac1c30"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ad230c6d8821df136fd85f55500ac1c30">impala::RuntimeProfile::AveragedCounter::Set</a></div><div class="ttdeci">virtual void Set(double value)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00220">runtime-profile.h:220</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedEvent_html"><div class="ttname"><a href="classimpala_1_1ScopedEvent.html">impala::ScopedEvent</a></div><div class="ttdoc">Utility class to mark an event when the object is destroyed. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00654">runtime-profile.h:654</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_ac63bda1924c934932e87c17cbd2972d8"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#ac63bda1924c934932e87c17cbd2972d8">impala::ScopedTimer::operator=</a></div><div class="ttdeci">ScopedTimer &amp; operator=(const ScopedTimer &amp;timer)</div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a69236f59f06e7ff7c8268e8964c58fac"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a69236f59f06e7ff7c8268e8964c58fac">impala::RuntimeProfile::counter_map_lock_</a></div><div class="ttdeci">boost::mutex counter_map_lock_</div><div class="ttdoc">protects counter_map_, counter_child_map_ and bucketing_counters_ </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00579">runtime-profile.h:579</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedEvent_html_a440abadc4e65e9983612708a488dc4b6"><div class="ttname"><a href="classimpala_1_1ScopedEvent.html#a440abadc4e65e9983612708a488dc4b6">impala::ScopedEvent::ScopedEvent</a></div><div class="ttdeci">ScopedEvent(RuntimeProfile::EventSequence *event_sequence, const std::string &amp;label)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00656">runtime-profile.h:656</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ab95873480e342aca603596139f183af8"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ab95873480e342aca603596139f183af8">impala::RuntimeProfile::time_series_counter_map_</a></div><div class="ttdeci">TimeSeriesCounterMap time_series_counter_map_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00606">runtime-profile.h:606</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ab91c27cdae4299b8a8d0338e277e7655"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ab91c27cdae4299b8a8d0338e277e7655">impala::RuntimeProfile::INACTIVE_TIME_COUNTER_NAME</a></div><div class="ttdeci">static const std::string INACTIVE_TIME_COUNTER_NAME</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00639">runtime-profile.h:639</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a85a2c55472175ecd67cec7469a455935"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a85a2c55472175ecd67cec7469a455935">impala::RuntimeProfile::info_strings_display_order_</a></div><div class="ttdeci">InfoStringsDisplayOrder info_strings_display_order_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00596">runtime-profile.h:596</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_ac23485250085415dc611d7bd51b54b05"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#ac23485250085415dc611d7bd51b54b05">impala::RuntimeProfile::EventSequence::EventSequence</a></div><div class="ttdeci">EventSequence(const std::vector&lt; int64_t &gt; &amp;timestamps, const std::vector&lt; std::string &gt; &amp;labels)</div><div class="ttdoc">Helper constructor for building from Thrift. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00272">runtime-profile.h:272</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1EventSequence_html_a65263fced2b5a9c2f4c000ca039cbc7e"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1EventSequence.html#a65263fced2b5a9c2f4c000ca039cbc7e">impala::RuntimeProfile::EventSequence::events_</a></div><div class="ttdeci">EventList events_</div><div class="ttdoc">Stored in increasing time order. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00314">runtime-profile.h:314</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_a6cfe66a7289800a5e6d46c1d89559416"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a6cfe66a7289800a5e6d46c1d89559416">impala::RuntimeProfile::TimeSeriesCounter::DebugString</a></div><div class="ttdeci">std::string DebugString() const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00881">runtime-profile.cc:881</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_aa4ce9c46491c9f241f29cbaf9623e146"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#aa4ce9c46491c9f241f29cbaf9623e146">impala::RuntimeProfile::InfoStrings</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; InfoStrings</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00591">runtime-profile.h:591</a></div></div>
<div class="ttc" id="classimpala_1_1StreamingSampler_html_a853a60d2c09941f91994f3f055a07975"><div class="ttname"><a href="classimpala_1_1StreamingSampler.html#a853a60d2c09941f91994f3f055a07975">impala::StreamingSampler::AddSample</a></div><div class="ttdeci">void AddSample(T sample, int ms)</div><div class="ttdef"><b>Definition:</b> <a href="streaming-sampler_8h_source.html#l00061">streaming-sampler.h:61</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedCounter_html_a56de8b43d3caa00761988db3b60f02b7"><div class="ttname"><a href="classimpala_1_1ScopedCounter.html#a56de8b43d3caa00761988db3b60f02b7">impala::ScopedCounter::val_</a></div><div class="ttdeci">int64_t val_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00697">runtime-profile.h:697</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_accee494361b71d610dea9b639e19a285"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#accee494361b71d610dea9b639e19a285">impala::RuntimeProfile::Counter::Add</a></div><div class="ttdeci">virtual void Add(int64_t delta)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00093">runtime-profile.h:93</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ad5858ff35c23e299fefd9d2a4f8f2d5b"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ad5858ff35c23e299fefd9d2a4f8f2d5b">impala::RuntimeProfile::child_map_</a></div><div class="ttdeci">ChildMap child_map_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00585">runtime-profile.h:585</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a4dbecb74567ba51c71f6159be8fb69c1"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a4dbecb74567ba51c71f6159be8fb69c1">impala::RuntimeProfile::TOTAL_TIME_COUNTER_NAME</a></div><div class="ttdeci">static const std::string TOTAL_TIME_COUNTER_NAME</div><div class="ttdoc">Name of the counter maintaining the total time. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00638">runtime-profile.h:638</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_aaef4a8066afcba576fc69dda6fc95e25"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#aaef4a8066afcba576fc69dda6fc95e25">impala::RuntimeProfile::AddChild</a></div><div class="ttdeci">void AddChild(RuntimeProfile *child, bool indent=true, RuntimeProfile *location=NULL)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00368">runtime-profile.cc:368</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ad1c9c01c6de969727856ca38719f03f2"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ad1c9c01c6de969727856ca38719f03f2">impala::RuntimeProfile::local_time_ns_</a></div><div class="ttdeci">int64_t local_time_ns_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00626">runtime-profile.h:626</a></div></div>
<div class="ttc" id="namespacegen__ir__descriptions_html_a0d6572990c8dd576a55a21ff11d6deb7"><div class="ttname"><a href="namespacegen__ir__descriptions.html#a0d6572990c8dd576a55a21ff11d6deb7">gen_ir_descriptions.idx</a></div><div class="ttdeci">int idx</div><div class="ttdef"><b>Definition:</b> <a href="gen__ir__descriptions_8py_source.html#l00215">gen_ir_descriptions.py:215</a></div></div>
<div class="ttc" id="streaming-sampler_8h_html"><div class="ttname"><a href="streaming-sampler_8h.html">streaming-sampler.h</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html_af2ee3127ff725bee52d2b21e47c5c306"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#af2ee3127ff725bee52d2b21e47c5c306">impala::RuntimeProfile::AveragedCounter::current_int_sum_</a></div><div class="ttdeci">int64_t current_int_sum_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00240">runtime-profile.h:240</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a1e8bb1f8bf0f97678a9c6b6507316ee2"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a1e8bb1f8bf0f97678a9c6b6507316ee2">impala::RuntimeProfile::name</a></div><div class="ttdeci">const std::string &amp; name() const </div><div class="ttdoc">Returns name of this profile. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00487">runtime-profile.h:487</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a2a9ef49b3b393d9db693ff50f455fc4f"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a2a9ef49b3b393d9db693ff50f455fc4f">impala::RuntimeProfile::GetInfoString</a></div><div class="ttdeci">const std::string * GetInfoString(const std::string &amp;key) const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00419">runtime-profile.cc:419</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ad12ee35bc733eb6aa4f3cb26cef28a88"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ad12ee35bc733eb6aa4f3cb26cef28a88">impala::RuntimeProfile::GetChildren</a></div><div class="ttdeci">void GetChildren(std::vector&lt; RuntimeProfile * &gt; *children)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00390">runtime-profile.cc:390</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ae1c14c7d0e6105c06f6970f5e8f805f0"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ae1c14c7d0e6105c06f6970f5e8f805f0">impala::RuntimeProfile::info_strings_lock_</a></div><div class="ttdeci">boost::mutex info_strings_lock_</div><div class="ttdoc">Protects info_strings_ and info_strings_display_order_. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00599">runtime-profile.h:599</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html_a781870942c76affb8a3142a4f45c060f"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html#a781870942c76affb8a3142a4f45c060f">impala::ScopedTimer::ReleaseCounter</a></div><div class="ttdeci">void ReleaseCounter()</div><div class="ttdoc">Updates the underlying counter for the final time and clears the pointer to it. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00724">runtime-profile.h:724</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1Counter_html_a3f5336cbbc357cb64954755616bf0850"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1Counter.html#a3f5336cbbc357cb64954755616bf0850">impala::RuntimeProfile::Counter::BitOr</a></div><div class="ttdeci">void BitOr(int64_t delta)</div><div class="ttdoc">Use this to update if the counter is a bitmap. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00098">runtime-profile.h:98</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a403c2620d49ba97f30596cf4e3be99b2"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a403c2620d49ba97f30596cf4e3be99b2">impala::RuntimeProfile::set_name</a></div><div class="ttdeci">void set_name(const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00491">runtime-profile.h:491</a></div></div>
<div class="ttc" id="classimpala_1_1ScopedTimer_html"><div class="ttname"><a href="classimpala_1_1ScopedTimer.html">impala::ScopedTimer</a></div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00705">runtime-profile.h:705</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter_html_a9c147ed5ce1f72f71f2d11aad2234e4c"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1TimeSeriesCounter.html#a9c147ed5ce1f72f71f2d11aad2234e4c">impala::RuntimeProfile::TimeSeriesCounter::samples_</a></div><div class="ttdeci">StreamingCounterSampler samples_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00350">runtime-profile.h:350</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1AveragedCounter_html_ae2d3d7ba6cb5f94cba784073909d249b"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1AveragedCounter.html#ae2d3d7ba6cb5f94cba784073909d249b">impala::RuntimeProfile::AveragedCounter::Add</a></div><div class="ttdeci">virtual void Add(int64_t delta)</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00228">runtime-profile.h:228</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_1_1ThreadCounters_html_ac8a2c4e065b94163582e038ba9cf23bf"><div class="ttname"><a href="classimpala_1_1RuntimeProfile_1_1ThreadCounters.html#ac8a2c4e065b94163582e038ba9cf23bf">impala::RuntimeProfile::ThreadCounters::involuntary_context_switches_</a></div><div class="ttdeci">Counter * involuntary_context_switches_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00259">runtime-profile.h:259</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a49fdb7ae15c41d898563202739ce9161"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a49fdb7ae15c41d898563202739ce9161">impala::RuntimeProfile::GetAllChildren</a></div><div class="ttdeci">void GetAllChildren(std::vector&lt; RuntimeProfile * &gt; *children)</div><div class="ttdoc">Gets all profiles in tree, including this one. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00398">runtime-profile.cc:398</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_ac7672074fdae1ccec80deabca8144388"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#ac7672074fdae1ccec80deabca8144388">impala::RuntimeProfile::is_averaged_profile_</a></div><div class="ttdeci">bool is_averaged_profile_</div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00563">runtime-profile.h:563</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_a0636f082b808be5603808d2e665e2d80"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#a0636f082b808be5603808d2e665e2d80">impala::RuntimeProfile::ToThrift</a></div><div class="ttdeci">void ToThrift(TRuntimeProfileTree *tree) const </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8cc_source.html#l00651">runtime-profile.cc:651</a></div></div>
<div class="ttc" id="classimpala_1_1RuntimeProfile_html_abd28edd77ba3928dbac3af735102fb3b"><div class="ttname"><a href="classimpala_1_1RuntimeProfile.html#abd28edd77ba3928dbac3af735102fb3b">impala::RuntimeProfile::total_time_counter</a></div><div class="ttdeci">Counter * total_time_counter()</div><div class="ttdoc">Returns the counter for the total elapsed time. </div><div class="ttdef"><b>Definition:</b> <a href="runtime-profile_8h_source.html#l00453">runtime-profile.h:453</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_e5d120be6b5e8a44336cbfd013b25604.html">be</a></li><li class="navelem"><a class="el" href="dir_68cf7cafb51a962d5bc4848b83cab0de.html">src</a></li><li class="navelem"><a class="el" href="dir_6939c8639261a9303da2cde491b82898.html">util</a></li><li class="navelem"><a class="el" href="runtime-profile_8h.html">runtime-profile.h</a></li>
<li class="footer">Generated on Thu May 7 2015 16:10:38 for Impala by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>