RecordedThread (Java SE 23 & JDK 23)
Description: declaration: module: jdk.jfr, package: jdk.jfr.consumer, class: RecordedThread
Keywords: jdk.jfr.consumer.RecordedThread class

# Class RecordedThread

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

public final class RecordedThread extends RecordedObject
A recorded thread.

Since:
  9

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `getId()`
  Returns a unique ID for both native threads and Java threads that can't be reused within the lifespan of the JVM.
  `String`
  `getJavaName()`
  Returns the Java thread name, or `null` if doesn't exist.
  `long`
  `getJavaThreadId()`
  Returns the Java thread ID, or `-1` if it's not a Java thread.
  `String`
  `getOSName()`
  Returns the thread name used by the operating system.
  `long`
  `getOSThreadId()`
  Returns the thread ID used by the operating system.
  `RecordedThreadGroup`
  `getThreadGroup()`
  Returns the Java thread group, if available.
  `boolean`
  `isVirtual()`
  Returns `true` if this is a virtual Thread, `false` otherwise.

  ### Methods declared in class jdk.jfr.consumer.RecordedObject

  `getBoolean, getByte, getChar, getClass, getDouble, getDuration, getFields, getFloat, getInstant, getInt, getLong, getShort, getString, getThread, getValue, hasField, toString`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Method Details

  - ### getOSName

    public String getOSName()
    Returns the thread name used by the operating system.
    Returns:
      the OS thread name, or `null` if doesn't exist

  - ### getOSThreadId

    public long getOSThreadId()
    Returns the thread ID used by the operating system.
    Returns:
      the OS thread ID, or `-1` if doesn't exist

  - ### getThreadGroup

    public RecordedThreadGroup getThreadGroup()
    Returns the Java thread group, if available.
    Returns:
      the thread group, or `null` if doesn't exist

  - ### getJavaName

    public String getJavaName()
    Returns the Java thread name, or `null` if doesn't exist.

    Returns `java.lang.Thread.getName()` if the thread has a Java representation. `null` otherwise.

    Returns:
      the Java thread name, or `null` if doesn't exist

  - ### getJavaThreadId

    public long getJavaThreadId()
    Returns the Java thread ID, or `-1` if it's not a Java thread.
    Returns:
      the Java thread ID, or `-1` if it's not a Java thread
    See Also:
      - `Thread.threadId()`

  - ### getId

    public long getId()
    Returns a unique ID for both native threads and Java threads that can't be reused within the lifespan of the JVM.

    See `getJavaThreadId()` for the ID that is returned by `java.lang.Thread.threadId()`.

    See `getOSThreadId()` for the ID that is returned by the operating system.

    Returns:
      a unique ID for the thread

  - ### isVirtual

    public boolean isVirtual()
    Returns `true` if this is a virtual Thread, `false` otherwise.
    Returns:
      `true` if this is a virtual Thread, `false` otherwise
    Since:
      21