vprof ist ein Python-Paket, das umfangreiche und interaktive Visualisierungen für verschiedene Python-Programmeigenschaften wie Laufzeit und Speichernutzung bereitstellt. Es unterstützt Python 3.4+ und wird unter der BSD-Lizenz vertrieben.
Das Projekt befindet sich in der aktiven Entwicklung und einige seiner Funktionen funktionieren möglicherweise nicht wie erwartet.
Alle Beiträge sind ausdrücklich erwünscht! Sie können neue Funktionen hinzufügen, vorhandene Fehler melden und beheben sowie Dokumente und Tutorials schreiben. Fühlen Sie sich frei, ein Problem zu eröffnen oder eine Pull-Anfrage zu senden!
Abhängigkeiten zum Erstellen von vprof
aus dem Quellcode:
Python 3.4+
pip
npm
>= 3.3.12
npm
ist nur zum Erstellen von vprof
aus Quellen erforderlich.
Alle Abhängigkeiten von Python- und npm
-Modulen sind in package.json
und requirements.txt
aufgeführt.
vprof
kann von PyPI installiert werden
pip install vprof
Um vprof
aus Quellen zu erstellen, klonen Sie dieses Repository und führen Sie es aus
python3 setup.py deps_install && python3 setup.py build_ui && python3 setup.py install
Um nur vprof
Abhängigkeiten zu installieren, führen Sie Folgendes aus:
python3 setup.py deps_install
vprof -c <config> <src>
<config>
ist eine Kombination unterstützter Modi:
c
– CPU-Flammendiagramm
Nicht verfügbar für Windows #62
Zeigt das CPU-Flammendiagramm für <src>
an.
p
- Profiler
Führt den integrierten Python-Profiler auf <src>
aus und zeigt Ergebnisse an.
m
- Speicherdiagramm
Zeigt Objekte an, die von CPython GC verfolgt werden und nach der Codeausführung im Speicher verbleiben. Zeigt außerdem die Prozessspeichernutzung nach der Ausführung jeder Zeile von <src>
an.
h
– Code-Heatmap
Zeigt den gesamten ausgeführten Code von <src>
mit Zeilenlaufzeiten und Ausführungszahlen an.
<src>
kann eine Python-Quelldatei (z. B. testscript.py
) oder ein Pfad zum Paket (z. B. myproject/test_package
) sein.
Um Skripte mit Argumenten auszuführen, verwenden Sie doppelte Anführungszeichen
vprof -c cmh "testscript.py --foo --bar"
Modi können kombiniert werden
vprof -c cm testscript.py
vprof
kann auch Profilfunktionen erstellen. Starten Sie dazu vprof
im Remote-Modus:
vprof -r
vprof
öffnet einen neuen Tab im Standard-Webbrowser und wartet dann auf Statistiken.
Um einen Funktionslauf zu profilieren
aus vprof import runnerdef foo(arg1, arg2): ...runner.run(foo, 'cmhp', args=(arg1, arg2), host='localhost', port=8000)
Dabei steht cmhp
für den Profilerstellungsmodus, host
und port
für den Hostnamen und den Port des im Remote-Modus gestarteten vprof
Servers. Die erhaltenen Statistiken werden in einer neuen Registerkarte des Standard-Webbrowsers gerendert, die mit dem Befehl vprof -r
geöffnet wird.
vprof
kann Profilstatistiken in einer Datei speichern und Visualisierungen aus zuvor gespeicherten Dateien rendern.
vprof -c cmh src.py --output-file profile.json
schreibt Profil in Datei und
vprof --input-file profile.json
rendert Visualisierungen aus zuvor gespeicherten Dateien.
Überprüfen Sie vprof -h
auf eine vollständige Liste der unterstützten Parameter.
Um die UI-Hilfe anzuzeigen, drücken Sie h
wenn Visualisierungen angezeigt werden.
Weitere Profilierungsbeispiele finden Sie auch im examples
.
python3 setup.py test_python && python3 setup.py test_javascript && python3 setup.py e2e_test
BSD