2014/07/30

XPages Toolbox を使ってみる - バックエンドプロファイラー編

今回は、左から3つ目のタブにある「Backend Profiler」(バックエンドプロファイラー)についての説明になります。
操作方法は簡単です。
これからプロファイリングを始めたいときに、「Start Profiler」ボタンをクリックします。
その後、プロファイリング対象のアプリケーションを実際操作し、プロファイリング完了と思った時点で「Stop Profiler」のボタンを押します。すると、その下のビューに結果が表示されます。
また、プロファイリングが終了して結果の情報が不要になった場合に、「Remove All Documents」をクリックし、「Refresh」ボタンをクリックするとこれまでのプロファイリング結果をすべてクリアし、次のプロファイリングに備えます。

表示される結果ですが、このバックエンドプロファイラーで何がわかるかというと、XPage を操作している間に使われたバックエンドNotesクラスの
  • クラス
  • メソッド
  • 操作(Getなど)
  • コール数
  • 時間(ミリ秒)
が分かるようになっています。
上記の例では、文書(Document)のComputeWithFormメソッドで「781」ミリ秒使用したという結果が出ています。
実は今回プロファイリングしたこのXPage、ページを表示する前に、計算結果フィールドだけで約380程度のフィールドをフォームのフィールドにバインディングして「フォーム検証の実行」を指定し、初期値としてノーツのフォーム上のフィールドの省略値をそのまま計算して求めるという設定にしています。

計算結果フィールドの省略値として、ユーザー名を取得して、漢字アドレス帳から日本語名、所属部署名などをルックアップするなどページを表示する前にフィールドに値をセットする必要があるのですが、380フィールドで1秒もかからないのがわかったので(実際の経過時間は「2125」ミリ秒、約2秒)、まずは正常なパフォーマンスが得られるのではないかと推測します。

ひとつの XPage をプロファイルする際でも、部分更新(パーシャルリフレッシュ)が発生するとひとつの文書に出力するようです。

このように、Notesバックエンドクラスに対して、パフォーマンスに影響がでそうな処理(例えば、ビューを参照してループするなど)に対して、それぞれのメソッドに対して何度コールしどれぐらいの時間を消費したかを把握するのに便利なツールといえます。



0 件のコメント:

コメントを投稿