You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OCaml is functional and loves recursion, but these recursive frames show up in the callstack. Pyroscope has a default limit of ~1k frames before it starts lumping them together as "other". This PR makes it so we essentially remove any duplicated recursive frames, resulting in an easier to read trace, and more function calls being explicitly recorded.
I think the con here is technically you won't be able to see say, "element # 10 to List.map takes a really long time", but I'd argue that's not really the point of continuous profiling, since we care about things en masse and how long functions overall take instead of specific instances.
I also added a .ocamlformat
## Test plan
run the example program, notice recursive calls to List.map on old pyro caml. run w/this PR and notice them all collapsed into 1.
0 commit comments