sumerc / yappi

Yet Another Python Profiler, but this time multithreading, asyncio and gevent aware.
MIT License
1.44k stars 72 forks source link

Supporting Additional Load Formats #91

Open ehidia opened 2 years ago

ehidia commented 2 years ago

Thanks for this great tool.

Are there plans to support additional load formats, specifically pstat?

The use case is to be able to load existing pstat profiles, merge with a new stat and visualize the merged profile using a tool like SnakeViz.

If this can't be supported, is there a way to visualize ystat?

Thanks.

sumerc commented 2 years ago

Thank you!

Well, it is doable by adding a value to _SUPPORTED_LOAD_FORMATS = ['YSTAT'] and implementing a method in YFuncStats object with def _add_from_PSTAT(self, file):. For the implementation: we need to do the reverse of what we are doing in convert2pstats function.

However, for the time being, I don't have time to do this. If there is any help on this, I can help. Otherwise, it should sit a while.

_SUPPORTED_SAVE_FORMATS = ['YSTAT', 'CALLGRIND', 'PSTAT']