Python cProfile: wie bestimmte Anrufe von den Profilierungs Daten herauszufiltern?
-
04-10-2019 - |
Frage
Ich habe angefangen, ein Skript Profilierungs die viele sleep(n)
Aussagen hat. Alles in allem habe ich mehr als 99% der Laufzeit verbrachte Schlaf bekommen. Dennoch läuft es gelegentlich in Performance-Probleme während der Zeit, dass es wirklich funktioniert, aber die relevanten, interessanten Profilierungsdaten werden sehr schwierig, zu erkennen, wenn z.B. mit kcachegrind.
Gibt es eine Möglichkeit, ich bestimmte Anrufe / Funktionen aus, deren Profil schwarze Liste kann? Alternativ, wie kann ich solchen Anruf mit Nachbearbeitung der Profildatendatei herauszuzufiltern?
Ich bin mit dem profilestats Dekorateur ( http://pypi.python.org/pypi/profilestats ).
Danke
Lösung
You need more than just excluding samples during sleep(). You need the remaining samples to tell you something useful. That would be stack sampling, on wall-clock time, summarizing percent at the line-of-code level. Zoom is a good tool for this kind of sampling, and I would hope it's not too hard to ignore samples that contain a particular function.