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)
-
ocaml-migrate-parsetree
< "2.0.0"
- lwt
- ocplib-endian
- ppx_cstruct
-
cstruct
>= "3.0.0"
-
jbuilder
>= "1.0+beta9"
-
ocaml
>= "4.03.0"
Reverse Dependencies (21)
-
arp-mirage
>= "2.0.0"
-
dns
>= "0.15.0" & < "1.0.0"
- dns-lwt
-
ethernet
< "3.2.0"
- jitsu
-
mirage-dns
>= "2.6.0"
-
mirage-logs
< "1.3.0"
-
mirage-net-solo5
< "0.2.0"
-
mirage-net-xen
>= "1.2.0" & < "1.7.1"
-
mirage-profile-unix
>= "0.8.2"
-
mirage-profile-xen
= "0.8.2"
-
mirage-solo5
< "0.2.0"
-
mirage-unix
>= "2.1.0" & < "3.0.8"
- mirage-vnetif
- mirage-vnetif-stack
-
mirage-xen
>= "2.1.0"
- netchannel
-
shared-memory-ring
>= "1.1.1"
- shared-memory-ring-lwt
-
tcpip
= "2.1.0" | >= "3.1.4" & < "8.0.0"
-
xen-gnt
>= "2.1.0"
Conflicts
-
None
Collect runtime profiling information in CTF format
Install
copied = false, 2000)"
:class="{ 'border-gray-700': !copied, 'text-gray-100': !copied, 'focus:ring-orange-500': !copied, 'focus:border-orange-500': !copied, 'border-green-600': copied, 'text-green-600': copied, 'focus:ring-green-500': copied, 'focus:border-green-500': copied }">
Authors
Maintainers
Sources
mirage-profile-0.8.2.tbz
md5=7f094bcb0b81746a712326ea583b2e76