This commit is contained in:
c-cube 2024-09-17 14:57:23 +00:00
parent aac94be977
commit ff0759e34d
21 changed files with 127 additions and 15 deletions

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,14 @@
v2.1.0 2024-09-10 Zagreb
------------------------
- Add `Mtime.Span.{is_shorter,is_longer}` to make duration
comparisons more obivous. Thanks to Pau Ruiz Safont for
the suggestion and the patch.
- Regularize naming structure. The `mtime.clock.os` library
is deprecated. Use `mtime.clock` instead.
- Make the library `mtime.clock` export `mtime`.
v2.0.0 2022-12-02 Zagreb
------------------------

View file

@ -1,6 +1,5 @@
Mtime — Monotonic wall-clock time for OCaml
===========================================
v2.0.0
Mtime has platform independent support for monotonic wall-clock time
in pure OCaml. This time increases monotonically and is not subject to

View file

@ -2,13 +2,13 @@
Compile with:
ocamlfind ocamlopt \
-package mtime.clock.os -linkpkg -o min_clock.native min_clock.ml
-package mtime.clock -linkpkg -o min_clock.native min_clock.ml
ocamlfind ocamlc \
-package mtime.clock.os -linkpkg -o min_clock.byte min_clock.ml
-package mtime.clock -linkpkg -o min_clock.byte min_clock.ml
js_of_ocaml \
$(ocamlfind query -format "%+(jsoo_runtime)" -r mtime.clock.os) \
$(ocamlfind query -format "%+(jsoo_runtime)" -r mtime.clock) \
min_clock.byte
*)

View file

