2010-09-21 11 views
7

Ich habe angefangen, ein Skript zu erstellen, das viele sleep(n) Anweisungen hat. Alles in allem bekomme ich über 99% der Laufzeit schlafen. Dennoch treten gelegentlich Leistungsprobleme während der Zeit auf, in der es echte Arbeit leistet, aber die relevanten, interessanten Profiling-Daten werden sehr schwierig zu identifizieren, wenn z. Verwenden von kcachegrind.Python cProfile: Wie filtert man bestimmte Aufrufe aus den Profiling-Daten?

Gibt es eine Möglichkeit, dass ich bestimmte Anrufe/Funktionen in die Blacklist aufnehmen kann? Oder wie kann ich einen solchen Aufruf mit Nachbearbeitung der Profiling-Datendatei ausfiltern?

Ich benutze den profilestats Decorator (http://pypi.python.org/pypi/profilestats).

Dank

Antwort

2

Sie brauchen mehr als nur ohne Proben während des Schlafes(). Sie benötigen die restlichen Proben, um Ihnen etwas Nützliches zu sagen. Das wäre Stapel-Sampling, zur Wanduhr-Zeit, Zusammenfassen von Prozent auf der Ebene der Code-Ebene. Zoom ist ein gutes Werkzeug für diese Art von Sampling, und ich hoffe, es ist nicht zu schwer, Samples zu ignorieren, die eine bestimmte Funktion enthalten.