package runtime_events_tools

  1. Overview
  2. Docs
Tools for the runtime events tracing system in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

runtime_events_tools-0.3.tbz
sha256=f71ce130b23acac77cbc873a2df1f3acd6be07e5ad110077bc374e7a20b2567f
sha512=0a083bb455bb810ba33a48708259a843ae61a70a3e834d356d63568c4f558b6f010bc24d5b84f00eae409845b5b51a709e5ba1efd83d60a1b234755ea2fdc9d5

Description

Various tools for the runtime events tracing system in OCaml

Published: 11 Jul 2022

README

Runtime events tools

A collection of observability tools around the runtime events tracing system introduced in OCaml 5.0.

olly

olly latency will report the GC tail latency profile of an OCaml executable.

$ olly latency ocamlopt.opt
GC latency profile:
#[Mean (ms):    0.34,    Stddev (ms):   0.49]
#[Min (ms):     0.01,    max (ms):      1.19]

Percentile       Latency (ms)
25.0000          0.01
50.0000          0.04
60.0000          0.04
70.0000          0.13
75.0000          0.13
80.0000          0.13
85.0000          0.13
90.0000          1.19
95.0000          1.19
96.0000          1.19
97.0000          1.19
98.0000          1.19
99.0000          1.19
99.9000          1.19
99.9900          1.19
99.9990          1.19
99.9999          1.19
100.0000         1.19
$ olly latency 'menhir -v --table sysver.mly' # Use quotes for commands with arguments
<snip>
GC latency profile:
#[Mean (ms):    0.03,    Stddev (ms):   0.25]
#[Min (ms):     0.00,    max (ms):      39.75]

Percentile       Latency (ms)
25.0000          0.00
50.0000          0.00
60.0000          0.00
70.0000          0.00
75.0000          0.00
80.0000          0.00
85.0000          0.00
90.0000          0.00
95.0000          0.04
96.0000          0.16
97.0000          0.26
98.0000          0.50
99.0000          0.77
99.9000          2.66
99.9900          4.48
99.9990          7.65
99.9999          39.75
100.0000         39.75

olly trace will record the runtime trace log in Chrome tracing format.

$ olly trace menhir_sysver.trace 'menhir -v --table sysver.mly'
<snip>
$ ls menhir_sysver.trace
menhir_sysver.trace

This trace can be viewed in perfetto trace viewer.

Dependencies

The library depends on hdr_histogram_ocaml.

Dependencies (5)

  1. cmdliner >= "1.1.0"
  2. hdr_histogram
  3. ocamlfind
  4. ocaml >= "5.0.0~"
  5. dune >= "3.2"

Dev Dependencies (1)

  1. odoc with-doc

Used by (1)

  1. opsian

Conflicts

None