# Class RecordedFrame

java.lang.Object
jdk.jfr.consumer.RecordedObject
jdk.jfr.consumer.RecordedFrame

public final class RecordedFrame extends RecordedObject
A recorded frame in a stack trace.

Since:
  9

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getBytecodeIndex()`
  Returns the bytecode index for the execution point that is represented by this recorded frame.
  `int`
  `getLineNumber()`
  Returns the line number for the execution point that is represented by this recorded frame, or `-1` if doesn't exist
  `RecordedMethod`
  `getMethod()`
  Returns the method for the execution point that is represented by this recorded frame.
  `String`
  `getType()`
  Returns the frame type for the execution point that is represented by this recorded frame (for example, `"Interpreted"`, `"JIT compiled"` or `"Inlined"`).
  `boolean`
  `isJavaFrame()`
  Returns `true` if this is a Java frame, `false` otherwise.

  ### Methods declared in class RecordedObject

  `getBoolean, getByte, getChar, getClass, getDouble, getDuration, getFields, getFloat, getInstant, getInt, getLong, getShort, getString, getThread, getValue, hasField, toString`
  Modifier and Type
  Method
  Description
  `final boolean`
  `getBoolean(String name)`
  Returns the value of a field of type `boolean`.
  `final byte`
  `getByte(String name)`
  Returns the value of a field of type `byte`.
  `final char`
  `getChar(String name)`
  Returns the value of a field of type `char`.
  `final RecordedClass`
  `getClass(String name)`
  Returns the value of a field of type `Class`.
  `final double`
  `getDouble(String name)`
  Returns the value of a field of type `double` or of another primitive type that is convertible to type `double` by a widening conversion.
  `final Duration`
  `getDuration(String name)`
  Returns the value of a timespan field.
  `List<ValueDescriptor>`
  `getFields()`
  Returns an immutable list of the fields for this object.
  `final float`
  `getFloat(String name)`
  Returns the value of a field of type `float` or of another primitive type convertible to type `float` by a widening conversion.
  `final Instant`
  `getInstant(String name)`
  Returns the value of a timestamp field.
  `final int`
  `getInt(String name)`
  Returns the value of a field of type `int` or of another primitive type that is convertible to type `int` by a widening conversion.
  `final long`
  `getLong(String name)`
  Returns the value of a field of type `long` or of another primitive type that is convertible to type `long` by a widening conversion.
  `final short`
  `getShort(String name)`
  Returns the value of a field of type `short` or of another primitive type convertible to type `short` by a widening conversion.
  `final String`
  `getString(String name)`
  Returns the value of a field of type `String`.
  `final RecordedThread`
  `getThread(String name)`
  Returns the value of a field of type `Thread`.
  `final <T> T`
  `getValue(String name)`
  Returns the value of the field with the given name.
  `boolean`
  `hasField(String name)`
  Returns `true` if a field with the given name exists, `false` otherwise.
  `final String`
  `toString()`
  Returns a textual representation of this object.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Method Details

  - ### isJavaFrame

    public boolean isJavaFrame()
    Returns `true` if this is a Java frame, `false` otherwise.

    A Java method that has a native modifier is considered a Java frame.

    Returns:
      `true` if this is a Java frame, `false` otherwise
    See Also:
      - `Modifier.isNative(int)`

  - ### getBytecodeIndex

    public int getBytecodeIndex()
    Returns the bytecode index for the execution point that is represented by this recorded frame.
    Returns:
      byte code index, or `-1` if doesn't exist

  - ### getLineNumber

    public int getLineNumber()
    Returns the line number for the execution point that is represented by this recorded frame, or `-1` if doesn't exist
    Returns:
      the line number, or `-1` if doesn't exist

  - ### getType

    public String getType()
    Returns the frame type for the execution point that is represented by this recorded frame (for example, `"Interpreted"`, `"JIT compiled"` or `"Inlined"`).
    Returns:
      the frame type, or `null` if doesn't exist

  - ### getMethod

    public RecordedMethod getMethod()
    Returns the method for the execution point that is represented by this recorded frame.
    Returns:
      the method, not `null`