上一主题: 创建高级自定义跟踪器下一主题: 基于度量标准名称的参数


高级单度量标准跟踪器

指令和跟踪器将跟踪方法、类和类组。 单度量标准跟踪器将报告特定方法的特定度量标准,这是 Introscope 可跟踪的最小单位。 可通过以下多种方式创建单度量标准跟踪器:通过方法签名、通过替换关键字或者通过使用度量标准名称参数。

区别签名

可基于方法签名将跟踪器应用到方法。

要使用特定签名跟踪某个方法的单个实例,请将签名附加到使用内部方法描述符格式指定的方法名称(包含返回类型)。

例如,myMethod;[mscorlib]System.Void([mscorlib]System.Int32) 将跟踪具有 int 参数和 void 返回类型的方法实例。

基于关键字的度量标准名称替换

基于关键字的替换允许在运行时将值替换为度量标准名称。

会在运行时将跟踪器中的度量标准名称中代表实际值的参数替换为度量标准名称。 此功能可与任何指令一起使用。 下表列出了参数及其运行时替换项:

参数

运行时替换项

{method}

所跟踪方法的名称

{classname}

所跟踪类的运行时类名称

{namespacename}

所跟踪类的运行时命名空间名称

{namespaceandclassname}

所跟踪类的运行时命名空间和类名称

{assemblyname}

所跟踪程序集的名称。

{fullclassname}

报告完整的类名称(包括程序集名称)。

注意:如果 Introscope 处理某个不具有 namespace 的类,它会将 {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)"

注意:在本例中,会在 命名空间之间使用 .(句点),而不使用第一个示例中的 |(管道符号)。