340 lines
16 KiB
HTML
340 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>Timer Extension 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/Extension/Timer" class="dashAnchor"></a>
|
|
|
|
<a title="Timer Extension Reference"></a>
|
|
|
|
<header class="header">
|
|
<p class="header-col header-col--primary">
|
|
<a class="header-link" href="../index.html">
|
|
Metrics 2.2.0 Docs
|
|
</a>
|
|
(100% 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%2FMetrics%2Fdocsets%2FMetrics.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">Metrics Reference</a>
|
|
<img class="carat" src="../img/carat.png" alt=""/>
|
|
Timer Extension 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="../Extensions.html">Extensions</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Extensions/Timer.html">Timer</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<article class="main-content">
|
|
|
|
<section class="section">
|
|
<div class="section-content top-matter">
|
|
<h1>Timer</h1>
|
|
<div class="declaration">
|
|
<div class="language">
|
|
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">extension</span> <span class="kt">Timer</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#L19-L45">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:11CoreMetrics5TimerC0B0E7measure5label10dimensions4bodyxSS_SaySS_SStGxyKctKlFZ"></a>
|
|
<a name="//apple_ref/swift/Method/measure(label:dimensions:body:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:11CoreMetrics5TimerC0B0E7measure5label10dimensions4bodyxSS_SaySS_SStGxyKctKlFZ">measure(label:<wbr>dimensions:<wbr>body:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Convenience for measuring duration of a closure.</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">@inlinable</span>
|
|
<span class="kd">static</span> <span class="kd">func</span> <span class="n">measure</span><span class="o"><</span><span class="kt">T</span><span class="o">></span><span class="p">(</span><span class="nv">label</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">dimensions</span><span class="p">:</span> <span class="p">[(</span><span class="kt">String</span><span class="p">,</span> <span class="kt">String</span><span class="p">)]</span> <span class="o">=</span> <span class="p">[],</span> <span class="nv">body</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="k">throws</span> <span class="o">-></span> <span class="kt">T</span><span class="p">)</span> <span class="k">rethrows</span> <span class="o">-></span> <span class="kt">T</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>label</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The label for the Timer.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>dimensions</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The dimensions for the Timer.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>body</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Closure to run & record.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="slightly-smaller">
|
|
<a href="https://github.com/apple/swift-metrics/tree/2.2.0/Sources/Metrics/Metrics.swift#L27-L35">Show on GitHub</a>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:11CoreMetrics5TimerC0B0E14recordInterval5since3endy8Dispatch0H4TimeV_AJtF"></a>
|
|
<a name="//apple_ref/swift/Method/recordInterval(since:end:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:11CoreMetrics5TimerC0B0E14recordInterval5since3endy8Dispatch0H4TimeV_AJtF">recordInterval(since:<wbr>end:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Record the time interval (with nanosecond precision) between the passed <code>since</code> dispatch time and <code>end</code> dispatch time.</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">recordInterval</span><span class="p">(</span><span class="nv">since</span><span class="p">:</span> <span class="kt">DispatchTime</span><span class="p">,</span> <span class="nv">end</span><span class="p">:</span> <span class="kt">DispatchTime</span> <span class="o">=</span> <span class="o">.</span><span class="nf">now</span><span class="p">())</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>since</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Start of the interval as <code>DispatchTime</code>.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>end</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>End of the interval, defaulting to <code>.now()</code>.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="slightly-smaller">
|
|
<a href="https://github.com/apple/swift-metrics/tree/2.2.0/Sources/Metrics/Metrics.swift#L42-L44">Show on GitHub</a>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:11CoreMetrics5TimerC0B0E6recordyySdF"></a>
|
|
<a name="//apple_ref/swift/Method/record(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:11CoreMetrics5TimerC0B0E6recordyySdF">record(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Convenience for recording a duration based on TimeInterval.</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">@inlinable</span>
|
|
<span class="kd">func</span> <span class="nf">record</span><span class="p">(</span><span class="n">_</span> <span class="nv">duration</span><span class="p">:</span> <span class="kt">TimeInterval</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>duration</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The duration to record.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="slightly-smaller">
|
|
<a href="https://github.com/apple/swift-metrics/tree/2.2.0/Sources/Metrics/Metrics.swift#L53-L55">Show on GitHub</a>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:11CoreMetrics5TimerC0B0E6recordyy8Dispatch0E12TimeIntervalOF"></a>
|
|
<a name="//apple_ref/swift/Method/record(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:11CoreMetrics5TimerC0B0E6recordyy8Dispatch0E12TimeIntervalOF">record(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Convenience for recording a duration based on DispatchTimeInterval.</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">@inlinable</span>
|
|
<span class="kd">func</span> <span class="nf">record</span><span class="p">(</span><span class="n">_</span> <span class="nv">duration</span><span class="p">:</span> <span class="kt">DispatchTimeInterval</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>duration</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The duration to record.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="slightly-smaller">
|
|
<a href="https://github.com/apple/swift-metrics/tree/2.2.0/Sources/Metrics/Metrics.swift#L62-L75">Show on GitHub</a>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
</article>
|
|
</div>
|
|
<section class="footer">
|
|
<p>© 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>
|