sumerc / yappi

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

Internal Error 15 #32

Closed divi255 closed 4 years ago

divi255 commented 4 years ago

Good day,

I'm author of pptop, which has a plugin for yappi profiler. After updating to 1.2.1, Yappi prints a lot of "Internal Error 15" messages when working. I believe the issue is because pptop plugin starts yappi from the own thread, however everything seems to work fine except this message.

p.s. it would be also nice to have an ability obtaining data fields from get_func_stats() by keywords, as I see some of their indexes are changed from version to version.

sumerc commented 4 years ago

Hi,

I'm author of pptop, which has a plugin for yappi profiler. After updating to 1.2.1, Yappi prints a lot of "Internal Error 15" messages when working. I believe the issue is because pptop plugin starts yappi from the own thread, however everything seems to work fine except this message.

Yes. This error is more an assertion than an error. I introduced it recently to find issues like yours. I will be looking at how pptop is doing something different to trigger that issue. There should not be much effect for this except for some functions(especially some initial threading library ones) might report more time than they ought to take, but the effect will be very minimal. (This is not a new issue BTW, it is there for years I just put an assertion)

p.s. it would be also nice to have an ability obtaining data fields from get_func_stats() by keywords, as I see some of their indexes are changed from version to version.

Please correct me but is below not working for you?

stats = yappi.get_func_stats()
for stat in stats:
    print(stat.name, stat.ttot, .....etc.)

YFuncStats is a list of YFuncStat objects. You can see the attributes of YFuncStat here.

divi255 commented 4 years ago

for stat in stats: print(stat.name, stat.ttot, .....etc.)

this works file, thank you. missed it

divi255 commented 4 years ago

Internal Error 15 happens always, I can't find a case when it doesn't. Let me explain the full scheme how it works:

sumerc commented 4 years ago

Yes. I reproduced the issue when yappi started from a different thread as you suggested. Fix is coming. Stay tuned!

sumerc commented 4 years ago

I have released a new version 1.2.3 for this + other issues. Could you please confirm the issue is resolved on your end, too?

divi255 commented 4 years ago

yes, it's resolved. thank you!

sumerc commented 4 years ago

Nice. Thank you, too!