開発者ダッシュボードの使用
最終更新日: 2015年3月9日
適用対象: SharePoint Foundation 2010
この記事の内容
取得情報
ダッシュボード表示モード
開発者ダッシュボードを有効にする方法
開発者ダッシュボードを無効にする方法
開発者ダッシュボードが表示されるページ
カスタム マスター ページで開発者ダッシュボードを使用する
カスタム コードで開発者ダッシュボードを使用する
開発者ダッシュボードは、Microsoft SharePoint Foundation 2010 で導入された計器フレームワークです。ASP.NET ページ トレースの概念と似ており、開発者またはシステム管理者がページ コンポーネントに関する問題 (ダッシュボードがなければ切り離すのが非常に難しいと思われる問題) のトラブルシューティングを行う際に役立つ診断情報が示されます。たとえば、開発者は追加の SPSite オブジェクトまたは SPWeb オブジェクトを知らないうちに簡単にコードに組み込んだり、外部の SQL Server クエリを追加したりできます。
これまでは、コードのこうしたインスタンスによる追加オーバーヘッドが原因で発生するパフォーマンスの問題をデバッグするには、デバッガーをコードに接続し、SQL Server プロファイラー トレースを監視するしかありませんでした。開発者ダッシュボードを使用すると、開発者がこの種類の問題を、オブジェクト モデルを使用してプログラム的に、あるいはページ出力を確認することで視覚的に識別できます。
パフォーマンスの問題とリソースの使用状況に関する情報は統合ログ サービス (ULS) ログから入手できますが、生データの解釈には非常に時間がかかる可能性があります。開発者ダッシュボードではすべての関連情報が関連付けられているので、このような種類の問題を非常に簡単に識別できます。
取得情報
開発者ダッシュボードには、さまざまな範囲を対象にさまざまなパフォーマンス カウンターを測定する拡張可能なメカニズムが用意されています。開発者ダッシュボード内では、次のパフォーマンス カウンターを使用して、要求の各段階で使用状況およびリソース消費を監視します。
スレッドごとのカウンター
現在の要求またはタイマー ジョブの値を測定します。
スレッドの実行時間
ページによって生成された各 SQL Server クエリの数、期間、コール スタック情報、およびクエリ テキスト
各 WCF 呼び出しの数、期間、およびコール スタック情報
URL またはタイマー ジョブ名
現在のユーザー
実行開始時刻
SPMonitoredScope で囲まれたコードに対する前述の統計 (「SPMonitoredScope の使用」を参照)
前述のデータが、すべての要求またはタイマー ジョブの終了時に 2 つの場所に出力されます。たとえば、次の場所に出力されます。
ULS ログ - 指定した範囲で収集されたすべての統計が必ず ULS ログに記録されます。
開発者ダッシュボード - 要求のパフォーマンス統計をブラウザー ウィンドウで利用できます。
ダッシュボード表示モード
開発者ダッシュボードは、次のモードで表示できます。
On
On モードの場合、ダッシュボードは、既定のマスター ページを使用するすべてのページで表示できます。
OnDemand
開発者ダッシュボードが OnDemand モードに設定されている場合、ページの右上にアイコンが表示されます。このアイコンを使用すると、ユーザーがダッシュボードのオンとオフを切り替えることができます。
注意
表示モードが OnDemand に設定されている場合、ページを表示する権限を持っているすべてのユーザーがダッシュボードの出力を表示できることに注意することが重要です。
開発者ダッシュボードを有効にする方法
既定では、開発者ダッシュボードは常にオフになっています。これを表示するには、STSADM、Windows PowerShell のコマンドレット、または SharePoint Foundation オブジェクト モデルを使用して有効にする必要があります。
STSADM を使用する場合
コマンド ウィンドウを開いて %ProgramFiles%\Common Files\Microsoft Shared Debug\Web Server Extensions\14\BIN ディレクトリに移動し、必要な表示モードに応じて次のどちらかのコマンドを入力します。
Mode |
Command |
On |
stsadm -o setproperty -pn developer-dashboard -pv on |
OnDemand |
stsadm -o setproperty -pn developer-dashboard -pv ondemand |
Windows PowerShell コマンドレットを使用する場合
Mode |
Command |
On |
(Get-SPFarm).PerformanceMonitor.DeveloperDashboardLevel = ”On” |
OnDemand |
(Get-SPFarm).PerformanceMonitor.DeveloperDashboardLevel = ”OnDemand” |
開発者ダッシュボードを無効にする方法
STSADM を使用する場合
stsadm -o setproperty -pn developer-dashboard -pv off
開発者ダッシュボードが表示されるページ
有効になっている場合、開発者ダッシュボードは、既定では、SharePoint Foundation 2010 マスター ページを使用するすべてのページ、またはダッシュボードのコントロールが含まれるカスタム マスター ページを使用するすべてのページに表示されます。
カスタム マスター ページで開発者ダッシュボードを使用する
ダッシュボードを表示するには、2 つのコンポーネントが必要です。1 つは開発者ダッシュボード ランチャーで、もう 1 つはページへの出力をレンダリングするページ レンダリング コントロールです。
開発者ダッシュボード ランチャー
表示モードが OnDemand に設定されている場合、ランチャーにはランチャー アイコンが表示されます。これは、ページの任意の場所で使用できます。次の例は、ランチャーをマスター ページに含めるのに必要なマークアップを示しています。
<Sharepoint:DeveloperDashboardLauncher ID="DeveloperDashboardLauncher" href="javascript:ToggleDeveloperDashboard()" runat="server" ImageUrl="/_layouts/images/fgimg.png" Text="<%$Resources:wss,multipages_launchdevdashalt_text%>" OffsetX=0 OffsetY=222 Height=16 Width=16 />
ページ レンダリング コントロール
レンダリング コントロールは、ページ マークアップの下部に配置されています。ページ上のレンダリング コントロールの下にあるコントロールでは、メトリックは開発者ダッシュボードに報告されません。
<SharePoint:DeveloperDashboard runat="server" />
カスタム コードで開発者ダッシュボードを使用する
SPMonitoredScope クラスが導入されたことで、開発者はコードを "ラップ" して、そのコードの使用に関する統計を画面に表示できます。この情報を使用すると、エラーになる可能性があるポイント、または少なくとも、期待どおりに動作しないコンポーネントを特定できます。