swift-metrics/docs/current/CoreMetrics/Protocols/CounterHandler.html

250 lines
11 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>CounterHandler Protocol Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset="utf-8">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Protocol/CounterHandler" class="dashAnchor"></a>
<a title="CounterHandler Protocol Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreMetrics 2.2.0 Docs
</a>
(83% documented)
</p>
<div class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</div>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/apple/swift-metrics">
<img class="header-icon" src="../img/gh.png" alt="GitHub"/>
View on GitHub
</a>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="dash-feed://https%3A%2F%2Fapple.github.io%2Fswift-metrics%2Fdocs%2F2.2.0%2FCoreMetrics%2Fdocsets%2FCoreMetrics.xml">
<img class="header-icon" src="../img/dash.png" alt="Dash"/>
Install in Dash
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreMetrics Reference</a>
<img class="carat" src="../img/carat.png" alt=""/>
CounterHandler Protocol Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Counter.html">Counter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/FloatingPointCounter.html">FloatingPointCounter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Gauge.html">Gauge</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/MultiplexMetricsHandler.html">MultiplexMetricsHandler</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/NOOPMetricsHandler.html">NOOPMetricsHandler</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Recorder.html">Recorder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Timer.html">Timer</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MetricsSystem.html">MetricsSystem</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CounterHandler.html">CounterHandler</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FloatingPointCounterHandler.html">FloatingPointCounterHandler</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/MetricsFactory.html">MetricsFactory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/RecorderHandler.html">RecorderHandler</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/TimerHandler.html">TimerHandler</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/TimeUnit.html">TimeUnit</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1>CounterHandler</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">CounterHandler</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>
</div>
</div>
<p>A <code>CounterHandler</code> represents a backend implementation of a <code><a href="../Classes/Counter.html">Counter</a></code>.</p>
<p>This type is an implementation detail and should not be used directly, unless implementing your own metrics backend.
To use the SwiftMetrics API, please refer to the documentation of <code><a href="../Classes/Counter.html">Counter</a></code>.</p>
<h1 id='implementation-requirements' class='heading'>Implementation requirements</h1>
<p>To implement your own <code>CounterHandler</code> you should respect a few requirements that are necessary so applications work
as expected regardless of the selected <code>CounterHandler</code> implementation.</p>
<ul>
<li>The <code>CounterHandler</code> must be a <code>class</code>.</li>
</ul>
<div class="slightly-smaller">
<a href="https://github.com/apple/swift-metrics/tree/2.2.0/Sources/CoreMetrics/Metrics.swift#L683-L692">Show on GitHub</a>
</div>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:11CoreMetrics14CounterHandlerP9increment2byys5Int64V_tF"></a>
<a name="//apple_ref/swift/Method/increment(by:)" class="dashAnchor"></a>
<a class="token" href="#/s:11CoreMetrics14CounterHandlerP9increment2byys5Int64V_tF">increment(by:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Increment the counter.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">increment</span><span class="p">(</span><span class="nv">by</span><span class="p">:</span> <span class="kt">Int64</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>by</em>
</code>
</td>
<td>
<div>
<p>Amount to increment by.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="slightly-smaller">
<a href="https://github.com/apple/swift-metrics/tree/2.2.0/Sources/CoreMetrics/Metrics.swift#L688">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:11CoreMetrics14CounterHandlerP5resetyyF"></a>
<a name="//apple_ref/swift/Method/reset()" class="dashAnchor"></a>
<a class="token" href="#/s:11CoreMetrics14CounterHandlerP5resetyyF">reset()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Reset the counter back to zero.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">reset</span><span class="p">()</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/apple/swift-metrics/tree/2.2.0/Sources/CoreMetrics/Metrics.swift#L691">Show on GitHub</a>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2021 <a class="link" href="https://github.com/apple/swift-metrics" target="_blank" rel="external noopener">SwiftMetrics team</a>. All rights reserved. (Last updated: 2021-12-17)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.1</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</body>
</html>