I’m curious about a way for instrumentation of OCaml code. By instrumentation, I mean taking a complete or partial log of an ocaml code which shows when, what function (or a piece of code) is called with what arguments and global/local variables. It is different from profiling, because it tries to get a complete history rather than a summary of calls.
For example, in Java world, AspectJ enables instrumentation using aspect-oriented programming. (But I don’t mean aspect-oriented programming in general but just logging)
Pretty sure that the mechanism behind bisect_ppx could be repurposed for this kind of tracing. The only issue with such an approach is the runtime performance penalty it incurs.