<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ScubaLogging (infer.IBase.ScubaLogging)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">IBase</a>» ScubaLogging</nav><h1>Module <code>IBase.ScubaLogging</code></h1></header><aside><p>Functionality for logging into "infer_events" Scuba table. The table is organized in form of key-value pairs. Two most important fields are "event" and "value". Other fields in the table correspond to things common for this particular run of Infer.</p></aside><dl><dtclass="spec value"id="val-log_many"><ahref="#val-log_many"class="anchor"></a><code><spanclass="keyword">val</span> log_many : <span><ahref="../LogEntry/index.html#type-t">LogEntry.t</a> list</span><span>-></span> unit</code></dt><dd><p>Log several events in one go. Useful when you do custom aggregations and have a place to log all aggregated results at once.</p></dd></dl><dl><dtclass="spec value"id="val-log_count"><ahref="#val-log_count"class="anchor"></a><code><spanclass="keyword">val</span> log_count : <span>label:string</span><span>-></span><span>value:int</span><span>-></span> unit</code></dt><dd><p>Log anything that can be counted. Events will be prefixed with <code>"count."</code></p></dd></dl><dl><dtclass="spec value"id="val-log_message"><ahref="#val-log_message"class="anchor"></a><code><spanclass="keyword">val</span> log_message : <span>label:string</span><span>-></span><span>message:string</span><span>-></span> unit</code></dt><dd><p>Log a <code>string</code>. Event is prefixed with <code>"msg."</code></p></dd></dl><dl><dtclass="spec value"id="val-cost_log_message"><ahref="#val-cost_log_message"class="anchor"></a><code><spanclass="keyword">val</span> cost_log_message : <span>label:string</span><span>-></span><span>message:string</span><span>-></span> unit</code></dt><dd><p>Similar to <code>log_message</code>, but log only when <code>--cost-scuba-logging</code> option is given.</p></dd></dl><dl><dtclass="spec value"id="val-execute_with_time_logging"><ahref="#val-execute_with_time_logging"class="anchor"></a><code><spanclass="keyword">val</span> execute_with_time_logging : string <span>-></span><span>(unit <span>-></span><spanclass="type-var">'a</span>)</span><span>-></span><spanclass="type-var">'a</span></code></dt><dd><p>A helper to log execution time of a particular function. Use this to measure a performance of a given function. Example:</p><pre><codeclass="ml">let f a b = <some code>
let f a b = ScubaLogging.execute_with_time_logging "f" (fun () -> f a b)</code></pre></dd></dl><dl><dtclass="spec value"id="val-register_global_log_flushing_at_exit"><ahref="#val-register_global_log_flushing_at_exit"class="anchor"></a><code><spanclass="keyword">val</span> register_global_log_flushing_at_exit : unit <span>-></span> unit</code></dt></dl></div></body></html>