4

Python プロファイリング データをキャプチャして、レポートを生成する必要があります。

このコンポーネントのほとんどは Python 3.5 を実行しますが、いくつかのレガシー モジュールをサポートするために、2.7 を実行するシステムの一部がまだ残っています。

この例では、3.5 が 2.7 を介して呼び出し、と の両方をsubprocess.Popen()キャプチャします (それぞれデータとログとして機能します)。stdoutstderr

2.7 プロセス内で cProfile を実行し、結果のデータをディスクに書き込み、pStats にロードすることができました。

この時点で、ソート/フィルタリングしてコンソールに出力できます。残念ながら、stdout/stderrはすでに使用されているため、これはあまり役に立ちません。

また、ソースコードのスニペットをフォーマットしたり、挿入したりする機会があればいいのにと思います。

そのため、プログラムで pStats クラスに問い合わせ、適切なレポートを作成し、それをメッセージング システムに保存する必要があります。

ドキュメントは、コンソールへの書き込み以外のデータを抽出する方法を示していないようです。

プロパティは有望に.stats見えますが、多くの情報を省略した 3 タプルの配列しか含まれていません。

プログラムで pStats のデータを参照するにはどうすればよいですか?

具体的には、最低限抽出したい:

  • ソースファイル/行番号
  • 累積時間
  • 独占時間
4

1 に答える 1