package mopsa

  1. Overview
  2. Docs
MOPSA: A Modular and Open Platform for Static Analysis using Abstract Interpretation

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mopsa-analyzer-v1.2.tar.gz
md5=37966e98ffeebcedc09bd6e9b2b81f69
sha512=40d4d826c25f680766c07eccbabdf5e8a4fa023016e8a164e4e4f6b3781c8484dc4df437055721dfd19b9db8fb7fe3b61236c4833186d346fc7204a68d01eaaa

doc/mopsa.mopsa_analyzer/Mopsa_analyzer/Languages/Universal/Hooks/Function_profiler/Hook/index.html

Module Function_profiler.Hook

Hook header

***************

val name : string
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a

Command-line options

************************

val opt_flame_graph_path : string ref

Path of the output flame graph samples file

val opt_flame_graph_resolution : string ref

Resolution of the flame graph samples

Timing records

******************

type timing = {
  1. callstack : string list;
    (*

    Call stack

    *)
  2. time : float;
    (*

    Time spent in the function

    *)
}

Timing record of a function call

val records : timing Queue.t

Collection of past timing records

val cur : timing ref

Current timing record

Call stack observer

***********************

val call_detected : MopsaLib.callsite -> unit

Update the state when a call is detected

val return_detected : unit -> unit

Update the state when a return is detected

val observe_callstack : MopsaLib.callstack -> 'a -> unit

Observe the call stack and update the timing records

Statistics

**************

val pp_timing_sample : Format.formatter -> timing -> unit

Print a timing record as a flame graph sample

val export_flame_graph : unit -> unit

Export timing records as flame graph samples

val print_stats : unit -> unit

Print the statistics table

Events handlers

*******************

val init : 'a -> unit
val on_before_exec : 'a -> MopsaLib.stmt -> 'b -> 'c Mopsa_analyzer.MopsaLib.Flow.flow -> unit
val on_after_exec : 'a -> 'b -> 'c -> 'd -> 'e -> unit
val on_before_eval : 'a -> 'b -> 'c -> 'd -> 'e -> unit
val on_after_eval : 'a -> 'b -> MopsaLib.expr -> 'c -> 'd -> ('e, 'f) Mopsa_analyzer.MopsaLib.Cases.cases -> unit
val on_finish : 'a -> 'b -> unit
OCaml

Innovation. Community. Security.