blob: 344f565e8f2f83d60803df6daf23fad379795101 [file]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>iceberg-cpp: iceberg::ScanMetrics Class Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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 id="projectrow">
<td id="projectalign">
<div id="projectname">iceberg-cpp
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceiceberg.html">iceberg</a></li><li class="navelem"><a class="el" href="classiceberg_1_1ScanMetrics.html">ScanMetrics</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classiceberg_1_1ScanMetrics-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">iceberg::ScanMetrics Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Live scan metrics collected during a table scan operation.
<a href="classiceberg_1_1ScanMetrics.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="scan__report_8h_source.html">scan_report.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aceaf909e93eb63ad83fa613ac4daa588" id="r_aceaf909e93eb63ad83fa613ac4daa588"><td class="memItemLeft" align="right" valign="top"><a id="aceaf909e93eb63ad83fa613ac4daa588" name="aceaf909e93eb63ad83fa613ac4daa588"></a>
<a class="el" href="structiceberg_1_1ScanMetricsResult.html">ScanMetricsResult</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ToResult</b> () const</td></tr>
<tr class="memdesc:aceaf909e93eb63ad83fa613ac4daa588"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structiceberg_1_1Snapshot.html" title="A snapshot of the data in a table at a point in time.">Snapshot</a> current counter/timer values into a <a class="el" href="structiceberg_1_1ScanMetricsResult.html" title="Immutable snapshot of scan metrics for use in ScanReport.">ScanMetricsResult</a>. <br /></td></tr>
<tr class="separator:aceaf909e93eb63ad83fa613ac4daa588"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:af019ee08f851f148bc5ed91db9a31b66" id="r_af019ee08f851f148bc5ed91db9a31b66"><td class="memItemLeft" align="right" valign="top"><a id="af019ee08f851f148bc5ed91db9a31b66" name="af019ee08f851f148bc5ed91db9a31b66"></a>
static std::unique_ptr&lt; <a class="el" href="classiceberg_1_1ScanMetrics.html">ScanMetrics</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Make</b> (<a class="el" href="classiceberg_1_1MetricsContext.html">MetricsContext</a> &amp;context)</td></tr>
<tr class="memdesc:af019ee08f851f148bc5ed91db9a31b66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="classiceberg_1_1ScanMetrics.html" title="Live scan metrics collected during a table scan operation.">ScanMetrics</a> instance backed by the given <a class="el" href="classiceberg_1_1MetricsContext.html" title="Factory for creating named Counter and Timer instances.">MetricsContext</a>. <br /></td></tr>
<tr class="separator:af019ee08f851f148bc5ed91db9a31b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d06baa3ce0e3ca52aff17570dcf510e" id="r_a7d06baa3ce0e3ca52aff17570dcf510e"><td class="memItemLeft" align="right" valign="top"><a id="a7d06baa3ce0e3ca52aff17570dcf510e" name="a7d06baa3ce0e3ca52aff17570dcf510e"></a>
static std::unique_ptr&lt; <a class="el" href="classiceberg_1_1ScanMetrics.html">ScanMetrics</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Noop</b> ()</td></tr>
<tr class="memdesc:a7d06baa3ce0e3ca52aff17570dcf510e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="classiceberg_1_1ScanMetrics.html" title="Live scan metrics collected during a table scan operation.">ScanMetrics</a> instance with all-noop counters and timer. <br /></td></tr>
<tr class="separator:a7d06baa3ce0e3ca52aff17570dcf510e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a349d138fa463399344ad79f4de9a8f53" id="r_a349d138fa463399344ad79f4de9a8f53"><td class="memItemLeft" align="right" valign="top"><a id="a349d138fa463399344ad79f4de9a8f53" name="a349d138fa463399344ad79f4de9a8f53"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Timer.html">Timer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>total_planning_duration</b></td></tr>
<tr class="separator:a349d138fa463399344ad79f4de9a8f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cb8206b2248f562a28355b64640eef0" id="r_a6cb8206b2248f562a28355b64640eef0"><td class="memItemLeft" align="right" valign="top"><a id="a6cb8206b2248f562a28355b64640eef0" name="a6cb8206b2248f562a28355b64640eef0"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>result_data_files</b></td></tr>
<tr class="separator:a6cb8206b2248f562a28355b64640eef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1bb321ae53e248031a4a8e41d924e8b" id="r_af1bb321ae53e248031a4a8e41d924e8b"><td class="memItemLeft" align="right" valign="top"><a id="af1bb321ae53e248031a4a8e41d924e8b" name="af1bb321ae53e248031a4a8e41d924e8b"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>result_delete_files</b></td></tr>
<tr class="separator:af1bb321ae53e248031a4a8e41d924e8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a189a38a3c747d2062d8acc105c86f6cb" id="r_a189a38a3c747d2062d8acc105c86f6cb"><td class="memItemLeft" align="right" valign="top"><a id="a189a38a3c747d2062d8acc105c86f6cb" name="a189a38a3c747d2062d8acc105c86f6cb"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>scanned_data_manifests</b></td></tr>
<tr class="separator:a189a38a3c747d2062d8acc105c86f6cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a085dbc212ce08be4cc649da6e463196e" id="r_a085dbc212ce08be4cc649da6e463196e"><td class="memItemLeft" align="right" valign="top"><a id="a085dbc212ce08be4cc649da6e463196e" name="a085dbc212ce08be4cc649da6e463196e"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>scanned_delete_manifests</b></td></tr>
<tr class="separator:a085dbc212ce08be4cc649da6e463196e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2dfe4f87d3c13520f36f60baf7bc34a" id="r_ae2dfe4f87d3c13520f36f60baf7bc34a"><td class="memItemLeft" align="right" valign="top"><a id="ae2dfe4f87d3c13520f36f60baf7bc34a" name="ae2dfe4f87d3c13520f36f60baf7bc34a"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>total_data_manifests</b></td></tr>
<tr class="separator:ae2dfe4f87d3c13520f36f60baf7bc34a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76a4dff888b27f8c98b84afbce23f533" id="r_a76a4dff888b27f8c98b84afbce23f533"><td class="memItemLeft" align="right" valign="top"><a id="a76a4dff888b27f8c98b84afbce23f533" name="a76a4dff888b27f8c98b84afbce23f533"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>total_delete_manifests</b></td></tr>
<tr class="separator:a76a4dff888b27f8c98b84afbce23f533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d8a17039c92fcac8742dbf47483ddf9" id="r_a9d8a17039c92fcac8742dbf47483ddf9"><td class="memItemLeft" align="right" valign="top"><a id="a9d8a17039c92fcac8742dbf47483ddf9" name="a9d8a17039c92fcac8742dbf47483ddf9"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>total_file_size_in_bytes</b></td></tr>
<tr class="separator:a9d8a17039c92fcac8742dbf47483ddf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a8fc8607bc300d709ed83858def8977" id="r_a5a8fc8607bc300d709ed83858def8977"><td class="memItemLeft" align="right" valign="top"><a id="a5a8fc8607bc300d709ed83858def8977" name="a5a8fc8607bc300d709ed83858def8977"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>total_delete_file_size_in_bytes</b></td></tr>
<tr class="separator:a5a8fc8607bc300d709ed83858def8977"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae9ac2df74cf0005f59a64cc103a335c" id="r_aae9ac2df74cf0005f59a64cc103a335c"><td class="memItemLeft" align="right" valign="top"><a id="aae9ac2df74cf0005f59a64cc103a335c" name="aae9ac2df74cf0005f59a64cc103a335c"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>skipped_data_manifests</b></td></tr>
<tr class="separator:aae9ac2df74cf0005f59a64cc103a335c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f6dd4b152f312c8b77048126fee4cf6" id="r_a1f6dd4b152f312c8b77048126fee4cf6"><td class="memItemLeft" align="right" valign="top"><a id="a1f6dd4b152f312c8b77048126fee4cf6" name="a1f6dd4b152f312c8b77048126fee4cf6"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>skipped_delete_manifests</b></td></tr>
<tr class="separator:a1f6dd4b152f312c8b77048126fee4cf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9343e25f37b1f344abc88a71cab90ba9" id="r_a9343e25f37b1f344abc88a71cab90ba9"><td class="memItemLeft" align="right" valign="top"><a id="a9343e25f37b1f344abc88a71cab90ba9" name="a9343e25f37b1f344abc88a71cab90ba9"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>skipped_data_files</b></td></tr>
<tr class="separator:a9343e25f37b1f344abc88a71cab90ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa9d90662c873505ac49b6031bcdee45" id="r_afa9d90662c873505ac49b6031bcdee45"><td class="memItemLeft" align="right" valign="top"><a id="afa9d90662c873505ac49b6031bcdee45" name="afa9d90662c873505ac49b6031bcdee45"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>skipped_delete_files</b></td></tr>
<tr class="separator:afa9d90662c873505ac49b6031bcdee45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bc0a5073aa9efa1094de6d5d81780b3" id="r_a6bc0a5073aa9efa1094de6d5d81780b3"><td class="memItemLeft" align="right" valign="top"><a id="a6bc0a5073aa9efa1094de6d5d81780b3" name="a6bc0a5073aa9efa1094de6d5d81780b3"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>indexed_delete_files</b></td></tr>
<tr class="separator:a6bc0a5073aa9efa1094de6d5d81780b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa99d91a0ed8ba8b9dc2e301de5f2f92" id="r_afa99d91a0ed8ba8b9dc2e301de5f2f92"><td class="memItemLeft" align="right" valign="top"><a id="afa99d91a0ed8ba8b9dc2e301de5f2f92" name="afa99d91a0ed8ba8b9dc2e301de5f2f92"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>equality_delete_files</b></td></tr>
<tr class="separator:afa99d91a0ed8ba8b9dc2e301de5f2f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0701811e546d446f9f0021a3583c7a54" id="r_a0701811e546d446f9f0021a3583c7a54"><td class="memItemLeft" align="right" valign="top"><a id="a0701811e546d446f9f0021a3583c7a54" name="a0701811e546d446f9f0021a3583c7a54"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>positional_delete_files</b></td></tr>
<tr class="separator:a0701811e546d446f9f0021a3583c7a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa80945b444e57690a382e75bd51a8c" id="r_aaaa80945b444e57690a382e75bd51a8c"><td class="memItemLeft" align="right" valign="top"><a id="aaaa80945b444e57690a382e75bd51a8c" name="aaaa80945b444e57690a382e75bd51a8c"></a>
std::shared_ptr&lt; <a class="el" href="classiceberg_1_1Counter.html">Counter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dvs</b></td></tr>
<tr class="separator:aaaa80945b444e57690a382e75bd51a8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Live scan metrics collected during a table scan operation. </p>
<p>Holds named <a class="el" href="classiceberg_1_1Counter.html" title="Abstract counter for tracking event totals.">Counter</a> and <a class="el" href="classiceberg_1_1Timer.html" title="Abstract timer for measuring operation durations.">Timer</a> instances obtained from a <a class="el" href="classiceberg_1_1MetricsContext.html" title="Factory for creating named Counter and Timer instances.">MetricsContext</a>. Call <a class="el" href="classiceberg_1_1ScanMetrics.html#af019ee08f851f148bc5ed91db9a31b66" title="Create a ScanMetrics instance backed by the given MetricsContext.">Make()</a> at the start of a scan to obtain an instrumented instance, then increment counters and start/stop the planning timer as the scan proceeds. Call <a class="el" href="classiceberg_1_1ScanMetrics.html#aceaf909e93eb63ad83fa613ac4daa588" title="Snapshot current counter/timer values into a ScanMetricsResult.">ToResult()</a> at the end to obtain the serialisable <a class="el" href="structiceberg_1_1ScanMetricsResult.html" title="Immutable snapshot of scan metrics for use in ScanReport.">ScanMetricsResult</a>. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>iceberg/metrics/<a class="el" href="scan__report_8h_source.html">scan_report.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>