Description
Compared to stackprof, generally I find rbspy profiles a bit harder for developers to read and interpret:
Here is stackprof for a particular stack trace in puma:
Same code path but rbspy:
Interpreting ruby callchains is much harder to do without understanding what class/module the methods belong to, as they tend to provide a lot of extra context.
In both cases we have the line numbers (interestingly, they don't match, but that's another thing to investigate) which can provide a lot of extra context, but nevertheless, the stackprof profiles are easier to action.
Is there any way that rbspy can deduce the class/module name? This is the function stackprof calls https://github.com/ruby/ruby/blob/50a709fb9e07f523c8a0649d3039161b77f300ad/vm_backtrace.c#L1578, and I think the code for this is in this guy https://github.com/ruby/ruby/blob/0112a5b3423ddb2ddf46c4392f23f9b75128568e/vm_insnhelper.c#L703 but I haven't looked too deeply. I'm curious if we can do something similar in rbspy and if not, why not?