This commit is contained in:
manojsdoshi
2020-04-24 01:09:47 +00:00
parent 4ad595bf18
commit 430f6c0cf3
2864 changed files with 304301 additions and 292875 deletions

View File

@@ -92,125 +92,135 @@ $(function() {
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define RIPPLE_BASICS_PERFLOG_H</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;ripple/core/JobTypes.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;boost/filesystem.hpp&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;ripple/json/json_value.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;ripple/json/json_value.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;boost/filesystem.hpp&gt;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/chrono.html">chrono</a>&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/cstdint.html">cstdint</a>&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/functional.html">functional</a>&gt;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/memory.html">memory</a>&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/string.html">string</a>&gt;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacebeast.html">beast</a> { <span class="keyword">class </span>Journal; }</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">namespace </span>perf {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html"> 44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classripple_1_1perf_1_1PerfLog.html">PerfLog</a></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a1af2c1e16d0728749cef25a26551c83f"> 47</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">steady_clock</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#ad708c4a2cc411647713fc7713d406a8e"> 48</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">system_clock</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">std::chrono::system_clock</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a2a46a4c21fbebad094b6d7b0b9fc0812"> 49</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">steady_time_point</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point&lt;steady_clock&gt;</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a59fa3d3082b7191388a28254feb91b1a"> 50</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">system_time_point</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point&lt;system_clock&gt;</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#af1548666795ad55e2c58838878f8c4a9"> 51</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">seconds</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a591236288692c9e3910e5b3ba3147b25"> 52</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">milliseconds</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a54fc80025d2d4afd0f15bf30b190f9da"> 53</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">microseconds</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::microseconds</a>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html"> 58</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html">Setup</a></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#a54b372860912c7f6acfc8f084e981574"> 60</a></span>&#160; boost::filesystem::path <a class="code" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#a54b372860912c7f6acfc8f084e981574">perfLog</a>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// log_interval is in milliseconds to support faster testing.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#af75669578067c4dc062f0e8cbe722060"> 62</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">milliseconds</a> <a class="code" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#af75669578067c4dc062f0e8cbe722060">logInterval</a> {<a class="code" href="classripple_1_1perf_1_1PerfLog.html#af1548666795ad55e2c58838878f8c4a9">seconds</a>(1)};</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; };</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#aff5ca80daa8b3d7b31b5e7174d64e716">~PerfLog</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacebeast.html">beast</a> {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">class </span>Journal;</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; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span>perf {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html"> 46</a></span>&#160;<span class="keyword">class </span><a class="code" href="classripple_1_1perf_1_1PerfLog.html">PerfLog</a></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a1af2c1e16d0728749cef25a26551c83f"> 49</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">steady_clock</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#ad708c4a2cc411647713fc7713d406a8e"> 50</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">system_clock</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">std::chrono::system_clock</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a2a46a4c21fbebad094b6d7b0b9fc0812"> 51</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">steady_time_point</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point&lt;steady_clock&gt;</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a59fa3d3082b7191388a28254feb91b1a"> 52</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">system_time_point</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point&lt;system_clock&gt;</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#af1548666795ad55e2c58838878f8c4a9"> 53</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">seconds</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a591236288692c9e3910e5b3ba3147b25"> 54</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">milliseconds</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classripple_1_1perf_1_1PerfLog.html#a54fc80025d2d4afd0f15bf30b190f9da"> 55</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">microseconds</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::microseconds</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html"> 60</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html">Setup</a></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#a54b372860912c7f6acfc8f084e981574"> 62</a></span>&#160; boost::filesystem::path <a class="code" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#a54b372860912c7f6acfc8f084e981574">perfLog</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">// log_interval is in milliseconds to support faster testing.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#af75669578067c4dc062f0e8cbe722060"> 64</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">milliseconds</a> <a class="code" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#af75669578067c4dc062f0e8cbe722060">logInterval</a>{<a class="code" href="classripple_1_1perf_1_1PerfLog.html#af1548666795ad55e2c58838878f8c4a9">seconds</a>(1)};</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; };</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a82a1159ee502f9ede502e9825c3460e2">rpcStart</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; method,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> requestId) = 0;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a4393ea99fe1fab2fb239870e359e4145">rpcFinish</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; method,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> requestId) = 0;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#aec6c9ca532af5e940134aaf26b8c2d35">rpcError</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; method,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> requestId) = 0;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a8a1bb8a85ef2a66d81184d7f12d40b59">jobQueue</a>(<a class="code" href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">JobType</a> <span class="keyword">const</span> type) = 0;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a1b9b52da7e6d30e2f9010a2dc1e7f5e1">jobStart</a>(<a class="code" href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">JobType</a> <span class="keyword">const</span> type,</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a54fc80025d2d4afd0f15bf30b190f9da">microseconds</a> dur,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a2a46a4c21fbebad094b6d7b0b9fc0812">steady_time_point</a> startTime,</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">int</span> instance) = 0;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a17d209c3f522f374294548606719d3e9">jobFinish</a>(<a class="code" href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">JobType</a> <span class="keyword">const</span> type,</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a54fc80025d2d4afd0f15bf30b190f9da">microseconds</a> dur, <span class="keywordtype">int</span> instance) = 0;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#ad6e19a717593bcea1567f7ec7c98851d">countersJson</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#aa4844744f9c75f50a9ffabd9d11292f7">currentJson</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#aa11365e44f61add50756e2e1b208fbc6">resizeJobs</a>(<span class="keywordtype">int</span> <span class="keyword">const</span> resize) = 0;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#aff5ca80daa8b3d7b31b5e7174d64e716">~PerfLog</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a82a1159ee502f9ede502e9825c3460e2">rpcStart</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; method, <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> requestId) = 0;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a4393ea99fe1fab2fb239870e359e4145">rpcFinish</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; method, <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> requestId) = 0;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#aec6c9ca532af5e940134aaf26b8c2d35">rpcError</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; method, <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> requestId) = 0;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a8a1bb8a85ef2a66d81184d7f12d40b59">jobQueue</a>(<a class="code" href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">JobType</a> <span class="keyword">const</span> type) = 0;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a1b9b52da7e6d30e2f9010a2dc1e7f5e1">jobStart</a>(</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">JobType</a> <span class="keyword">const</span> type,</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a54fc80025d2d4afd0f15bf30b190f9da">microseconds</a> dur,</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a2a46a4c21fbebad094b6d7b0b9fc0812">steady_time_point</a> startTime,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">int</span> instance) = 0;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a17d209c3f522f374294548606719d3e9">jobFinish</a>(<a class="code" href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">JobType</a> <span class="keyword">const</span> type, <a class="code" href="classripple_1_1perf_1_1PerfLog.html#a54fc80025d2d4afd0f15bf30b190f9da">microseconds</a> dur, <span class="keywordtype">int</span> instance) = 0;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#ad6e19a717593bcea1567f7ec7c98851d">countersJson</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#aa4844744f9c75f50a9ffabd9d11292f7">currentJson</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classripple_1_1perf_1_1PerfLog.html#ac3fc03156fdfc007f23056c0f007edf1">rotate</a>() = 0;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;};</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;} <span class="comment">//perf</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#aa11365e44f61add50756e2e1b208fbc6">resizeJobs</a>(<span class="keywordtype">int</span> <span class="keyword">const</span> resize) = 0;</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"> 153</span>&#160;<span class="keyword">class </span>Section;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="keyword">class </span>Stoppable;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="keyword">namespace </span>perf {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;PerfLog::Setup <a class="code" href="namespaceripple_1_1perf.html#a05a394877a70f3d8ee8ec2a42b906763">setup_PerfLog</a>(Section <span class="keyword">const</span>&amp; section,</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; boost::filesystem::path <span class="keyword">const</span>&amp; configDir);</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"> 161</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;PerfLog&gt;</a> <a class="code" href="namespaceripple_1_1perf.html#a3084f09507655223d35f1f698f227d88">make_PerfLog</a>(</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; PerfLog::Setup <span class="keyword">const</span>&amp; setup,</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; Stoppable&amp; parent,</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal,</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;<span class="keywordtype">void</span>()&gt;&amp;&amp; signalStop);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classripple_1_1perf_1_1PerfLog.html#ac3fc03156fdfc007f23056c0f007edf1">rotate</a>() = 0;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;};</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;} <span class="comment">// namespace perf</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="keyword">class </span>Section;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="keyword">class </span>Stoppable;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="keyword">namespace </span>perf {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;} <span class="comment">// perf</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;} <span class="comment">// ripple</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;PerfLog::Setup</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<a class="code" href="namespaceripple_1_1perf.html#a05a394877a70f3d8ee8ec2a42b906763">setup_PerfLog</a>(Section <span class="keyword">const</span>&amp; section, boost::filesystem::path <span class="keyword">const</span>&amp; configDir);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="preprocessor">#endif //RIPPLE_BASICS_PERFLOG_H</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;PerfLog&gt;</a></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<a class="code" href="namespaceripple_1_1perf.html#a3084f09507655223d35f1f698f227d88">make_PerfLog</a>(</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; PerfLog::Setup <span class="keyword">const</span>&amp; setup,</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; Stoppable&amp; parent,</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal,</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;<span class="keywordtype">void</span>()&gt;&amp;&amp; signalStop);</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;} <span class="comment">// namespace perf</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="preprocessor">#endif // RIPPLE_BASICS_PERFLOG_H</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a54fc80025d2d4afd0f15bf30b190f9da"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a54fc80025d2d4afd0f15bf30b190f9da">ripple::perf::PerfLog::microseconds</a></div><div class="ttdeci">std::chrono::microseconds microseconds</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00053">PerfLog.h:53</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a54fc80025d2d4afd0f15bf30b190f9da"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a54fc80025d2d4afd0f15bf30b190f9da">ripple::perf::PerfLog::microseconds</a></div><div class="ttdeci">std::chrono::microseconds microseconds</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00055">PerfLog.h:55</a></div></div>
<div class="ttc" id="asystem_clock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">std::chrono::system_clock</a></div></div>
<div class="ttc" id="asteady_clock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_aec6c9ca532af5e940134aaf26b8c2d35"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#aec6c9ca532af5e940134aaf26b8c2d35">ripple::perf::PerfLog::rpcError</a></div><div class="ttdeci">virtual void rpcError(std::string const &amp;method, std::uint64_t requestId)=0</div><div class="ttdoc">Log errored RPC call.</div></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="astructripple_1_1perf_1_1PerfLog_1_1Setup_html_a54b372860912c7f6acfc8f084e981574"><div class="ttname"><a href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#a54b372860912c7f6acfc8f084e981574">ripple::perf::PerfLog::Setup::perfLog</a></div><div class="ttdeci">boost::filesystem::path perfLog</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00060">PerfLog.h:60</a></div></div>
<div class="ttc" id="astructripple_1_1perf_1_1PerfLog_1_1Setup_html_a54b372860912c7f6acfc8f084e981574"><div class="ttname"><a href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#a54b372860912c7f6acfc8f084e981574">ripple::perf::PerfLog::Setup::perfLog</a></div><div class="ttdeci">boost::filesystem::path perfLog</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00062">PerfLog.h:62</a></div></div>
<div class="ttc" id="afunctional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/functional.html">functional</a></div></div>
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html">ripple::perf::PerfLog</a></div><div class="ttdoc">Singleton class that maintains performance counters and optionally writes Json-formatted data to a di...</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00044">PerfLog.h:44</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html">ripple::perf::PerfLog</a></div><div class="ttdoc">Singleton class that maintains performance counters and optionally writes Json-formatted data to a di...</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00046">PerfLog.h:46</a></div></div>
<div class="ttc" id="afunction_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a></div></div>
<div class="ttc" id="anamespaceripple_1_1perf_html_a3084f09507655223d35f1f698f227d88"><div class="ttname"><a href="namespaceripple_1_1perf.html#a3084f09507655223d35f1f698f227d88">ripple::perf::make_PerfLog</a></div><div class="ttdeci">std::unique_ptr&lt; PerfLog &gt; make_PerfLog(PerfLog::Setup const &amp;setup, Stoppable &amp;parent, beast::Journal journal, std::function&lt; void()&gt; &amp;&amp;signalStop)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLogImp_8cpp_source.html#l00517">PerfLogImp.cpp:517</a></div></div>
<div class="ttc" id="astructripple_1_1perf_1_1PerfLog_1_1Setup_html"><div class="ttname"><a href="structripple_1_1perf_1_1PerfLog_1_1Setup.html">ripple::perf::PerfLog::Setup</a></div><div class="ttdoc">Configuration from [perf] section of rippled.cfg.</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00058">PerfLog.h:58</a></div></div>
<div class="ttc" id="anamespaceripple_1_1perf_html_a3084f09507655223d35f1f698f227d88"><div class="ttname"><a href="namespaceripple_1_1perf.html#a3084f09507655223d35f1f698f227d88">ripple::perf::make_PerfLog</a></div><div class="ttdeci">std::unique_ptr&lt; PerfLog &gt; make_PerfLog(PerfLog::Setup const &amp;setup, Stoppable &amp;parent, beast::Journal journal, std::function&lt; void()&gt; &amp;&amp;signalStop)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLogImp_8cpp_source.html#l00515">PerfLogImp.cpp:515</a></div></div>
<div class="ttc" id="astructripple_1_1perf_1_1PerfLog_1_1Setup_html"><div class="ttname"><a href="structripple_1_1perf_1_1PerfLog_1_1Setup.html">ripple::perf::PerfLog::Setup</a></div><div class="ttdoc">Configuration from [perf] section of rippled.cfg.</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00060">PerfLog.h:60</a></div></div>
<div class="ttc" id="achrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/chrono.html">chrono</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_aa11365e44f61add50756e2e1b208fbc6"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#aa11365e44f61add50756e2e1b208fbc6">ripple::perf::PerfLog::resizeJobs</a></div><div class="ttdeci">virtual void resizeJobs(int const resize)=0</div><div class="ttdoc">Ensure enough room to store each currently executing job.</div></div>
<div class="ttc" id="atime_point_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point</a></div></div>
<div class="ttc" id="acstdint_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/cstdint.html">cstdint</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00060">Journal.h:60</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00058">Journal.h:58</a></div></div>
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a8a1bb8a85ef2a66d81184d7f12d40b59"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a8a1bb8a85ef2a66d81184d7f12d40b59">ripple::perf::PerfLog::jobQueue</a></div><div class="ttdeci">virtual void jobQueue(JobType const type)=0</div><div class="ttdoc">Log queued job.</div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a1b9b52da7e6d30e2f9010a2dc1e7f5e1"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a1b9b52da7e6d30e2f9010a2dc1e7f5e1">ripple::perf::PerfLog::jobStart</a></div><div class="ttdeci">virtual void jobStart(JobType const type, microseconds dur, steady_time_point startTime, int instance)=0</div><div class="ttdoc">Log job executing.</div></div>
<div class="ttc" id="amemory_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/memory.html">memory</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a82a1159ee502f9ede502e9825c3460e2"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a82a1159ee502f9ede502e9825c3460e2">ripple::perf::PerfLog::rpcStart</a></div><div class="ttdeci">virtual void rpcStart(std::string const &amp;method, std::uint64_t requestId)=0</div><div class="ttdoc">Log start of RPC call.</div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_aff5ca80daa8b3d7b31b5e7174d64e716"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#aff5ca80daa8b3d7b31b5e7174d64e716">ripple::perf::PerfLog::~PerfLog</a></div><div class="ttdeci">virtual ~PerfLog()=default</div></div>
<div class="ttc" id="anamespaceripple_1_1perf_html_a05a394877a70f3d8ee8ec2a42b906763"><div class="ttname"><a href="namespaceripple_1_1perf.html#a05a394877a70f3d8ee8ec2a42b906763">ripple::perf::setup_PerfLog</a></div><div class="ttdeci">PerfLog::Setup setup_PerfLog(Section const &amp;section, boost::filesystem::path const &amp;configDir)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLogImp_8cpp_source.html#l00495">PerfLogImp.cpp:495</a></div></div>
<div class="ttc" id="anamespaceripple_1_1perf_html_a05a394877a70f3d8ee8ec2a42b906763"><div class="ttname"><a href="namespaceripple_1_1perf.html#a05a394877a70f3d8ee8ec2a42b906763">ripple::perf::setup_PerfLog</a></div><div class="ttdeci">PerfLog::Setup setup_PerfLog(Section const &amp;section, boost::filesystem::path const &amp;configDir)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLogImp_8cpp_source.html#l00493">PerfLogImp.cpp:493</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_ad6e19a717593bcea1567f7ec7c98851d"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#ad6e19a717593bcea1567f7ec7c98851d">ripple::perf::PerfLog::countersJson</a></div><div class="ttdeci">virtual Json::Value countersJson() const =0</div><div class="ttdoc">Render performance counters in Json.</div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a2a46a4c21fbebad094b6d7b0b9fc0812"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a2a46a4c21fbebad094b6d7b0b9fc0812">ripple::perf::PerfLog::steady_time_point</a></div><div class="ttdeci">std::chrono::time_point&lt; steady_clock &gt; steady_time_point</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00049">PerfLog.h:49</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a2a46a4c21fbebad094b6d7b0b9fc0812"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a2a46a4c21fbebad094b6d7b0b9fc0812">ripple::perf::PerfLog::steady_time_point</a></div><div class="ttdeci">std::chrono::time_point&lt; steady_clock &gt; steady_time_point</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00051">PerfLog.h:51</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_ac3fc03156fdfc007f23056c0f007edf1"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#ac3fc03156fdfc007f23056c0f007edf1">ripple::perf::PerfLog::rotate</a></div><div class="ttdeci">virtual void rotate()=0</div><div class="ttdoc">Rotate perf log file.</div></div>
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17a"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">ripple::JobType</a></div><div class="ttdeci">JobType</div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00033">Job.h:33</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_aa4844744f9c75f50a9ffabd9d11292f7"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#aa4844744f9c75f50a9ffabd9d11292f7">ripple::perf::PerfLog::currentJson</a></div><div class="ttdeci">virtual Json::Value currentJson() const =0</div><div class="ttdoc">Render currently executing jobs and RPC calls and durations in Json.</div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_af1548666795ad55e2c58838878f8c4a9"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#af1548666795ad55e2c58838878f8c4a9">ripple::perf::PerfLog::seconds</a></div><div class="ttdeci">std::chrono::seconds seconds</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00051">PerfLog.h:51</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_af1548666795ad55e2c58838878f8c4a9"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#af1548666795ad55e2c58838878f8c4a9">ripple::perf::PerfLog::seconds</a></div><div class="ttdeci">std::chrono::seconds seconds</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00053">PerfLog.h:53</a></div></div>
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="astructripple_1_1perf_1_1PerfLog_1_1Setup_html_af75669578067c4dc062f0e8cbe722060"><div class="ttname"><a href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#af75669578067c4dc062f0e8cbe722060">ripple::perf::PerfLog::Setup::logInterval</a></div><div class="ttdeci">milliseconds logInterval</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00062">PerfLog.h:62</a></div></div>
<div class="ttc" id="astructripple_1_1perf_1_1PerfLog_1_1Setup_html_af75669578067c4dc062f0e8cbe722060"><div class="ttname"><a href="structripple_1_1perf_1_1PerfLog_1_1Setup.html#af75669578067c4dc062f0e8cbe722060">ripple::perf::PerfLog::Setup::logInterval</a></div><div class="ttdeci">milliseconds logInterval</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00064">PerfLog.h:64</a></div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a4393ea99fe1fab2fb239870e359e4145"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a4393ea99fe1fab2fb239870e359e4145">ripple::perf::PerfLog::rpcFinish</a></div><div class="ttdeci">virtual void rpcFinish(std::string const &amp;method, std::uint64_t requestId)=0</div><div class="ttdoc">Log successful finish of RPC call.</div></div>
<div class="ttc" id="aclassripple_1_1perf_1_1PerfLog_html_a17d209c3f522f374294548606719d3e9"><div class="ttname"><a href="classripple_1_1perf_1_1PerfLog.html#a17d209c3f522f374294548606719d3e9">ripple::perf::PerfLog::jobFinish</a></div><div class="ttdeci">virtual void jobFinish(JobType const type, microseconds dur, int instance)=0</div><div class="ttdoc">Log job finishing.</div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00141">json_value.h:141</a></div></div>
<div class="ttc" id="anamespacebeast_html"><div class="ttname"><a href="namespacebeast.html">beast</a></div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00582">base_uint.h:582</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00145">json_value.h:145</a></div></div>
<div class="ttc" id="anamespacebeast_html"><div class="ttname"><a href="namespacebeast.html">beast</a></div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00646">base_uint.h:646</a></div></div>
<div class="ttc" id="astring_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/string.html">string</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>