Class Configuration

java.lang.Object
jdk.jfr.Configuration

public final class Configuration extends Object
A collection of settings and metadata describing the configuration.

The following example shows how the Configuration class can be used to list available configurations and how to pass a configuration object to a Recording.

public static void main(String... args) throws Exception {
    if (args.length == 0) {
        System.out.println("Configurations:");
        for (Configuration c : Configuration.getConfigurations()) {
            System.out.println("Name: " + c.getName());
            System.out.println("Label: " + c.getLabel());
            System.out.println("Description: " + c.getDescription());
            System.out.println("Provider: " + c.getProvider());
            System.out.println();
        }
    } else {
        String name = args[0];
        Configuration c = Configuration.getConfiguration(name);
        try (Recording r = new Recording(c)) {
            System.out.println("Starting recording with settings:");
            for (Map.Entry<String, String> setting : c.getSettings().entrySet()) {
                System.out.println(setting.getKey() + " = " + setting.getValue());
            }
            r.start();
        }
    }
}
Since:
9
  • Method Summary

    Modifier and Type
    Method
    Description
    create(Reader reader)
    Reads a configuration from a character stream.
    create(Path path)
    Reads a configuration from a file.
    Returns a predefined configuration.
    Returns an immutable list of predefined configurations for this Java Virtual Machine (JVM).
    Returns a textual representation of the configuration (for example, the contents of a JFC file).
    Returns a short sentence that describes the configuration (for example "Low overhead configuration safe for continuous use in production environments")
    Returns a human-readable name (for example, "Continuous" or "Profiling"}.
    Returns an identifying name (for example, "default" or "profile").
    Returns who created the configuration (for example "OpenJDK").
    Returns the settings that specify how a recording is configured.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Method Details

    • getSettings

      public Map<String,String> getSettings()
      Returns the settings that specify how a recording is configured.

      Modifying the returned Map object doesn't change the configuration.

      Returns:
      settings, not null
    • getName

      public String getName()
      Returns an identifying name (for example, "default" or "profile").
      Returns:
      the name, or null if it doesn't exist
    • getLabel

      public String getLabel()
      Returns a human-readable name (for example, "Continuous" or "Profiling"}.
      Returns:
      the label, or null if it doesn't exist
    • getDescription

      public String getDescription()
      Returns a short sentence that describes the configuration (for example "Low overhead configuration safe for continuous use in production environments")
      Returns:
      the description, or null if it doesn't exist
    • getProvider

      public String getProvider()
      Returns who created the configuration (for example "OpenJDK").
      Returns:
      the provider, or null if it doesn't exist
    • getContents

      public String getContents()
      Returns a textual representation of the configuration (for example, the contents of a JFC file).
      Returns:
      contents, or null if it doesn't exist
      See Also:
    • create

      public static Configuration create(Path path) throws IOException, ParseException
      Reads a configuration from a file.
      Parameters:
      path - the file that contains the configuration, not null
      Returns:
      the read Configuration, not null
      Throws:
      ParseException - if the file can't be parsed
      IOException - if the file can't be read
      See Also:
    • create

      public static Configuration create(Reader reader) throws IOException, ParseException
      Reads a configuration from a character stream.
      Parameters:
      reader - a Reader that provides the configuration contents, not null
      Returns:
      a configuration, not null
      Throws:
      IOException - if an I/O error occurs while trying to read contents from the Reader
      ParseException - if the file can't be parsed
    • getConfiguration

      public static Configuration getConfiguration(String name) throws IOException, ParseException
      Returns a predefined configuration.

      See getConfigurations() for available configuration names.

      Parameters:
      name - the name of the configuration (for example, "default" or "profile")
      Returns:
      a configuration, not null
      Throws:
      IOException - if a configuration with the given name does not exist, or if an I/O error occurs while reading the configuration file
      ParseException - if the configuration file can't be parsed
    • getConfigurations

      public static List<Configuration> getConfigurations()
      Returns an immutable list of predefined configurations for this Java Virtual Machine (JVM).
      Returns:
      the list of predefined configurations, not null