Target 探针对象是将要应用探针的类和方法的说明。
Target 对象是可选的。当未指定 Target 对象时,将把探针应用于由检测引擎处理的所有类。
Target 对象允许您创建过滤规则,以便根据与包、类、方法名以及方法的特征符相匹配的模式来确定检测操作是包括还是排除方法。这些模式可以包含通配符,其中“*”将代表零个或多个字符。
如果 Target 的通配符模式与方法的包、类、名称和特征符相匹配,则类型属性将确定是检测(include)还是不检测(exclude)该方法。如果这些模式与方法的包、类、名称和特征符不匹配,则缺省情况下将检测该方法。
属性 | 描述 |
---|---|
类型 | 必需。类型属性确定是否将探针应用于目标方法。指定 include 以将探针应用于与通配符模式相匹配的类和方法,指定 exclude 则排除这些类和方法。 |
包 | 可选。指定要与类名的包部分匹配的通配符模式。例如:java.util* 将与 java.util 包和它的子包中的每个类匹配。如果未指定此属性,则缺省值为 *。 |
类名 | 可选。指定要与类名匹配的通配符模式。如果未指定此属性,则缺省值为 *。 |
方法 | 可选。指定要与方法名匹配的通配符模式。如果未指定此属性,则缺省值为 *。 |
特征符 | 可选。指定要与方法的特征符(即,一个表示方法的自变量和返回类型的字符串)匹配的通配符模式。这是方法特征符的 Java 内部格式。例如:(Ljava/lang/Object;)D 是将 Object 作为参数并返回 double 类型的方法的特征符。此通配符模式可用来区分重载方法。如果未指定此属性,则缺省值为 *。 |
注意:
<target type="include" package="." class="SomeClass" method="*" /> <target type="exclude" package="*" class="*" method="*" />这两个目标规则导致探针将全局包中的 SomeClass 类作为目标,而排除所有其它类。通过这些规则,将排除任何其它包中称为 SomeClass 的类。
<target type="include" package="com.example" className="*Proxy" method="Get*" />
包含于
Probe 对象
上级主题: Probekit 参考