Module jdk.jfr
Package jdk.jfr

Class Configuration

java.lang.Object
jdk.jfr.Configuration

public final class Configuration extends Object
一个描述配置的设置和元数据集合。

以下示例展示了如何使用Configuration类列出可用配置,并如何将配置对象传递给Recording

public static void main(String... args) throws Exception {
    if (args.length == 0) {
        System.out.println("配置:");
        for (Configuration c : Configuration.getConfigurations()) {
            System.out.println("名称: " + c.getName());
            System.out.println("标签: " + c.getLabel());
            System.out.println("描述: " + c.getDescription());
            System.out.println("提供者: " + c.getProvider());
            System.out.println();
        }
    } else {
        String name = args[0];
        Configuration c = Configuration.getConfiguration(name);
        try (Recording r = new Recording(c)) {
            System.out.println("使用以下设置开始录制:");
            for (Map.Entry<String, String> setting : c.getSettings().entrySet()) {
                System.out.println(setting.getKey() + " = " + setting.getValue());
            }
            r.start();
        }
    }
}
自 JDK 版本:
9
  • Method Details

    • getSettings

      public Map<String,String> getSettings()
      返回指定录制配置的设置。

      修改返回的Map对象不会更改配置。

      返回:
      设置,非null
    • getName

      public String getName()
      返回标识名称(例如,"default"或"profile")。
      返回:
      名称,如果不存在则为null
    • getLabel

      public String getLabel()
      返回可读的名称(例如,"连续"或"分析")。
      返回:
      标签,如果不存在则为null
    • getDescription

      public String getDescription()
      返回描述配置的简短句子(例如"低开销配置,适合在生产环境中持续使用")。
      返回:
      描述,如果不存在则为null
    • getProvider

      public String getProvider()
      返回创建配置的人(例如"OpenJDK")。
      返回:
      提供者,如果不存在则为null
    • getContents

      public String getContents()
      返回配置的文本表示(例如,JFC 文件的内容)。
      返回:
      内容,如果不存在则为null
      参见:
    • create

      public static Configuration create(Path path) throws IOException, ParseException
      从文件中读取配置。
      参数:
      path - 包含配置的文件,非null
      返回:
      读取的Configuration,非null
      抛出:
      ParseException - 如果无法解析文件
      IOException - 如果无法读取文件
      SecurityException - 如果存在安全管理器且其checkRead方法拒绝对文件的读取访问
      参见:
    • create

      public static Configuration create(Reader reader) throws IOException, ParseException
      从字符流中读取配置。
      参数:
      reader - 提供配置内容的Reader,非null
      返回:
      一个配置,非null
      抛出:
      IOException - 如果在尝试从Reader读取内容时发生 I/O 错误
      ParseException - 如果无法解析文件
    • getConfiguration

      public static Configuration getConfiguration(String name) throws IOException, ParseException
      返回预定义的配置。

      查看getConfigurations()以获取可用配置名称。

      参数:
      name - 配置的名称(例如,"default""profile"
      返回:
      一个配置,非null
      抛出:
      IOException - 如果具有给定名称的配置不存在,或者在读取配置文件时发生 I/O 错误
      ParseException - 如果无法解析配置文件
    • getConfigurations

      public static List<Configuration> getConfigurations()
      返回此 Java 虚拟机(JVM)的预定义配置的不可变列表。
      返回:
      预定义配置的列表,非null