vprof est un package Python fournissant des visualisations riches et interactives pour diverses caractéristiques du programme Python telles que la durée d'exécution et l'utilisation de la mémoire. Il prend en charge Python 3.4+ et distribué sous licence BSD.
Le projet est en développement actif et certaines de ses fonctionnalités pourraient ne pas fonctionner comme prévu.
Toutes les contributions sont fortement encouragées ! Vous pouvez ajouter de nouvelles fonctionnalités, signaler et corriger les bogues existants et rédiger des documents et des didacticiels. N'hésitez pas à ouvrir un ticket ou à envoyer une pull request !
Dépendances pour construire vprof
à partir du code source :
Python3.4+
pip
npm
>= 3.3.12
npm
est requis pour créer vprof
à partir de sources uniquement.
Toutes les dépendances des modules Python et npm
sont répertoriées dans package.json
et requirements.txt
.
vprof
peut être installé depuis PyPI
pip installer vprof
Pour créer vprof
à partir des sources, clonez ce référentiel et exécutez
python3 setup.py deps_install && python3 setup.py build_ui && python3 setup.py install
Pour installer uniquement les dépendances vprof
, exécutez
python3 setup.py deps_install
vprof -c <config> <src>
<config>
est une combinaison de modes pris en charge :
c
- Graphique de flamme du processeur
Non disponible pour Windows #62
Affiche le graphique de flamme du processeur pour <src>
.
p
- profileur
Exécute le profileur Python intégré sur <src>
et affiche les résultats.
m
- graphique de la mémoire
Affiche les objets suivis par CPython GC et laissés en mémoire après l'exécution du code. Affiche également l'utilisation de la mémoire du processus après l'exécution de chaque ligne de <src>
.
h
- carte thermique du code
Affiche tout le code exécuté de <src>
avec les temps d'exécution des lignes et le nombre d'exécutions.
<src>
peut être un fichier source Python (par exemple testscript.py
) ou un chemin d'accès au package (par exemple myproject/test_package
).
Pour exécuter des scripts avec des arguments, utilisez des guillemets doubles
vprof -c cmh "testscript.py --foo --bar"
Les modes peuvent être combinés
vprof -c cm testscript.py
vprof
peut également profiler des fonctions. Pour cela, lancez vprof
en mode distant :
vprof -r
vprof
ouvrira un nouvel onglet dans le navigateur Web par défaut, puis attendra les statistiques.
Pour profiler une exécution de fonction
depuis vprof import runnerdef foo (arg1, arg2) : ...runner.run(foo, 'cmhp', args=(arg1, arg2), host='localhost', port=8000)
où cmhp
est le mode de profilage, host
et port
sont le nom d'hôte et le port du serveur vprof
lancé en mode distant. Les statistiques obtenues seront affichées dans un nouvel onglet du navigateur Web par défaut, ouvert par la commande vprof -r
.
vprof
peut enregistrer les statistiques de profil dans un fichier et restituer des visualisations à partir d'un fichier précédemment enregistré.
vprof -c cmh src.py --output-file profile.json
écrit le profil dans un fichier et
vprof --input-file profile.json
restitue les visualisations à partir d'un fichier précédemment enregistré.
Vérifiez vprof -h
pour la liste complète des paramètres pris en charge.
Pour afficher l'aide de l'interface utilisateur, appuyez sur h
lorsque les visualisations sont affichées.
Vous pouvez également consulter le répertoire examples
pour plus d'exemples de profilage.
python3 setup.py test_python && python3 setup.py test_javascript && python3 setup.py e2e_test
BSD