前のトピック: 高度なカスタム トレーサの作成次のトピック: メトリック名ベースのパラメータ


高度な単一メトリック トレーサ

ディレクティブおよびトレーサが、メソッド、クラス、およびクラス セットを追跡します。 単一メトリック トレーサでは、特定のメソッドの特定のメトリックについてレポートが実行されます。これは Introscope で追跡可能な最小の単位です。 単一メトリック トレーサは、メソッド シグネチャ、キーワードの代入、メトリック名パラメータの使用など、いくつかの方法によって作成できます。

シグネチャの区別

トレーサを、メソッド署名に基づいてメソッドに適用できます。

特定の署名を持つメソッドの単一インスタンスを追跡するには、内部メソッド記述子形式を使用して指定されたメソッド名(戻り値の型も含む)の最後に署名を付加します。

たとえば、myMethod;[mscorlib]System.Void([mscorlib]System.Int32) は、int 引数および戻り値の型 void を持つメソッドのインスタンスを追跡します。

メトリック名キーワード ベースの代入

キーワード ベースの代入では、実行時に値をメトリック名に代入できます。

トレーサ内のメトリック名のパラメータは、実行時に実際の値と置き換えられてメトリック名に代入されます。 この機能は、どのディレクティブでも使用できます。 以下の表は、パラメータおよびそれらの実行時の代入の一覧です。

パラメータ

実行時の代入

{method}

追跡されるメソッドの名前

{classname}

追跡されるクラスの実行時クラス名

{namespacename}

追跡されるクラスの実行時ネームスペース名

{namespaceandclassname}

追跡されるクラスの実行時ネームスペース名およびクラス名

{assemblyname}

追跡されるアセンブリの名前

{fullclassname}

アセンブリ名を含む完全なクラス名をレポートする

注: Introscope では、ネームスペースを持たないクラスの処理では、{namespacename} が「<Unnamed Namespace>」という文字列に置き換えられます。

キーワード ベースの代入: 例 1

.pbd ファイル内のトレーサのメトリック名が以下であるとします。

"{namespacename}|{classname}|{method}:Response Time (ms)"

また、トレーサが、myNamespace 内にある myClass の実行時クラスを持つメソッド myMethod に適用されるとします。結果のメトリック名は以下のようになります。

"myNamespace|myClass|myMethod:Response Time (ms)"
キーワード ベースの代入: 例 2

.pbd ファイルに以下のメトリック名を持つトレーサがあるとします。

"{namespaceandclassname}|{method}:Response Time (ms)"

これが例 1 と同じメソッドに適用されると、結果のメトリック名は以下のようになります。

"myNamespace.myClass|myMethod:Response Time(ms)"

注: この例では、 namespaceclass の間に、例 1 の | (パイプ記号)ではなく、.(ピリオド)が 使用されています。