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 */
96
97 /**
98 * Returns a unique ID for both native threads and Java threads that can't be
99 * reused within the lifespan of the JVM.
100 * <p>
101 * See {@link #getJavaThreadId()} for the ID that is returned by
102 * {@code java.lang.Thread.threadId()}.
103 * <p>
104 * See {@link #getOSThreadId()} for the ID that is returned by
105 * the operating system.
106 *
107 * @return a unique ID for the thread
108 */
109 public long getId() {
110 return uniqueId;
111 }
112
113 /**
114 * {@return {@code true} if this is a virtual Thread, {@code false} otherwise}
115 *
116 * @since 19
117 */
118 @PreviewFeature(feature = PreviewFeature.Feature.VIRTUAL_THREADS, reflective = true)
119 public boolean isVirtual() {
120 return getTyped("virtual", Boolean.class, Boolean.FALSE);
121 }
122
123 }
|
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 */
95
96 /**
97 * Returns a unique ID for both native threads and Java threads that can't be
98 * reused within the lifespan of the JVM.
99 * <p>
100 * See {@link #getJavaThreadId()} for the ID that is returned by
101 * {@code java.lang.Thread.threadId()}.
102 * <p>
103 * See {@link #getOSThreadId()} for the ID that is returned by
104 * the operating system.
105 *
106 * @return a unique ID for the thread
107 */
108 public long getId() {
109 return uniqueId;
110 }
111
112 /**
113 * {@return {@code true} if this is a virtual Thread, {@code false} otherwise}
114 *
115 * @since 21
116 */
117 public boolean isVirtual() {
118 return getTyped("virtual", Boolean.class, Boolean.FALSE);
119 }
120
121 }
|