Is there something about the actual profiler that differs from existing tools like pyinstrument [1] or py-spy [2]? I know pyinstrument has various output options and I wonder if it could potentially output something readable by the Firefox Profiler tool.
It uses FEE (function entry/exit) tracing so it generates a full execution trace of all functions called during your run like “History” [1], the C/C++ tracing profiler it was based on.
You can then post-process that trivially to get low resolution aggregate information like normal statistical/sampling profilers generate.
compare to pyspy, which is out of process and reads process memory to reconstruct stack frames as a sampler, which means marginal overhead for the program, re safer to use in prod. it would be interesting to see a function entry/exit on linux via epbf attached to USDT.
Veserv|2 years ago
You can then post-process that trivially to get low resolution aggregate information like normal statistical/sampling profilers generate.
[1] https://www.ghs.com/products/MULTI_IDE.html
kapilvt|2 years ago