Ich verwende cProfile, um die führende Funktion meiner gesamten Anwendung zu profilieren. Es funktioniert gut, außer für einige 3rd-Party-Bibliotheken, die profiliert werden, und in der Ausgabe als auch angezeigt. Dies ist nicht immer wünschenswert, wenn das Lesen der Ausgabe.
Meine Frage ist, wie kann ich das einschränken? Die Dokumentation über Python-Profiler Erwähnungen:
p.sort_stats('time', 'cum').print_stats(.5, 'init')
Diese Zeile sortiert die Statistiken mit dem Primärschlüssel "Zeit" und dem Sekundärschlüssel "Kumulierte Zeit" und gibt dann einige der Statistiken aus. Um genau zu sein, wird die Liste zunächst auf 50 % (bzw. 0,5) ihrer ursprünglichen Größe gekürzt, dann werden nur die Zeilen, die init enthalten, beibehalten, und diese Teil-Teil-Liste wird gedruckt .
Es wird erwähnt, dass nur Zeilen, die "init" enthalten, angezeigt werden. Das funktioniert prima, aber ich möchte es so einschränken, dass ich sagen kann, dass nur Zeilen angezeigt werden, die "init" und/oder "get" enthalten. Durch Ausprobieren habe ich herausgefunden, dass man ein weiteres Argument hinzufügen kann, eine Zeichenkette, und es wird weiter gefiltert, um nur Zeilen anzuzeigen, die Zeichenkette1 enthalten y string2. Mit meinem vorherigen Beispiel würde dies wie folgt aussehen:
p.sort_stats('time', 'cum').print_stats(.5, 'init', 'get')
Weiß jemand, wie man die Zeilen einschränken kann, so dass nur Zeilen mit "init" und/oder "get" angezeigt werden würde?