ocaml-opentelemetry/opentelemetry-client/Opentelemetry_client/Emitter_limit_interval/index.html
2026-04-06 19:57:49 +00:00

8 lines
3.5 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Emitter_limit_interval (opentelemetry-client.Opentelemetry_client.Emitter_limit_interval)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../index.html">Index</a> &#x00BB; <a href="../../index.html">opentelemetry-client</a> &#x00BB; <a href="../index.html">Opentelemetry_client</a> &#x00BB; Emitter_limit_interval</nav><header class="odoc-preamble"><h1>Module <code><span>Opentelemetry_client.Emitter_limit_interval</span></code></h1><p>Limit frequency at which the emitter emits.</p><p>This puts a hard floor on the interval between two consecutive successful <code>emit</code>. Attempts to emit too early are simply discarded.</p><p>The use case for this is metrics: it's possible, for a gauge, to just drop some entries if we've been emitting them too frequently.</p><p><b>NOTE</b>: it's better to do <code>limit_interval ~min_interval (add_batching e)</code> than <code>add_batching (limit_interval ~min_interval e)</code>, because in the later case we might be dismissing a whole large batch at ine</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.90</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-add_interval_limiter"><a href="#val-add_interval_limiter" class="anchor"></a><code><span><span class="keyword">val</span> add_interval_limiter :
<span><a href="../../../opentelemetry/Opentelemetry/Interval_limiter/index.html#type-t">Opentelemetry_client.Common_.OTEL.Interval_limiter.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'a</span> <a href="../../../opentelemetry/Opentelemetry_emitter/Emitter/index.html#type-t">Opentelemetry_client.Common_.OTEL.Emitter.t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'a</span> <a href="../../../opentelemetry/Opentelemetry_emitter/Emitter/index.html#type-t">Opentelemetry_client.Common_.OTEL.Emitter.t</a></span></span></code></div><div class="spec-doc"><p><code>add_interval_limiter il e</code> is a new emitter <code>e'</code> that can only emit signals less frequently than <code>Interval_limiter.min_interval il</code>.</p><p>Trying to emit too early will simply drop the signal.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-limit_interval"><a href="#val-limit_interval" class="anchor"></a><code><span><span class="keyword">val</span> limit_interval :
<span><span class="label">min_interval</span>:<a href="../../../mtime/Mtime/index.html#type-span">Mtime.span</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'a</span> <a href="../../../opentelemetry/Opentelemetry_emitter/Emitter/index.html#type-t">Opentelemetry_client.Common_.OTEL.Emitter.t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'a</span> <a href="../../../opentelemetry/Opentelemetry_emitter/Emitter/index.html#type-t">Opentelemetry_client.Common_.OTEL.Emitter.t</a></span></span></code></div><div class="spec-doc"><p><code>limit_interval ~min_interval e</code> is <code>add_interval_limiter (Interval_limiter.create ~min_interval ()) e</code></p></div></div></div></body></html>