package mirage-profile

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

Install

Dune Dependency

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

Conflicts

None

OCaml

Innovation. Community. Security.