this repo has no description
1opam-version: "2.0"
2synopsis: "Collect runtime profiling information in CTF format"
3maintainer: "Thomas Leonard <talex5@gmail.com>"
4authors: "Thomas Leonard <talex5@gmail.com>"
5license: "BSD-2-clause"
6homepage: "https://github.com/mirage/mirage-profile"
7doc: "https://mirage.github.io/mirage-profile/"
8bug-reports: "https://github.com/mirage/mirage-profile/issues"
9depends: [
10 "ocaml" {>= "4.03.0"}
11 "dune" {>= "1.0"}
12 "cstruct" {>= "3.0.0"}
13 "ppx_cstruct" {build}
14 "ocplib-endian"
15 "lwt"
16]
17build: [
18 ["dune" "build" "-p" name "-j" jobs]
19]
20dev-repo: "git+https://github.com/mirage/mirage-profile.git"
21description: """
22This library can be used to trace execution of OCaml/Lwt programs (such as
23Mirage unikernels) at the level of Lwt threads. The traces can be viewed using
24JavaScript or GTK viewers provided by [mirage-trace-viewer][] or processed by
25tools supporting the [Common Trace Format (CTF)][ctf]. Some example traces can
26be found in the blog post [Visualising an Asynchronous
27Monad](http://roscidus.com/blog/blog/2014/10/27/visualising-an-asynchronous-monad/).
28
29Libraries can use the functions mirage-profile provides to annotate the traces
30with extra information. When compiled against a normal version of Lwt,
31mirage-profile's functions are null-ops (or call the underlying untraced
32operation, as appropriate) and OCaml's cross-module inlining will optimise
33these calls away, meaning there should be no overhead in the non-profiling
34case.
35"""
36url {
37 src:
38 "https://github.com/mirage/mirage-profile/releases/download/v0.9.0/mirage-profile-v0.9.0.tbz"
39 checksum: [
40 "sha256=60a76c482fbac9dedbfcb8b5536c57bf6678f48523131235a114862b0483c381"
41 "sha512=8efffd7f8a7af169e4880377e2376b830c12baed66611f669992afcae6002c1df7a02e95e2e1d6d498b10a39260e5fa9442e2c9aaf67f4a3ffd2071925a4f1d7"
42 ]
43}
44flags: deprecated
45post-messages: [ "mirage-profile is deprecated" ]