lssndrbarbieri@gmail.com
Alessandro Barbieri
This library can be used to trace execution of OCaml/Lwt programs (such as
Mirage unikernels) at the level of Lwt threads. The traces can be viewed using
JavaScript or GTK viewers provided by [mirage-trace-viewer][] or processed by
tools supporting the [Common Trace Format (CTF)][ctf]. Some example traces can
be found in the blog post [Visualising an Asynchronous
Monad](http://roscidus.com/blog/blog/2014/10/27/visualising-an-asynchronous-monad/).
Libraries can use the functions mirage-profile provides to annotate the traces
with extra information. When compiled against a normal version of Lwt,
mirage-profile's functions are null-ops (or call the underlying untraced
operation, as appropriate) and OCaml's cross-module inlining will optimise
these calls away, meaning there should be no overhead in the non-profiling
case.
https://mirage.github.io/mirage-profile/
https://github.com/mirage/mirage-profile/issues
mirage/mirage-profile
Thomas Leonard
talex5@gmail.com