Hi Chihiro,

Thank you for making this useful change. Your changes look good.

It would be great though if you could add a test case for this. Could you also modify the copyright year to 2017 ? One additional suggestion: The addition of the thread name makes the separator lines unaligned in the pstack/jstack --mixed cases. Like:

----------------- "Service Thread" nid=16051 -----------------
and
----------------- nid=16052 -----------------

So I am wondering if it would make sense to have the name printed out on a separate line to keep the separator lines aligned. But this is a nit, and I would leave it to you to decide on this.

Thanks,
Jini (Not a (R)eviewer)

On 6/7/2017 3:16 PM, chihiro ito wrote:
Hi all,

I changed to output Java thread name in jhsdb jstack as following.

jhsdb jstack --pid 25879
"main" nid=25884: (state = BLOCKED)

jhsdb jstack --mixed --pid 25879
----------------- "main" nid=25884 -----------------

Could you possibly review for this following small change? If review is ok, please commit this as cito.

Source:
diff --git a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java --- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java +++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java
@@ -86,6 +86,13 @@
             try {
                CFrame f = cdbg.topFrameForThread(th);
                out.print("----------------- ");
+               JavaThread jthread = (JavaThread) proxyToThread.get(th);
+               if (jthread != null) {
+                   out.print("\"");
+                   out.print(jthread.getThreadName());
+                   out.print("\" ");
+               }
+               out.print("nid=");
                out.print(th);
                out.println(" -----------------");
                while (f != null) {
diff --git a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/StackTrace.java b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/StackTrace.java --- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/StackTrace.java +++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/StackTrace.java
@@ -75,7 +75,9 @@
for (JavaThread cur = threads.first(); cur != null; cur = cur.next(), i++) {
                 if (cur.isJavaThread()) {
                     Address sp = cur.getLastJavaSP();
-                    tty.print("Thread ");
+                    tty.print("\"");
+                    tty.print(cur.getThreadName());
+                    tty.print("\" nid=");
                     cur.printThreadIDOn(tty);
                     tty.print(": (state = " + cur.getThreadState());
                     if (verbose) {

Regards,
Chihiro


Reply via email to