====== llprof version 0.2 ドキュメント ======
====== ディレクトリ構成 ======
* pyllprof/ --- Python用プロファイリングモジュール
* setup.py --- セットアップ用スクリプト
* rrprofext/ --- Ruby用プロファイリングモジュール
* extconf.rb --- Makefile生成スクリプト
* monitor/ --- モニタプログラムのディレクトリ
* RRProf --- モニタプログラムのソースコード
* icons --- モニタプログラムで使用される画像
* rrprof_monitor.jar --- モニタプログラム本体
====== プロファイリングモジュールのコンパイル方法 ======
ビルド用のスクリプト(build_***.sh)があるので、それを使用するか参考にして
コンパイルを行ってください。
====== プロファイリングモジュールの使用方法 ======
Ruby用もPython用も対応するモジュールを読み込ませることで
実行させることができます。
===== Python用モジュール =====
本プロファイラモジュール(pyllprof)をimportしてください。
===== Ruby用モジュール =====
本プロファイラモジュール(rrprof)をrequireしてください。
一つの方法としては、環境変数RUBYOPTに-rオプションを指定して実行する方法があります。
以下に実行例を示します。
(本プロファイラ+rdocの実行例)
$ export RUBYOPT="-r rrprof"
$ rdoc
====== モニタプログラムの使用方法 ======
モニタプログラムは実行スクリプト (run_monitor.sh) を使用して起動してください。
===== プロファイリングモジュールへ接続する =====
メニューから「Connect」を選択し、プロファイリングモジュールを実行しているホストに対して接続することで
情報の表示を開始することができます。
モニタプログラムのソースコードはmonitorディレクトリ以下のRRProfにあります。
===== プロファイリングモジュールからの接続を受け付ける =====
モニタはポート12300でプロファイリングモジュールからの接続を受け付けています。
環境変数を設定することでプロファイリングもジュール側から接続することができます。
(実行例)
# リストに表示されるプログラム名はprogram1
export LLPROF_PROFILE_TARGET_NAME="program1"
# モニタは192.168.0.10で実行されている
export LLPROF_AGG_HOST="192.168.0.10"
# 10秒間隔で再接続
export LLPROF_AGG_INTERVAL="10"
python3 program1.py
===== GUIについて =====
* ツリービューは初期状態ではルートノードのみ表示されます。ノードをダブルクリックすることで子ノードを表示可能です
* 現在はツリービューが更新されない不具合がある気がします。あやしいときはツリービューでF5キーを押すと全部更新されます
====== 環境変数一覧 ======
^ 変数名 ^ ^
|LLPROF_PROFILE_TARGET_NAME |プロファイルターゲット名 |
|LLPROF_AGG_HOST |アグレッシブモード時の接続先ホスト名 |
|LLPROF_AGG_PORT |アグレッシブモード時の接続先ポート |
|LLPROF_AGG_INTERVAL |アグレッシブモード時の接続時間間隔(秒) |