< prev index next >

src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedThread.java

Print this page

  9  * by Oracle in the LICENSE file that accompanied this code.
 10  *
 11  * This code is distributed in the hope that it will be useful, but WITHOUT
 12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 14  * version 2 for more details (a copy is included in the LICENSE file that
 15  * accompanied this code).
 16  *
 17  * You should have received a copy of the GNU General Public License version
 18  * 2 along with this work; if not, write to the Free Software Foundation,
 19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 20  *
 21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 22  * or visit www.oracle.com if you need additional information or have any
 23  * questions.
 24  */
 25 
 26 package jdk.jfr.consumer;
 27 
 28 import jdk.jfr.internal.consumer.ObjectContext;

 29 
 30 /**
 31  * A recorded thread.
 32  *
 33  * @since 9
 34  */
 35 public final class RecordedThread extends RecordedObject {
 36     private final long uniqueId;
 37 
 38     // package private
 39     RecordedThread(ObjectContext objectContext, long id, Object[] values) {
 40         super(objectContext, values);
 41         this.uniqueId = id;
 42     }
 43 
 44     /**
 45      * Returns the thread name used by the operating system.
 46      *
 47      * @return the OS thread name, or {@code null} if doesn't exist
 48      */

 86      *
 87      * @return the Java thread ID, or {@code -1} if it's not a Java thread
 88      */
 89     public long getJavaThreadId() {
 90         Long l = getTyped("javaThreadId", Long.class, -1L);
 91         return l.longValue();
 92     }
 93 
 94     /**
 95      * Returns a unique ID for both native threads and Java threads that can't be
 96      * reused within the lifespan of the JVM.
 97      * <p>
 98      * See {@link #getJavaThreadId()} for the ID that is returned by
 99      * {@code java.lang.Thread.getId()}
100      *
101      * @return a unique ID for the thread
102      */
103     public long getId() {
104         return uniqueId;
105     }











106 }

  9  * by Oracle in the LICENSE file that accompanied this code.
 10  *
 11  * This code is distributed in the hope that it will be useful, but WITHOUT
 12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 14  * version 2 for more details (a copy is included in the LICENSE file that
 15  * accompanied this code).
 16  *
 17  * You should have received a copy of the GNU General Public License version
 18  * 2 along with this work; if not, write to the Free Software Foundation,
 19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 20  *
 21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 22  * or visit www.oracle.com if you need additional information or have any
 23  * questions.
 24  */
 25 
 26 package jdk.jfr.consumer;
 27 
 28 import jdk.jfr.internal.consumer.ObjectContext;
 29 import jdk.internal.javac.PreviewFeature;
 30 
 31 /**
 32  * A recorded thread.
 33  *
 34  * @since 9
 35  */
 36 public final class RecordedThread extends RecordedObject {
 37     private final long uniqueId;
 38 
 39     // package private
 40     RecordedThread(ObjectContext objectContext, long id, Object[] values) {
 41         super(objectContext, values);
 42         this.uniqueId = id;
 43     }
 44 
 45     /**
 46      * Returns the thread name used by the operating system.
 47      *
 48      * @return the OS thread name, or {@code null} if doesn't exist
 49      */

 87      *
 88      * @return the Java thread ID, or {@code -1} if it's not a Java thread
 89      */
 90     public long getJavaThreadId() {
 91         Long l = getTyped("javaThreadId", Long.class, -1L);
 92         return l.longValue();
 93     }
 94 
 95     /**
 96      * Returns a unique ID for both native threads and Java threads that can't be
 97      * reused within the lifespan of the JVM.
 98      * <p>
 99      * See {@link #getJavaThreadId()} for the ID that is returned by
100      * {@code java.lang.Thread.getId()}
101      *
102      * @return a unique ID for the thread
103      */
104     public long getId() {
105         return uniqueId;
106     }
107 
108     /**
109      * {@return {@code true} if this is a virtual Thread, {@code false} otherwise}
110      *
111      * @since 99
112      */
113     @PreviewFeature(feature = PreviewFeature.Feature.VIRTUAL_THREADS)
114     public boolean isVirtual() {
115         return getTyped("isVirtual", Boolean.class, Boolean.FALSE);
116     }
117 
118 }
< prev index next >