前のトピック: URL グループの高度な名前付け手法(オプション)次のトピック: Transaction トレーサのオプション


Blame トレーサを使用した Blame ポイントのマーク付け

Introscope Blame テクノロジで.NET アプリケーションのパフォーマンスを追跡すると、アプリケーションのフロントエンドおよびバックエンドのメトリックを表示できるようになります。 この Boundary Blame と呼ばれる機能を使用すると、問題の原因をアプリケーションのフロントエンドとバックエンドに切り分けることができます。

以下のセクションでは、トレーサを使用してアプリケーションのフロントエンドおよびバックエンドに明示的にマークを付ける方法について説明します。

フロントエンドとバックエンドのメトリック情報は、アプリケーションに関する情報をアプリケーション問題切り分けマップに表示する際にも使用されます。

セクション トピック

Blame トレーサ

標準 PBD での Blame トレーサ

カスタム FrontendMarker ディレクティブ

Blame トレーサ

Introscope は、フロントエンドおよびバックエンドのメトリックをキャプチャするためのトレーサ(FrontendTracer および BackendTracer)を提供しています。 これらのトレーサは、フロントエンドおよびバックエンドに、それぞれ明示的にマークを付けます。

FrontendTracer および BackendTracer を使用して、バックエンドにアクセスするコードなど、独自のコードをインスツルメントして、Introscope がカスタム コンポーネントのメトリックをキャプチャしたり、Investigator ツリーに表示することができます。

FrontendTracer が設定されていない場合は、Blame スタックの 1 つ目のコンポーネントがデフォルト フロントエンドになります。 BackendTracer が設定されていない場合、Introscope は、バックエンドを推測します。明示的にマークが付けられているものがない場合は、クライアント ソケットを開くコンポーネントをデフォルト バックエンドとします。

特定のクラスがフロントエンドとしてマークされないようにするために、PBD パラメータ is.frontend.unless を指定することができます。 詳細については、「カスタム FrontendMarker ディレクティブ」を参照してください。

BackendTracer を使用して、Introscopeがバックエンドとして検出する項目に望ましい名前を割り当てたり、Introscopeがインスツルメントしないカスタムのソケットにマークを付けることは有益です。

FrontendTracer および BackendTracer は、平均応答時間、指定間隔あたりのカウント、並行処理、およびストールなどのメトリックを提供する BlamePointTracer のインスタンスです。 BlamePointTracer を「中間」コンポーネントに適用すれば、より細かく Blame スタックを調整できます。 ただし、BlamePointTracerには、Introscope Investigator の[間隔ごとのエラー数]メトリックはありません。

標準 PBD での Blame トレーサ

Introscope および .NET Agent で提供される 2 つの標準 PBD (dotnet.pbd および sqlagent.pbd)は、Boundary Blame 追跡を実装します。

カスタム FrontendMarker ディレクティブ

Introscope 9.0 では、PBD パラメータ is.frontend.unless が導入されました。 このパラメータを使用して、FrontendMarker(または PageInfoTracer などのサブクラス)によってインスツルメントされた一部のクラスがフロントエンド コンポーネントとしてマークされないようにすることができます。 パラメータは、絶対クラス名を記載したカンマ区切りのリストとして設定する必要があります。 これは、最初のコンポーネントが汎用のディスパッチャであり、受信した要求タイプを処理するために、特定のコンポーネントに要求を転送する場合に便利です。 そのため、2 番目のコンポーネントの方がフロントエンドにより適したマーカになります。 デフォルトは空のリストです。 PBD パラメータは動的ではありません。そのため、このパラメータの値を変更した場合は、インスツルメントされたアプリケーション サーバを再起動する必要があります。

重要: クラス名の区切り記号としては、スペースを使用せず、カンマのみを使用してください。 スペースを使用すると SetTracerParameter ディレクティブが無効になります。

パラメータ リストに指定された任意のクラスが、このパラメータを適用するトレーサによってインスツルメントされる場合、このクラスはフロントエンドとして指定されません。また、このクラスは Introscope Investigator のフロントエンド ノードの下にメトリックを生成しません。

たとえば、ASP.index_aspx クラスおよび Fib.CalculatorController クラスがパッケージ com.ABCCorp 内で PageInfoTracer という名前の FrontendMarker でインスツルメントされたフロントエンドとして扱われないようにするには、以下の PDB ディレクティブを使用します。

SetTracerParameter: PageInfoTracer is.frontend.unless ASP.index_aspx,Fib.CalculatorController