RFR(S): 8200720: Print accumulated number of allocated bytes in thread dump

Haug, Gunter gunter.haug at sap.com
Thu Apr 5 10:28:19 UTC 2018


Hi,

can I please have a review and a sponsor for the following enhancement:

http://cr.openjdk.java.net/~ghaug/webrevs/8200720
https://bugs.openjdk.java.net/browse/JDK-8200720

We at SAP have extended the thread dumps (obtained by jstack or jcmd) by several fields providing thread specific information. These extensions are quite popular with our support team. With some knowledge of the architecture of the application, they often allow for quick and simple diagnosis of a running system. Therefore we would like to contribute these enhancements.

I took the quite simple accumulated number of bytes allocated by a thread as an example. This only works with TLAB active. Provided it is known how the application should behave, a misbehaving thread can identified easily.

There is no measurable overhead for this enhancement. However, it may be a problem that the format of the output is changed. Tools parsing the output may have to be changed.

Here is an example of the output generated:

---------------------------------------------------------
"main" #1 prio=5 os_prio=31 allocated=243048448B tid=0x00007fca98000800 nid=0x1d03 waiting on condition  [0x0000000109baa000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(java.base/Native Method)
               ...
---------------------------------------------------------

As mentioned above, we have a whole bunch of other enhancements to the thread dump similar to this one and would be willing to contribute them if there is any interest.

Thanks and best regards,
Gunter



More information about the hotspot-dev mailing list