[PYTHON] Graphique d'appel de sortie avec PyCallGraph

Il s'agit d'une méthode de sortie de graphe d'appel qui peut être utilisée lors de la recherche d'un goulot d'étranglement de la vitesse de traitement ou lors de la vérification de l'interrelation des objets. (Environnement Windows)

procédure

  1. Installez pycallgraph. (L'introduction de Graphviz est une condition préalable) $ pip install pycallgraph

  2. Copiez C: \ Python34 \ Scripts \ pycallgraph à la racine de votre projet. (Si vous jouez avec sys.path, vous n'aurez peut-être pas besoin de le copier. Les variables d'environnement semblent inutiles.)

  3. Lancez le shell à la racine du projet pour lequel vous souhaitez afficher le graphe d'appel. Exécutez pycallgraph. $ python pycallgraph graphviz --./ filename.py

  4. Puisque le programme est exécuté, exécutez le processus que vous souhaitez dessiner le graphe d'appel.

  5. Lorsque vous quittez le programme, pycallgraph.png sera créé dans le répertoire courant.

Il existe peut-être un moyen plus correct.

(Résultat de sortie lors de la création d'une fenêtre vide avec PySide) PySideで空のウィンドウを作ったときの出力結果

Postscript

Il peut être plus facile d'écrire un processus pour ajouter un filtre à la configuration de C: \ Python34 \ Lib \ site-packages \ pycallgraph \ pycallgraph.py.

~~ Lors de la sortie dans un format tel que DOT ou SVG, ou lors de la modification du nom du fichier de sortie, C:\Python34\Lib\site-packages\pycallgraph\output\graphviz.py C'est possible pour le moment en changeant la valeur initiale de init. ~~ ** [PostScript 2015.05.03] J'ai pu le spécifier avec --output-format **

Comme mentionné dans la source, vous pouvez spécifier les types de formats suivants. Output Formats | Graphviz - Graph Visualization Software

Site de référence

PythonCallGraph Graphviz

Recommended Posts

Graphique d'appel de sortie avec PyCallGraph
Appelez l'API avec python3.
Graphique de sortie networkX avec graphviz (PyGraphviz)
[Python] Définissez la plage du graphique avec matplotlib
Augmentez la taille de la police du graphique avec matplotlib
La base de la théorie des graphes avec l'animation matplotlib
Dessinez un graphique avec PyQtGraph Partie 5-Augmentez l'axe Y
Sortie PDF avec Django
Sortie Markdown avec Django
[Python] Obtenez les nombres dans l'image graphique avec OCR
Sortie PDF avec WeasyPrint
Graphique de bande avec matplotlib
[Neo4J] ④ Essayez de gérer la structure du graphe avec Cypher
Appeler bash avec Golang
L'histoire de la confusion entre la production japonaise et Django
Afficher le graphique lors de la modification des paramètres avec PySimpleGUI + Matplotlib
Appelez la fonction C avec dart: ffi et rappelez la fonction Dart
Sauvegardez la sortie de GAN une par une ~ Avec l'implémentation de GAN par PyTorch ~
Dessinez un graphique avec NetworkX
Insérez le débogueur avec le nez
Tuez le processus avec sudo kill -9
Essayez la sortie Python avec Haxe 3.2
Tester la sortie standard avec Pytest
tracé Créer un graphique avec un bouton
Méthode de dessin graphique avec matplotlib
Graphique des données Excel avec matplotlib (2)
Devinez le mot de passe avec klee
gethostbyaddr () communique avec l'extérieur
Couper le graphe de calcul PyTorch
Gratter la moyenne du Nikkei avec le dramaturge-python
Vérifiez le code avec flake8
Calibrer le modèle avec PyCaret
Composants liés du graphique
Filtrer la sortie de tracemalloc
Dessinez un graphique avec networkx
Dessin graphique avec IPython Notebook
Lire les coordonnées du tracé sur le graphe avec Python-matplotlib (super débutant)
La première intelligence artificielle. Testez la sortie Web avec python. ~ Introduction du flacon
[Statistiques] Saisir l'image de la théorie de la limitation du pôle central avec un graphe
Je veux sortir le début du mois prochain avec Python
Exportez le contenu de ~ .xlsx dans le dossier en HTML avec Python
Compter la partie concaténée maximale d'un graphe aléatoire avec NetworkX