<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>PerfStats (infer.InferModules.PerfStats)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> – <a href="../../index.html">infer</a> » <a href="../index.html">InferModules</a> » PerfStats</nav><h1>Module <code>InferModules.PerfStats</code></h1></header><aside><p>Performance Statistics gathering and reporting</p></aside><dl><dt class="spec type" id="type-perf_stats"><a href="#type-perf_stats" class="anchor"></a><code><span class="keyword">type</span> perf_stats</code></dt><dt class="spec type" id="type-stats_kind"><a href="#type-stats_kind" class="anchor"></a><code><span class="keyword">type</span> stats_kind</code><code> = </code><table class="variant"><tr id="type-stats_kind.Time" class="anchored"><td class="def constructor"><a href="#type-stats_kind.Time" class="anchor"></a><code>| </code><code><span class="constructor">Time</span> <span class="keyword">of</span> Mtime_clock.counter * <a href="../../../InferStdlib/InferStdlib/index.html#module-IStd">InferStdlib.IStd</a>.Unix.process_times</code></td></tr><tr id="type-stats_kind.Memory" class="anchored"><td class="def constructor"><a href="#type-stats_kind.Memory" class="anchor"></a><code>| </code><code><span class="constructor">Memory</span></code></td></tr><tr id="type-stats_kind.TimeAndMemory" class="anchored"><td class="def constructor"><a href="#type-stats_kind.TimeAndMemory" class="anchor"></a><code>| </code><code><span class="constructor">TimeAndMemory</span></code></td></tr></table></dt><dt class="spec type" id="type-stats_type"><a href="#type-stats_type" class="anchor"></a><code><span class="keyword">type</span> stats_type</code><code> = </code><table class="variant"><tr id="type-stats_type.ClangLinters" class="anchored"><td class="def constructor"><a href="#type-stats_type.ClangLinters" class="anchor"></a><code>| </code><code><span class="constructor">ClangLinters</span> <span class="keyword">of</span> <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a></code></td></tr><tr id="type-stats_type.ClangFrontend" class="anchored"><td class="def constructor"><a href="#type-stats_type.ClangFrontend" class="anchor"></a><code>| </code><code><span class="constructor">ClangFrontend</span> <span class="keyword">of</span> <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a></code></td></tr><tr id="type-stats_type.ClangFrontendLinters" class="anchored"><td class="def constructor"><a href="#type-stats_type.ClangFrontendLinters" class="anchor"></a><code>| </code><code><span class="constructor">ClangFrontendLinters</span> <span class="keyword">of</span> <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a></code></td></tr><tr id="type-stats_type.JavaFrontend" class="anchored"><td class="def constructor"><a href="#type-stats_type.JavaFrontend" class="anchor"></a><code>| </code><code><span class="constructor">JavaFrontend</span> <span class="keyword">of</span> <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a></code></td></tr><tr id="type-stats_type.TotalFrontend" class="anchored"><td class="def constructor"><a href="#type-stats_type.TotalFrontend" class="anchor"></a><code>| </code><code><span class="constructor">TotalFrontend</span></code></td></tr><tr id="type-stats_type.Backend" class="anchored"><td class="def constructor"><a href="#type-stats_type.Backend" class="anchor"></a><code>| </code><code><span class="constructor">Backend</span> <span class="keyword">of</span> <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a></code></td></tr><tr id="type-stats_type.TotalBackend" class="anchored"><td class="def constructor"><a href="#type-stats_type.TotalBackend" class="anchor"></a><code>| </code><code><span class="constructor">TotalBackend</span></code></td></tr><tr id="type-stats_type.Reporting" class="anchored"><td class="def constructor"><a href="#type-stats_type.Reporting" class="anchor"></a><code>| </code><code><span class="constructor">Reporting</span></code></td></tr><tr id="type-stats_type.Driver" class="anchored"><td class="def constructor"><a href="#type-stats_type.Driver" class="anchor"></a><code>| </code><code><span class="constructor">Driver</span></code></td></tr></table></dt></dl><dl><dt class="spec value" id="val-from_json"><a href="#val-from_json" class="anchor"></a><code><span class="keyword">val</span> from_json : Yojson.Basic.t <span>-></span> <a href="index.html#type-perf_stats">perf_stats</a></code></dt><dt class="spec value" id="val-aggregate"><a href="#val-aggregate" class="anchor"></a><code><span class="keyword">val</span> aggregate : <span><a href="index.html#type-perf_stats">perf_stats</a> list</span> <span>-></span> Yojson.Basic.t</code></dt><dt class="spec value" id="val-register_report"><a href="#val-register_report" class="anchor"></a><code><span class="keyword">val</span> register_report : <a href="index.html#type-stats_kind">stats_kind</a> <span>-></span> <a href="index.html#type-stats_type">stats_type</a> <span>-></span> unit</code></dt><dd><p>Register performance reporting function</p></dd></dl><dl><dt class="spec value" id="val-get_reporter"><a href="#val-get_reporter" class="anchor"></a><code><span class="keyword">val</span> get_reporter : <a href="index.html#type-stats_type">stats_type</a> <span>-></span> unit <span>-></span> unit</code></dt><dd><p>Get reporting function that can be called at any time to create a performance report</p></dd></dl><dl><dt class="spec value" id="val-register_report_at_exit"><a href="#val-register_report_at_exit" class="anchor"></a><code><span class="keyword">val</span> register_report_at_exit : <a href="index.html#type-stats_type">stats_type</a> <span>-></span> unit</code></dt><dd><p>Create performance report when the current process terminates</p></dd></dl></div></body></html>