From eb887165a99b5d5262cc711cc65cbd98aea4c916 Mon Sep 17 00:00:00 2001 From: ajbt200128 Date: Thu, 20 Nov 2025 12:43:33 -0800 Subject: [PATCH] update readme --- README.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ images/d1.png | Bin 0 -> 55135 bytes 2 files changed, 59 insertions(+) create mode 100644 images/d1.png diff --git a/README.md b/README.md index 230d9b64..98b45fd6 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,65 @@ Pyro Caml is a profiler for OCaml that works with [Pyroscope](https://pyroscope.io/) for statistical continuous profiling purely in user space. +# How it works +## Architecture +Pyro Caml work by generating samples consisting of OCaml callstacks within the +instrumented program. These samples are then written to a ring buffer via the +[OCaml Runtime Events tracing +system](https://ocaml.org/manual/5.3/runtime-tracing.html) introduce in OCaml 5. +Finally the Pyro Caml program, which is written in Rust in order to utilize +[pyroscope-rs](https://github.com/grafana/pyroscope-rs), uses ocaml-rs to read +from this ring buffer, process the callstacks, and then send the resulting +profile with metadata to a Pyroscope instance. + +## Collecting and processing samples +Pyro Caml generates samples one of two ways, either via +[Memprof](https://ocaml.org/manual/5.3/api/Gc.Memprof.html) or by explicitly +emitting a sample. Memprof passes a callstack as a callback argument for any +allocation it samples, which is what's used to produce a sample in that case. +These callstacks get combined with metadata indicating when the sample was +taken, and which domain it was generated from, to form a sample. If the +resulting sample is too large to fit in a single runtime event, as there is a +1024 byte payload limit, they will be conditionally broken up into smaller +parts. + +On the Pyro Caml collector side, at regular intervals indicated by the sample +rate will read these samples. If it receives any sample parts it will recombine +them into a whole sample. We then choose a single sample from each domain, in +order to form a complete picture of the instrumented program's callstack at a +single moment in time. + +Notably, we are reading samples that may not all occur at a single moment in +time. This means we cannot use the samples as is, as Memprof samples will be +weighted towards where the program allocates most, and manually emitted samples +will be weighted towards where the sample is emitted. To deal with this, we try +to generate as many samples as we can without introducing significant overhead. +This means for a given sample interval, we have many possible samples to choose +from, which allows us to choose a sample timestamped sufficiently close to the +single point in time we want to generate a complete callstack for. The downside +here is that for programs that don't emit many samples, we lose accuracy for +function calls that last less than the time of the sample interval. + +Consider this example program, that we are sampling at a rate of 100 times a +second (the default for Pyro Caml): + +![example program](./images/d1.png) + +Say we're sampling at time `t+10`. No matter where we generate a sample in for +the sample interval `[(t+0),(t+10)]` will include `func_a` in the callstack, as +the duration of `func_a` is greater than the sample interval. Assuming `func_c` +allocates sufficient memory and the Memprof sample rate is high enough, or it +explicitly emits a sample, it will generate a sample, meaning that this function +will also be included in the callstack. This means that although `func_c`'s +duration is shorter than `func_b`, we have generated a callstack that is +identical to a snapshot of the callstack at a single instant in time. + +If `func_c` did not generate a sample, and `func_b` did, our callstack differs +from the callstack at a single instant in time, resulting in a less accurate +sample. Formal testing still needs to be done, but we've found that most OCaml +programs allocate enough that this case rarely happens, and functions that +rarely allocate can be modified to explicitly emit samples. + # How to use Pyro Caml consists of three parts, the instrumentation library, the profiler, and a helpful PPX. The instrumentation and PPX libraries has no dependencies on diff --git a/images/d1.png b/images/d1.png new file mode 100644 index 0000000000000000000000000000000000000000..9c546b47bc0d4d04ba13c739a32566f6fcaa32cf GIT binary patch literal 55135 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 C^zBvv literal 0 HcmV?d00001