top | item 36606685

(no title)

scottwick | 2 years ago

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.

[1] : https://github.com/joerick/pyinstrument [2] : https://github.com/benfred/py-spy

discuss

order

Veserv|2 years ago

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.

[1] https://www.ghs.com/products/MULTI_IDE.html

kapilvt|2 years ago

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.