sadiqj / runtime_events_tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

image

Dependencies

The library depends on hdr_histogram_ocaml.

About

License:ISC License


Languages

Language:OCaml 100.0%