Just discovered Tracy Profiler, which seems to primarily be made for profiling the performance of games but is also useful for other kinds of software. It does have Windows and Linux compatibility, which means that there is some degree of cross-platform support. I’d attempt to get it working on Haiku, but unfortunately I’m not familiar enough with Haiku internals to even know where to start.
For sampling profiling you would need some support from the kernel which Haiku does not provide. See also Profiling app_server.
The kernel definitely does provide it, that’s what our own profile
tool uses. I recently spent a bunch of time fixing bugs in the tool and the kernel support for it and it works pretty well at this point, I’ve been using it to track down performance issues in Haiku and applications.
Last time I looked into Haiku source I didn’t find anything anything like hardware performance counters in the kernel. How complete is Haiku’s profiling infrastructure in comparison with FreeBSD’s one?
We don’t have support for hardware performance counters in the kernel, that’s true. But it looks like that’s an optional feature for “Tracy Profiler” and not necessarily supported on all platforms?