探针的类作用域中的段示例

本示例说明了如何在探针的类作用域中使用段。

在该示例中,探针将计算与 com.sample* 通配符模式相匹配的包中的所有类曾经创建的实例数,并在每创建了 100 个实例时进行报告。

类作用域中的段将声明一个计数器,该计数器作为 entry 段编译成的类中整型静态字段出现。该段还声明一个 fragment 类的静态初始化方法,该方法用来报告已装入探针。注意,类作用域中的段中的项将被构建到生成的探针类中,而不是构建到应用探针的类中。要将静态字段或静态初始化方法逻辑插入到应用探针的类中,请使用 staticInitializer 类型的探针段或者定义静态字段。

此探针在 Probekit 编辑器中是由下列条目定义的:
  • 类作用域中的段的 Java 代码(在树窗格中选择探针以输入此值):

    static public int entry_counter = 0;
    static int counter = 0;
    static { System.out.println("[fragmentAtClassScope sample probe has loaded.]"); }

  • 目标(要输入下列值,在树窗格中选择目标,然后单击编辑):
    • 目标类型包括
    • 包名模式com.sample*(在此处使用实际的包名。)
    • 方法名模式<init>
  • 目标(要输入下列值,在编辑窗格中单击添加,然后单击编辑):
    • 目标类型排除
    • 包名模式*
  • (在树窗格中选择以输入下列值):
    • 段类型entry
    • Java 代码

      ++counter;
      if (counter % 100 == 0)
        System.out.println("[" + counter + " instances of classes in com.sample package so far]");

反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.