Dynamics CRM 2011 プラグインのパフォーマンス分析
みなさん、こんにちは。
今回はプラグインのパフォーマンス分析に関するトピックをお届けします。
プラグインのリプレイ
以前プラグインのデバッグの方法をこちらの記事で紹介しました。
手順は同様ですが、今回はリプレイ機能として活用してみます。
前提 : 取引先担当者を取得するプラグインを開発しました。プラグインには
2 つのクラスが含まれており、一方は取引先担当者の全ての列を取得、
他方は名前列のみ取得するようにしています。
1. 開発したプラグインを取引先企業の更新に対して設定します。
2. こちらの記事を参考にして、プラグインのデバッグの準備を行います。
まずは getallContact に対してプロファイルを実行します。
3. 任意の取引先企業を更新します。エラーが発生するので、ファイルを
任意の場所に保存します。
4. Plugin Registration Tool より、 Replay Plug-in Execution または
Debug をクリックします。どちらも同じ画面が表示されます。
5. Profile Location に保存したエラーファイルを、Assembly Location
に開発した dll を指定します。Plug-in で正しいクラスが選択されている
ことを確認します。
6. Start Plug-in Execution をクリックします。結果に実行にかかった
時間が表示されます。
7. 次にプロファイル対象を getallContactwithNameOnly に変更します。
8. 同様の手順でエラーログ取得とリプレイを行います。
9. 実行時間が初めのものより早いことが分かります。
コンテキストの確認
プロファイルを行った際に出力されるエラーには、実際にプラグイン実行時に
システムから渡る情報が入っています。Plugin Resitration Tool で、その
中身を確認することが可能です。
プラグインのソースと Visual Studio 2010 等のデバッグ環境が無い場合に
とても便利です。
1. View Plug-in Profile をクリックします。
2. Log Location にダウンロードしたファイルを指定します。
※こちらのファイルには、実際のレコードの情報など、機密情報が
含まれていますので、取り扱いには注意してください。
3. View ボタンをクリックします。
4. データの中身がブラウザに XML 形式で表示されます。こちらを確認
することで、プラグインに引き渡される情報を確認することが可能です。
まとめ
Plugin Registration Tool のプロファイル、デバッグ、リプレイ等の機能を
利用することで、実際に処理される内容や処理にかかる時間が明確になります。
一連の処理に時間がかかる場合の切り分けに、是非ご活用ください。
- Dynamics CRM サポート 中村 憲一郎