PythonのデバッグツールのPy-スパイ

序文

あなたはJava言語の開発から転送されたPythonの開発者であれば、その開発効率を喜ぶかもしれない多くのことを改善しましたが、たとえば、あなたがjmapは、jstack欠場する、痛み、および運用環境で作られた他のツールがありますperfomance tuning私は前に使用しているGDBPyRasitePyFlameおよび他のツール、特にツールGDBシリーズは、かなり面倒なスタート。:ここでは、ツールをお勧めしますPY-スパイを

公式の説明を引用:

PY-スパイプログラムはPythonの試料分析装置です。それはあなたがプログラムを再起動するか、どのような方法で、プロジェクトのコードを変更することなく、全体の方法を監視し、より多くの時間を過ごすためにする領域を視覚化するPythonプログラムを表示することができます。PY-スパイのオーバーヘッドは非常に低いです:それは錆、スピードで書かれており、コンパイル済みのPythonプログラムは、同じプロセスで実行されていません。これは、PY-スパイが安全にPythonアプリケーションのチューニングは、本番環境を生成、分析に使用できることを意味します。

インストール

pip install py-spy

錆あなたが開発者であれば、あなたもインストールするには、次のコマンドを使用することができます。

cargo install py-spy

使用

PY-スパイプログラムは、既存の実行を分析(PIDを提供する)またはスクリプトを指定することができます。次のように:

py-spy --pid 12345
# 或者
py-spy -- python myprogram.py

topコマンドに似て出力:
PY-スパイトップ

また、出力性能の最適化マスターブランドングレッグリリース可視化図を生成することができFlameGraphsを
コマンド:

py-spy --flame profile.svg --pid 12345
# 或者
py-spy --flame profile.svg -- python myprogram.py

次のように出力されます。

どのようにPY-スパイ作品

Linux上でprocess_vm_readvシステムを使用してPY-スパイは、OSXの呼び出しでvm_read、呼び出しやReadProcessMemoryメモリを呼び出すWindows上のデータを直接Pythonのサンプル分析プログラムをお読みください。

おすすめ

転載: www.cnblogs.com/jcli/p/py-spy.html