Description

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.

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.

Published: 23 Nov 2017

Dependencies (7)

  1. ocaml-migrate-parsetree < "2.0.0"
  2. lwt
  3. ocplib-endian
  4. ppx_cstruct
  5. cstruct >= "3.0.0"
  6. jbuilder >= "1.0+beta9"
  7. ocaml >= "4.03.0"

Reverse Dependencies (21)

  1. arp-mirage >= "2.0.0"
  2. dns >= "0.15.0" & < "1.0.0"
  3. dns-lwt
  4. ethernet < "3.2.0"
  5. jitsu
  6. mirage-dns >= "2.6.0"
  7. mirage-logs < "1.3.0"
  8. mirage-net-solo5 < "0.2.0"
  9. mirage-net-xen >= "1.2.0" & < "1.7.1"
  10. mirage-profile-unix >= "0.8.2"
  11. mirage-profile-xen = "0.8.2"
  12. mirage-solo5 < "0.2.0"
  13. mirage-unix >= "2.1.0" & < "3.0.8"
  14. mirage-vnetif
  15. mirage-vnetif-stack
  16. mirage-xen >= "2.1.0"
  17. netchannel
  18. shared-memory-ring >= "1.1.1"
  19. shared-memory-ring-lwt
  20. tcpip = "2.1.0" | >= "3.1.4" & < "8.0.0"
  21. xen-gnt >= "2.1.0"

Conflicts

    None