NewProfileSourceval profile :
string ->
?args:(unit -> (string * MiniJson.t) list) ->
(unit -> 'a) ->
unit ->
'aProfile the given function.
args is called only if profiling is active, it is used to produce additional annotations.
Profiling must not be active. Activates profiling with a fresh state.
Profiling must be active. Deactivates profiling.
Profiling state accumulator.
Returns None if profiling is inactive. Deactivates profiling if it is active, returning the current state.