<!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">
<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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: kudu::client::ResourceMetrics 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 style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kudu C++ client API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classkudu_1_1client_1_1ResourceMetrics-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">kudu::client::ResourceMetrics Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A generic catalog of simple metrics.  
 <a href="classkudu_1_1client_1_1ResourceMetrics.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="resource__metrics_8h_source.html">resource_metrics.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae46eb43e391c642b521fb6febcaea936"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">Get</a> () const</td></tr>
<tr class="separator:ae46eb43e391c642b521fb6febcaea936"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7b5f6021f63c25bbd087ba2cf48dc8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a">Increment</a> (const std::string &amp;name, int64_t amount)</td></tr>
<tr class="separator:ae7b5f6021f63c25bbd087ba2cf48dc8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9d5ad8c55283103999e47a5bf754bdc"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc">GetMetric</a> (const std::string &amp;name) const</td></tr>
<tr class="separator:ae9d5ad8c55283103999e47a5bf754bdc"><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>A generic catalog of simple metrics. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ae46eb43e391c642b521fb6febcaea936"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae46eb43e391c642b521fb6febcaea936">&#9670;&nbsp;</a></span>Get()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, int64_t&gt; kudu::client::ResourceMetrics::Get </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A map that contains all metrics, its key is the metric name and its value is corresponding metric count. </dd></dl>

</div>
</div>
<a id="ae9d5ad8c55283103999e47a5bf754bdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9d5ad8c55283103999e47a5bf754bdc">&#9670;&nbsp;</a></span>GetMetric()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t kudu::client::ResourceMetrics::GetMetric </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get current count for the specified metric.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the metric in question. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The metric's current count. </dd></dl>

</div>
</div>
<a id="ae7b5f6021f63c25bbd087ba2cf48dc8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7b5f6021f63c25bbd087ba2cf48dc8a">&#9670;&nbsp;</a></span>Increment()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kudu::client::ResourceMetrics::Increment </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>amount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Increment/decrement the given metric.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The name of the metric. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>The amount to increment the metric (negative <code>amount</code> corresponds to decrementing the metric). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/kudu/client/<a class="el" href="resource__metrics_8h_source.html">resource_metrics.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
  <br>
  <small>Copyright © 2021 The Apache Software Foundation.</small>
</address>
</body>
</html>
