opam-version: "2.0" maintainer: "Thomas Leonard " authors: "Thomas Leonard " homepage: "https://github.com/mirage/mirage-profile" dev-repo: "git+https://github.com/mirage/mirage-profile.git" bug-reports: "https://github.com/mirage/mirage-profile/issues" doc: "https://mirage.github.io/mirage-profile" license: "BSD-2-clause" build: [ ["jbuilder" "subst" "-p" name] {dev} [ "jbuilder" "build" "-p" name "-j" jobs ] ] depends: [ "ocaml" {>= "4.03.0"} "jbuilder" {>= "1.0+beta9"} "mirage-profile" {= "0.8.2"} "mirage-xen" {>="3.3.0" & <"4.0.0"} "io-page-xen" "io-page" "mirage-xen-minios" "ocplib-endian" ] synopsis: "Collect runtime profiling information in CTF format" 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](http://roscidus.com/blog/blog/2014/10/27/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.""" url { src: "https://github.com/mirage/mirage-profile/releases/download/v0.8.2/mirage-profile-0.8.2.tbz" checksum: [ "sha256=0680a8545f64eabe9496ce9f52c20ecff82c18a4159fceca4e91890e525fe2c4" "md5=7f094bcb0b81746a712326ea583b2e76" ] } flags: deprecated post-messages: [ "mirage-profile-xen is deprecated" ]