mirage-profile
  1. Overview
  2. Docs
Collect runtime profiling information in CTF format

Install

Authors

Maintainers

Sources

mirage-profile-v0.9.1.tbz
sha256=2bb6cf03c73c6f45dedc34365c9131b8bdda62390b04d26eb76793a6422a0352
sha512=23cc4a2a62f5cc05b48d626bd6c8171a442fd46490da6810b1c507fcd7661c7fcd901d8328cddf687af4144136bf0d34b63f8484e32550077ab63d23e6eaea2b

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: 09 Jul 2019

Dependencies (6)

  1. lwt
  2. ocplib-endian
  3. ppx_cstruct build
  4. cstruct >= "3.0.0"
  5. dune >= "1.0"
  6. ocaml >= "4.03.0"

Dev Dependencies

None

Used by (22)

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

Conflicts

None