Module InferModules__PerfStats

Performance Statistics gathering and reporting

type perf_stats
type stats_kind =
| Time of Mtime_clock.counter * InferStdlib.IStd.Unix.process_times
| Memory
| TimeAndMemory
type stats_type =
| ClangLinters of InferBase.SourceFile.t
| ClangFrontend of InferBase.SourceFile.t
| ClangFrontendLinters of InferBase.SourceFile.t
| JavaFrontend of InferBase.SourceFile.t
| PythonFrontend of InferBase.SourceFile.t
| TotalFrontend
| Backend of InferBase.SourceFile.t
| TotalBackend
| Reporting
| Driver
val from_json : Yojson.Basic.json ‑> perf_stats
val aggregate : perf_stats list ‑> Yojson.Basic.json
val register_report : stats_kind ‑> stats_type ‑> unit

Register performance reporting function

val get_reporter : stats_type ‑> unit ‑> unit

Get reporting function that can be called at any time to create a performance report

val register_report_at_exit : stats_type ‑> unit

Create performance report when the current process terminates