@ -1,4 +1,4 @@
{0 Mtime {%html: <span class="version">v2.0.0</span>%}}
{0 Mtime {%html: <span class="version">v2.1.0</span>%}}
Mtime has platform independent support for monotonic wall-clock time.
This time increases monotonically and is not subject to operating
@ -16,4 +16,5 @@ monotonic system clock} and its resolution (if available).
{!modules: Mtime_clock}
Also use this library for compiling to JavaScript.
This library also works with JavaScript, see the
{{!Mtime_clock.platform_support}platform support}.

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (mtime.index)</title><link rel="stylesheet" href="../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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> mtime</nav><header class="odoc-preamble"><h1 id="package-mtime"><a href="#package-mtime" class="anchor"></a>Package mtime <nav><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">changes</a> <a href="#package_info">more…</a></nav></h1><p>Mtime has platform independent support for monotonic wall-clock time. This time increases monotonically and is not subject to operating system calendar time adjustments. The library has types to represent nanosecond precision timestamps and time spans.</p><p><a href="Mtime_clock/index.html"><code>Mtime_clock</code></a> provides acces to <a href="Mtime_clock/index.html#platform_support">a monotonic system clock</a> and its resolution (if available).</p></header><nav class="odoc-toc"><ul><li><a href="#mtime">Library <code>mtime</code></a></li><li><a href="#mtime_clock">Library <code>mtime.clock.os</code></a></li><li><a href="#package_info">Package info</a></li></ul></nav><div class="odoc-content"><h2 id="mtime"><a href="#mtime" class="anchor"></a>Library <code>mtime</code></h2><ul class="modules"><li><a href="Mtime/index.html"><code>Mtime</code></a> <span class="synopsis">Monotonic time values.</span></li></ul><h2 id="mtime_clock"><a href="#mtime_clock" class="anchor"></a>Library <code>mtime.clock.os</code></h2><ul class="modules"><li><a href="Mtime_clock/index.html"><code>Mtime_clock</code></a> <span class="synopsis">Monotonic time clock.</span></li></ul><p>Also use this library for compiling to JavaScript.</p><h2 id="package_info"><a href="#package_info" class="anchor"></a>Package info</h2><table class="package info"><tr id="info-changes-files"><td><a href="#info-changes-files" aria-hidden="true" class="anchor"></a>changes-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">CHANGES.md</a></li></ul></td></tr><tr id="info-license-files"><td><a href="#info-license-files" aria-hidden="true" class="anchor"></a>license-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/LICENSE.md">LICENSE.md</a></li></ul></td></tr><tr id="info-readme-files"><td><a href="#info-readme-files" aria-hidden="true" class="anchor"></a>readme-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/README.md">README.md</a></li></ul></td></tr></table></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (mtime.index)</title><link rel="stylesheet" href="../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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> mtime</nav><header class="odoc-preamble"><h1 id="package-mtime"><a href="#package-mtime" class="anchor"></a>Package mtime <nav><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">changes</a> <a href="#package_info">more…</a></nav></h1><p>Mtime has platform independent support for monotonic wall-clock time. This time increases monotonically and is not subject to operating system calendar time adjustments. The library has types to represent nanosecond precision timestamps and time spans.</p><p><a href="Mtime_clock/index.html"><code>Mtime_clock</code></a> provides acces to <a href="Mtime_clock/index.html#platform_support">a monotonic system clock</a> and its resolution (if available).</p></header><nav class="odoc-toc"><ul><li><a href="#mtime">Library <code>mtime</code></a></li><li><a href="#mtime_clock">Library <code>mtime.clock.os</code></a></li><li><a href="#package_info">Package info</a></li></ul></nav><div class="odoc-content"><h2 id="mtime"><a href="#mtime" class="anchor"></a>Library <code>mtime</code></h2><ul class="modules"><li><a href="Mtime/index.html"><code>Mtime</code></a> <span class="synopsis">Monotonic time values.</span></li></ul><h2 id="mtime_clock"><a href="#mtime_clock" class="anchor"></a>Library <code>mtime.clock.os</code></h2><ul class="modules"><li><a href="Mtime_clock/index.html"><code>Mtime_clock</code></a> <span class="synopsis">Monotonic time clock.</span></li></ul><p>This library also works with JavaScript, see the <a href="Mtime_clock/index.html#platform_support">platform support</a>.</p><h2 id="package_info"><a href="#package_info" class="anchor"></a>Package info</h2><table class="package info"><tr id="info-changes-files"><td><a href="#info-changes-files" aria-hidden="true" class="anchor"></a>changes-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">CHANGES.md</a></li></ul></td></tr><tr id="info-license-files"><td><a href="#info-license-files" aria-hidden="true" class="anchor"></a>license-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/LICENSE.md">LICENSE.md</a></li></ul></td></tr><tr id="info-readme-files"><td><a href="#info-readme-files" aria-hidden="true" class="anchor"></a>readme-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/README.md">README.md</a></li></ul></td></tr></table></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_tef_tldrs (trace-tef.Trace_tef_tldrs)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace-tef</a> &#x00BB; Trace_tef_tldrs</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_tef_tldrs</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-collector"><a href="#val-collector" class="anchor"></a><code><span><span class="keyword">val</span> collector : <span>out:<span>[ <span>`File of string</span> ]</span> <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="../../trace/Trace_core/index.html#type-collector">Trace_core.collector</a></span></code></div><div class="spec-doc"><p>Make a collector that writes into the given output. See <a href="#val-setup"><code>setup</code></a> for more details.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-output"><a href="#type-output" class="anchor"></a><code><span><span class="keyword">type</span> output</span><span> = </span><span>[ </span></code><ol><li id="type-output.File" class="def constructor anchored"><a href="#type-output.File" class="anchor"></a><code><span>| </span></code><code><span>`File <span class="keyword">of</span> string</span></code></li></ol><code><span> ]</span></code></div><div class="spec-doc"><p>Output for tracing.</p><ul><li><code>`File &quot;foo&quot;</code> will enable tracing and print events into file named &quot;foo&quot;. The file is only written at exit.</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-setup"><a href="#val-setup" class="anchor"></a><code><span><span class="keyword">val</span> setup : <span>?out:<span>[ <a href="#type-output">output</a> <span>| `Env</span> ]</span> <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>setup ()</code> installs the collector depending on <code>out</code>.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">out</span> <p>can take different values:</p><ul><li>regular <a href="#type-output"><code>output</code></a> value to specify where events go</li><li><code>`Env</code> will enable tracing if the environment variable &quot;TRACE&quot; is set.</li></ul><ul><li>If it's set to &quot;1&quot;, then the file is &quot;trace.json&quot;.</li><li>If it's set to &quot;stdout&quot;, then logging happens on stdout (since 0.2)</li><li>If it's set to &quot;stderr&quot;, then logging happens on stdout (since 0.2)</li><li>Otherwise, if it's set to a non empty string, the value is taken to be the file path into which to write.</li></ul></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_setup"><a href="#val-with_setup" class="anchor"></a><code><span><span class="keyword">val</span> with_setup : <span>?out:<span>[ <a href="#type-output">output</a> <span>| `Env</span> ]</span> <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> <span><span>(<span>unit <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><code>with_setup () f</code> (optionally) sets a collector up, calls <code>f()</code>, and makes sure to shutdown before exiting.</p></div></div></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_tef_tldrs (trace-tef.Trace_tef_tldrs)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace-tef</a> &#x00BB; Trace_tef_tldrs</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_tef_tldrs</span></code></h1><p>Emit traces by talking to the <a href="https://github.com/imandra-ai/tldrs">tldrs</a> daemon</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-collector"><a href="#val-collector" class="anchor"></a><code><span><span class="keyword">val</span> collector : <span>out:<span>[ <span>`File of string</span> ]</span> <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="../../trace/Trace_core/index.html#type-collector">Trace_core.collector</a></span></code></div><div class="spec-doc"><p>Make a collector that writes into the given output. See <a href="#val-setup"><code>setup</code></a> for more details.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-subscriber"><a href="#val-subscriber" class="anchor"></a><code><span><span class="keyword">val</span> subscriber : <span>out:<span>[ <span>`File of string</span> ]</span> <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="../../trace/Trace_subscriber/index.html#type-t">Trace_subscriber.t</a></span></code></div><div class="spec-doc"><p>Make a subscriber that writes into the given output.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-output"><a href="#type-output" class="anchor"></a><code><span><span class="keyword">type</span> output</span><span> = </span><span>[ </span></code><ol><li id="type-output.File" class="def constructor anchored"><a href="#type-output.File" class="anchor"></a><code><span>| </span></code><code><span>`File <span class="keyword">of</span> string</span></code></li></ol><code><span> ]</span></code></div><div class="spec-doc"><p>Output for tracing.</p><ul><li><code>`File &quot;foo&quot;</code> will enable tracing and print events into file named &quot;foo&quot;. The file is only written at exit.</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-setup"><a href="#val-setup" class="anchor"></a><code><span><span class="keyword">val</span> setup : <span>?out:<span>[ <a href="#type-output">output</a> <span>| `Env</span> ]</span> <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>setup ()</code> installs the collector depending on <code>out</code>.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">out</span> <p>can take different values:</p><ul><li>regular <a href="#type-output"><code>output</code></a> value to specify where events go</li><li><code>`Env</code> will enable tracing if the environment variable &quot;TRACE&quot; is set.</li></ul><ul><li>If it's set to &quot;1&quot;, then the file is &quot;trace.json&quot;.</li><li>If it's set to &quot;stdout&quot;, then logging happens on stdout (since 0.2)</li><li>If it's set to &quot;stderr&quot;, then logging happens on stdout (since 0.2)</li><li>Otherwise, if it's set to a non empty string, the value is taken to be the file path into which to write.</li></ul></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_setup"><a href="#val-with_setup" class="anchor"></a><code><span><span class="keyword">val</span> with_setup : <span>?out:<span>[ <a href="#type-output">output</a> <span>| `Env</span> ]</span> <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> <span><span>(<span>unit <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><code>with_setup () f</code> (optionally) sets a collector up, calls <code>f()</code>, and makes sure to shutdown before exiting.</p></div></div></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (trace-tef.index)</title><link rel="stylesheet" href="../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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> trace-tef</nav><header class="odoc-preamble"><h1 id="package-trace-tef"><a href="#package-trace-tef" class="anchor"></a>Package trace-tef <nav><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">changes</a> <a href="#package_info">more…</a></nav></h1><ul class="modules"><li><a href="Trace_tef/index.html"><code>Trace_tef</code></a> </li><li><a href="Trace_tef_tldrs/index.html"><code>Trace_tef_tldrs</code></a> </li></ul></header><nav class="odoc-toc"><ul><li><a href="#package_info">Package info</a></li></ul></nav><div class="odoc-content"><h2 id="package_info"><a href="#package_info" class="anchor"></a>Package info</h2><table class="package info"><tr id="info-changes-files"><td><a href="#info-changes-files" aria-hidden="true" class="anchor"></a>changes-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">CHANGES.md</a></li></ul></td></tr><tr id="info-readme-files"><td><a href="#info-readme-files" aria-hidden="true" class="anchor"></a>readme-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/README.md">README.md</a></li></ul></td></tr></table></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (trace-tef.index)</title><link rel="stylesheet" href="../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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> trace-tef</nav><header class="odoc-preamble"><h1 id="package-trace-tef"><a href="#package-trace-tef" class="anchor"></a>Package trace-tef <nav><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">changes</a> <a href="#package_info">more…</a></nav></h1><ul class="modules"><li><a href="Trace_tef/index.html"><code>Trace_tef</code></a> </li><li><a href="Trace_tef_tldrs/index.html"><code>Trace_tef_tldrs</code></a> <span class="synopsis">Emit traces by talking to the <a href="https://github.com/imandra-ai/tldrs">tldrs</a> daemon</span></li></ul></header><nav class="odoc-toc"><ul><li><a href="#package_info">Package info</a></li></ul></nav><div class="odoc-content"><h2 id="package_info"><a href="#package_info" class="anchor"></a>Package info</h2><table class="package info"><tr id="info-changes-files"><td><a href="#info-changes-files" aria-hidden="true" class="anchor"></a>changes-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">CHANGES.md</a></li></ul></td></tr><tr id="info-readme-files"><td><a href="#info-readme-files" aria-hidden="true" class="anchor"></a>readme-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/README.md">README.md</a></li></ul></td></tr></table></div></body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Dummy (trace.Trace_subscriber.Callbacks.Dummy)</title><link rel="stylesheet" href="../../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; <a href="../../index.html">Trace_subscriber</a> &#x00BB; <a href="../index.html">Callbacks</a> &#x00BB; Dummy</nav><header class="odoc-preamble"><h1>Module <code><span>Callbacks.Dummy</span></code></h1><p>Dummy callbacks. It can be useful to reuse some of these functions in a real subscriber that doesn't want to handle <b>all</b> events, but only some of them.</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-on_init"><a href="#val-on_init" class="anchor"></a><code><span><span class="keyword">val</span> on_init : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_shutdown"><a href="#val-on_shutdown" class="anchor"></a><code><span><span class="keyword">val</span> on_shutdown : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_name_thread"><a href="#val-on_name_thread" class="anchor"></a><code><span><span class="keyword">val</span> on_name_thread : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span>tid:<span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span> <span>name:<span class="type-var">'d</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_name_process"><a href="#val-on_name_process" class="anchor"></a><code><span><span class="keyword">val</span> on_name_process : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span>tid:<span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span> <span>name:<span class="type-var">'d</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_message"><a href="#val-on_message" class="anchor"></a><code><span><span class="keyword">val</span> on_message : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span>tid:<span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span> <span>span:<span class="type-var">'d</span> <span class="arrow">&#45;&gt;</span></span> <span>data:<span class="type-var">'e</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'f</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_counter"><a href="#val-on_counter" class="anchor"></a><code><span><span class="keyword">val</span> on_counter : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span>tid:<span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span> <span>data:<span class="type-var">'d</span> <span class="arrow">&#45;&gt;</span></span> <span>name:<span class="type-var">'e</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'f</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_enter_span"><a href="#val-on_enter_span" class="anchor"></a><code><span><span class="keyword">val</span> on_enter_span :
<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span>
<span>__FUNCTION__:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span>
<span>__FILE__:<span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span>
<span>__LINE__:<span class="type-var">'d</span> <span class="arrow">&#45;&gt;</span></span>
<span>time_ns:<span class="type-var">'e</span> <span class="arrow">&#45;&gt;</span></span>
<span>tid:<span class="type-var">'f</span> <span class="arrow">&#45;&gt;</span></span>
<span>data:<span class="type-var">'g</span> <span class="arrow">&#45;&gt;</span></span>
<span>name:<span class="type-var">'h</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'i</span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_exit_span"><a href="#val-on_exit_span" class="anchor"></a><code><span><span class="keyword">val</span> on_exit_span : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span>tid:<span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'d</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_add_data"><a href="#val-on_add_data" class="anchor"></a><code><span><span class="keyword">val</span> on_add_data : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>data:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_enter_manual_span"><a href="#val-on_enter_manual_span" class="anchor"></a><code><span><span class="keyword">val</span> on_enter_manual_span :
<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span>
<span>__FUNCTION__:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span>
<span>__FILE__:<span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span>
<span>__LINE__:<span class="type-var">'d</span> <span class="arrow">&#45;&gt;</span></span>
<span>time_ns:<span class="type-var">'e</span> <span class="arrow">&#45;&gt;</span></span>
<span>tid:<span class="type-var">'f</span> <span class="arrow">&#45;&gt;</span></span>
<span>parent:<span class="type-var">'g</span> <span class="arrow">&#45;&gt;</span></span>
<span>data:<span class="type-var">'h</span> <span class="arrow">&#45;&gt;</span></span>
<span>name:<span class="type-var">'i</span> <span class="arrow">&#45;&gt;</span></span>
<span>flavor:<span class="type-var">'j</span> <span class="arrow">&#45;&gt;</span></span>
<span>trace_id:<span class="type-var">'k</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'l</span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_exit_manual_span"><a href="#val-on_exit_manual_span" class="anchor"></a><code><span><span class="keyword">val</span> on_exit_manual_span :
<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span>
<span>time_ns:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span>
<span>tid:<span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span>
<span>name:<span class="type-var">'d</span> <span class="arrow">&#45;&gt;</span></span>
<span>data:<span class="type-var">'e</span> <span class="arrow">&#45;&gt;</span></span>
<span>flavor:<span class="type-var">'f</span> <span class="arrow">&#45;&gt;</span></span>
<span>trace_id:<span class="type-var">'g</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'h</span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Callbacks (trace.Trace_subscriber.Callbacks)</title><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; <a href="../index.html">Trace_subscriber</a> &#x00BB; Callbacks</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber.Callbacks</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>First class module signature for callbacks</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>'st t</span></span><span> = <span>(<span class="keyword">module</span> <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="module-type-S/index.html#type-st">st</a> = <span class="type-var">'st</span>)</span></span></code></div><div class="spec-doc"><p>Callbacks for a subscriber. There is one callback per event in <a href="../../Trace/index.html"><code>Trace</code></a>. The type <code>'st</code> is the state that is passed to every single callback.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Dummy"><a href="#module-Dummy" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Dummy/index.html">Dummy</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Dummy callbacks. It can be useful to reuse some of these functions in a real subscriber that doesn't want to handle <b>all</b> events, but only some of them.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-dummy"><a href="#val-dummy" class="anchor"></a><code><span><span class="keyword">val</span> dummy : <span>unit <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'st</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Dummy callbacks, do nothing.</p></div></div></div></body></html>

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (trace.Trace_subscriber.Callbacks.S)</title><link rel="stylesheet" href="../../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; <a href="../../index.html">Trace_subscriber</a> &#x00BB; <a href="../index.html">Callbacks</a> &#x00BB; S</nav><header class="odoc-preamble"><h1>Module type <code><span>Callbacks.S</span></code></h1><p>First class module signature for callbacks</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-st"><a href="#type-st" class="anchor"></a><code><span><span class="keyword">type</span> st</span></code></div><div class="spec-doc"><p>Type of the state passed to every callback.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_init"><a href="#val-on_init" class="anchor"></a><code><span><span class="keyword">val</span> on_init : <span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:float <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Called when the subscriber is initialized in a collector</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_shutdown"><a href="#val-on_shutdown" class="anchor"></a><code><span><span class="keyword">val</span> on_shutdown : <span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:float <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Called when the collector is shutdown</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_name_thread"><a href="#val-on_name_thread" class="anchor"></a><code><span><span class="keyword">val</span> on_name_thread : <span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:float <span class="arrow">&#45;&gt;</span></span> <span>tid:int <span class="arrow">&#45;&gt;</span></span> <span>name:string <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Current thread is being named</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_name_process"><a href="#val-on_name_process" class="anchor"></a><code><span><span class="keyword">val</span> on_name_process : <span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:float <span class="arrow">&#45;&gt;</span></span> <span>tid:int <span class="arrow">&#45;&gt;</span></span> <span>name:string <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Current process is being named</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_enter_span"><a href="#val-on_enter_span" class="anchor"></a><code><span><span class="keyword">val</span> on_enter_span :
<span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span>
<span>__FUNCTION__:<span>string option</span> <span class="arrow">&#45;&gt;</span></span>
<span>__FILE__:string <span class="arrow">&#45;&gt;</span></span>
<span>__LINE__:int <span class="arrow">&#45;&gt;</span></span>
<span>time_ns:float <span class="arrow">&#45;&gt;</span></span>
<span>tid:int <span class="arrow">&#45;&gt;</span></span>
<span>data:<span><span>(string * <span class="xref-unresolved">Trace_subscriber__.Types.user_data</span>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span>name:string <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../Trace_core/index.html#type-span">Trace_core.span</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Enter a regular (sync) span</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_exit_span"><a href="#val-on_exit_span" class="anchor"></a><code><span><span class="keyword">val</span> on_exit_span : <span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span> <span>time_ns:float <span class="arrow">&#45;&gt;</span></span> <span>tid:int <span class="arrow">&#45;&gt;</span></span> <span><a href="../../../Trace_core/index.html#type-span">Trace_core.span</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Exit a span. This and <code>on_enter_span</code> must follow strict stack discipline</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_add_data"><a href="#val-on_add_data" class="anchor"></a><code><span><span class="keyword">val</span> on_add_data :
<span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span>
<span>data:<span><span>(string * <span class="xref-unresolved">Trace_subscriber__.Types.user_data</span>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../Trace_core/index.html#type-span">Trace_core.span</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Add data to a regular span (which must be active)</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_message"><a href="#val-on_message" class="anchor"></a><code><span><span class="keyword">val</span> on_message :
<span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span>
<span>time_ns:float <span class="arrow">&#45;&gt;</span></span>
<span>tid:int <span class="arrow">&#45;&gt;</span></span>
<span>span:<span><a href="../../../Trace_core/index.html#type-span">Trace_core.span</a> option</span> <span class="arrow">&#45;&gt;</span></span>
<span>data:<span><span>(string * <span class="xref-unresolved">Trace_subscriber__.Types.user_data</span>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Emit a log message</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_counter"><a href="#val-on_counter" class="anchor"></a><code><span><span class="keyword">val</span> on_counter :
<span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span>
<span>time_ns:float <span class="arrow">&#45;&gt;</span></span>
<span>tid:int <span class="arrow">&#45;&gt;</span></span>
<span>data:<span><span>(string * <span class="xref-unresolved">Trace_subscriber__.Types.user_data</span>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span>name:string <span class="arrow">&#45;&gt;</span></span>
<span>float <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Emit the current value of a counter</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_enter_manual_span"><a href="#val-on_enter_manual_span" class="anchor"></a><code><span><span class="keyword">val</span> on_enter_manual_span :
<span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span>
<span>__FUNCTION__:<span>string option</span> <span class="arrow">&#45;&gt;</span></span>
<span>__FILE__:string <span class="arrow">&#45;&gt;</span></span>
<span>__LINE__:int <span class="arrow">&#45;&gt;</span></span>
<span>time_ns:float <span class="arrow">&#45;&gt;</span></span>
<span>tid:int <span class="arrow">&#45;&gt;</span></span>
<span>parent:<span><a href="../../../Trace_core/index.html#type-span">Trace_core.span</a> option</span> <span class="arrow">&#45;&gt;</span></span>
<span>data:<span><span>(string * <span class="xref-unresolved">Trace_subscriber__.Types.user_data</span>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span>name:string <span class="arrow">&#45;&gt;</span></span>
<span>flavor:<span><span class="xref-unresolved">Trace_subscriber__.Types.flavor</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span>trace_id:int <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../Trace_core/index.html#type-span">Trace_core.span</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Enter a manual (possibly async) span</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-on_exit_manual_span"><a href="#val-on_exit_manual_span" class="anchor"></a><code><span><span class="keyword">val</span> on_exit_manual_span :
<span><a href="#type-st">st</a> <span class="arrow">&#45;&gt;</span></span>
<span>time_ns:float <span class="arrow">&#45;&gt;</span></span>
<span>tid:int <span class="arrow">&#45;&gt;</span></span>
<span>name:string <span class="arrow">&#45;&gt;</span></span>
<span>data:<span><span>(string * <span class="xref-unresolved">Trace_subscriber__.Types.user_data</span>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span>flavor:<span><span class="xref-unresolved">Trace_subscriber__.Types.flavor</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span>trace_id:int <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../Trace_core/index.html#type-span">Trace_core.span</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Exit a manual span</p></div></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Subscriber (trace.Trace_subscriber.Subscriber)</title><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; <a href="../index.html">Trace_subscriber</a> &#x00BB; Subscriber</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber.Subscriber</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = </span></code><ol><li id="type-t.Sub" class="def variant constructor anchored"><a href="#type-t.Sub" class="anchor"></a><code><span>| </span><span><span class="constructor">Sub</span> : </span><span>{</span></code><ol><li id="type-t.st" class="def record field anchored"><a href="#type-t.st" class="anchor"></a><code><span>st : <span class="type-var">'st</span>;</span></code></li><li id="type-t.callbacks" class="def record field anchored"><a href="#type-t.callbacks" class="anchor"></a><code><span>callbacks : <span><span class="type-var">'st</span> <a href="../Callbacks/index.html#type-t">Callbacks.t</a></span>;</span></code></li></ol><code><span>}</span><span> <span class="arrow">&#45;&gt;</span> <a href="#type-t">t</a></span></code></li></ol></div><div class="spec-doc"><p>A trace subscriber. It pairs a set of callbacks with the state they need (which can contain a file handle, a socket, config, etc.).</p><p>The design goal for this is that it should be possible to avoid allocations when the trace collector calls the callbacks.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-dummy"><a href="#val-dummy" class="anchor"></a><code><span><span class="keyword">val</span> dummy : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Dummy subscriber that ignores every call.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-tee"><a href="#val-tee" class="anchor"></a><code><span><span class="keyword">val</span> tee : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>tee s1 s2</code> is a subscriber that forwards every call to <code>s1</code> and <code>s2</code> both.</p></div></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_subscriber (trace.Trace_subscriber)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_subscriber</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber</span></code></h1><p>Generic subscribers.</p><p>This defines the notion of a <b>subscriber</b>, a set of callbacks for every trace event. It also defines a collector that needs to be installed for the subscriber(s) to be called.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module anchored" id="module-Callbacks"><a href="#module-Callbacks" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Callbacks/index.html">Callbacks</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Subscriber"><a href="#module-Subscriber" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Subscriber/index.html">Subscriber</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-user_data"><a href="#type-user_data" class="anchor"></a><code><span><span class="keyword">type</span> user_data</span><span> = </span></code><ol><li id="type-user_data.U_bool" class="def variant constructor anchored"><a href="#type-user_data.U_bool" class="anchor"></a><code><span>| </span><span><span class="constructor">U_bool</span> <span class="keyword">of</span> bool</span></code></li><li id="type-user_data.U_float" class="def variant constructor anchored"><a href="#type-user_data.U_float" class="anchor"></a><code><span>| </span><span><span class="constructor">U_float</span> <span class="keyword">of</span> float</span></code></li><li id="type-user_data.U_int" class="def variant constructor anchored"><a href="#type-user_data.U_int" class="anchor"></a><code><span>| </span><span><span class="constructor">U_int</span> <span class="keyword">of</span> int</span></code></li><li id="type-user_data.U_none" class="def variant constructor anchored"><a href="#type-user_data.U_none" class="anchor"></a><code><span>| </span><span><span class="constructor">U_none</span></span></code></li><li id="type-user_data.U_string" class="def variant constructor anchored"><a href="#type-user_data.U_string" class="anchor"></a><code><span>| </span><span><span class="constructor">U_string</span> <span class="keyword">of</span> string</span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-flavor"><a href="#type-flavor" class="anchor"></a><code><span><span class="keyword">type</span> flavor</span><span> = </span></code><ol><li id="type-flavor.Sync" class="def variant constructor anchored"><a href="#type-flavor.Sync" class="anchor"></a><code><span>| </span><span><span class="constructor">Sync</span></span></code></li><li id="type-flavor.Async" class="def variant constructor anchored"><a href="#type-flavor.Async" class="anchor"></a><code><span>| </span><span><span class="constructor">Async</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = <a href="Subscriber/index.html#type-t">Subscriber.t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-collector"><a href="#val-collector" class="anchor"></a><code><span><span class="keyword">val</span> collector : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Trace_core/index.html#type-collector">Trace_core.collector</a></span></code></div></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_subscriber__ (trace.Trace_subscriber__)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_subscriber__</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber__</span></code></h1></header><div class="odoc-content"></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_subscriber__Callbacks (trace.Trace_subscriber__Callbacks)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_subscriber__Callbacks</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber__Callbacks</span></code></h1></header><div class="odoc-content"></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_subscriber__Subscriber (trace.Trace_subscriber__Subscriber)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_subscriber__Subscriber</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber__Subscriber</span></code></h1></header><div class="odoc-content"></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_subscriber__Thread_ (trace.Trace_subscriber__Thread_)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_subscriber__Thread_</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber__Thread_</span></code></h1></header><div class="odoc-content"></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_subscriber__Time_ (trace.Trace_subscriber__Time_)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_subscriber__Time_</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber__Time_</span></code></h1></header><div class="odoc-content"></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_subscriber__Types (trace.Trace_subscriber__Types)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_subscriber__Types</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_subscriber__Types</span></code></h1></header><div class="odoc-content"></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (trace.index)</title><link rel="stylesheet" href="../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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> trace</nav><header class="odoc-preamble"><h1 id="package-trace"><a href="#package-trace" class="anchor"></a>Package trace <nav><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">changes</a> <a href="#package_info">more…</a></nav></h1><ul class="modules"><li><a href="Trace/index.html"><code>Trace</code></a> </li><li><a href="Trace_core/index.html"><code>Trace_core</code></a> <span class="synopsis">Trace.</span></li><li><a href="Trace_private_util/index.html"><code>Trace_private_util</code></a> </li></ul></header><nav class="odoc-toc"><ul><li><a href="#package_info">Package info</a></li></ul></nav><div class="odoc-content"><h2 id="package_info"><a href="#package_info" class="anchor"></a>Package info</h2><table class="package info"><tr id="info-changes-files"><td><a href="#info-changes-files" aria-hidden="true" class="anchor"></a>changes-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">CHANGES.md</a></li></ul></td></tr><tr id="info-readme-files"><td><a href="#info-readme-files" aria-hidden="true" class="anchor"></a>readme-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/README.md">README.md</a></li></ul></td></tr></table></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (trace.index)</title><link rel="stylesheet" href="../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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> trace</nav><header class="odoc-preamble"><h1 id="package-trace"><a href="#package-trace" class="anchor"></a>Package trace <nav><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">changes</a> <a href="#package_info">more…</a></nav></h1><ul class="modules"><li><a href="Trace/index.html"><code>Trace</code></a> </li><li><a href="Trace_core/index.html"><code>Trace_core</code></a> <span class="synopsis">Trace.</span></li><li><a href="Trace_private_util/index.html"><code>Trace_private_util</code></a> </li><li><a href="Trace_subscriber/index.html"><code>Trace_subscriber</code></a> <span class="synopsis">Generic subscribers.</span></li></ul></header><nav class="odoc-toc"><ul><li><a href="#package_info">Package info</a></li></ul></nav><div class="odoc-content"><h2 id="package_info"><a href="#package_info" class="anchor"></a>Package info</h2><table class="package info"><tr id="info-changes-files"><td><a href="#info-changes-files" aria-hidden="true" class="anchor"></a>changes-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">CHANGES.md</a></li></ul></td></tr><tr id="info-readme-files"><td><a href="#info-readme-files" aria-hidden="true" class="anchor"></a>readme-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/README.md">README.md</a></li></ul></td></tr></table></div></body></html>