APIdia Launch Partner
Top Description Interfaces Classes
module jdk.jfr

Package jdk.jfr.consumer


This package contains classes for consuming Flight Recorder data.

In the following example, the program prints a histogram of all method samples in a recording.

public static void main(String[] args) throws IOException { if (args.length != 1) { System.err.println("Must specify a recording file."); return; } RecordingFile.readAllEvents(Path.of(args[0])).stream() .filter(e -> e.getEventType().getName().equals("jdk.ExecutionSample")) .map(e -> e.getStackTrace()) .filter(s -> s != null) .map(s -> s.getFrames().getFirst()) .filter(f -> f.isJavaFrame()) .map(f -> f.getMethod()) .collect( Collectors.groupingBy(m -> m.getType().getName() + "." + m.getName() + " " + m.getDescriptor(), Collectors.counting())) .entrySet() .stream() .sorted((a, b) -> b.getValue().compareTo(a.getValue())) .forEach(e -> System.out.printf("%8d %s ", e.getValue(), e.getKey())); }
public static void main(String[] args) throws IOException {
    if (args.length != 1) {
        System.err.println("Must specify a recording file.");
        return;
    }

    RecordingFile.readAllEvents(Path.of(args[0])).stream()
        .filter(e -> e.getEventType().getName().equals("jdk.ExecutionSample"))
        .map(e -> e.getStackTrace())
        .filter(s -> s != null)
        .map(s -> s.getFrames().getFirst())
        .filter(f -> f.isJavaFrame())
        .map(f -> f.getMethod())
        .collect(
            Collectors.groupingBy(m -> m.getType().getName() + "." + m.getName() + " " + m.getDescriptor(),
            Collectors.counting()))
        .entrySet()
        .stream()
        .sorted((a, b) -> b.getValue().compareTo(a.getValue()))
        .forEach(e -> System.out.printf("%8d %s\n", e.getValue(), e.getKey()));
}

Null-handling

All methods define whether they accept or return null in the Javadoc. Typically this is expressed as "not null". If a null parameter is used where it is not allowed, a java.lang.NullPointerException is thrown. If a null parameter is passed to a method that throws other exceptions, such as java.io.IOException, the java.lang.NullPointerException takes precedence, unless the Javadoc for the method explicitly states how null is handled, i.e. by throwing java.lang.IllegalArgumentException.

Since
9

Interface Summary

Modifier and TypeInterface and Description
public interface
EventStream

Represents a stream of events.

Class Summary

Modifier and TypeClass and Description
public class
MetadataEvent

Event that contains information about event types and configurations.

public class
RecordedClass

A recorded Java type, such as a class or an interface.

public class
RecordedClassLoader

A recorded Java class loader.

public class
RecordedEvent

A recorded event.

public class
RecordedFrame

A recorded frame in a stack trace.

public class
RecordedMethod

A recorded method.

public class
RecordedObject

A complex data type that consists of one or more fields.

public class
RecordedStackTrace

A recorded stack trace.

public class
RecordedThread

A recorded thread.

public class
RecordedThreadGroup

A recorded Java thread group.

public class
RecordingFile

A recording file.

public class
RecordingStream

A recording stream produces events from the current JVM (Java Virtual Machine).