package mirage-profile
Install
Dune Dependency
Authors
Maintainers
Sources
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)
- lwt
- ocplib-endian
-
ppx_cstruct
build
-
cstruct
>= "3.0.0"
-
dune
>= "1.0"
-
ocaml
>= "4.03.0"
Dev Dependencies
None
Used by (17)
-
arp
>= "2.3.1" & < "3.1.0"
-
arp-mirage
>= "2.0.0"
- dns-lwt
-
ethernet
< "3.2.0"
- mirage-dns
-
mirage-logs
< "1.3.0"
- mirage-profile-unix
-
mirage-profile-xen
>= "0.9.1"
-
mirage-unix
< "3.0.8"
-
mirage-vnetif
< "0.6.1"
-
mirage-vnetif-stack
< "0.6.1"
-
mirage-xen
< "8.0.3"
- netchannel
-
shared-memory-ring
< "3.2.1"
-
shared-memory-ring-lwt
< "3.2.1"
-
tcpip
< "8.0.0"
-
xen-gnt
< "4.0.2"
Conflicts
None