pycallgraphをコード内に仕込むテンプレLv1

動機

  • pycallgraphを使ってボトルネック見たい
  • 端末から実行するとごちゃっとして見づらすぎるからピンポイントでコールグラフをみたい
  • pngでかいし字が潰れて汚い

こうなった

from pycallgraph import PyCallGraph
from pycallgraph import Config
from pycallgraph import GlobbingFilter
from pycallgraph.output import GraphvizOutput
config = Config()
config.trace_filter = GlobbingFilter(exclude=[
    'pycallgraph.*',
])
graphviz = GraphvizOutput(output_file='pycall.pdf', output_type='pdf')
with PyCallGraph(output=graphviz, config=config):
    # 重点的に見たい処理
  • output_typeでpdfを指定するとファイルサイズ小さくて、文字と図がベクタになるので拡大できる
  • 何よりpdfreaderの拡大+手のひらツールで操作できるので見やすい
  • excludeとincludeを適切に指定することで、コンパクトで見やすい図ができる(かもしれない)