G'Day dtrace-discuss, I saw an opportunity to demo DTrace recently, but jstack() for the Oracle JVM keeps returning incomplete stacks. I've tried a number of different JDK versions from 6 to 8, and options including libdtrace_forceload.so. Anyone know of a JDK version or workaround that does jstack() reliably?
# dtrace -n 'profile-99 /execname == "java"/ { @[jstack(100, 8000)] = count(); }' [...] org/mozilla/javascript/ScriptableObject.createSlot(Ljava/lang/String;II)Lorg/mozilla/javascript/ScriptableObject$Slot;* 0x884acce8200002da 1 sun/nio/ch/SocketChannelImpl.read(Ljava/nio/ByteBuffer;)I* 0xffffffff20007f4b 1 org/mozilla/javascript/ScriptRuntime.newObjectLiteral([Ljava/lang/Object;[Ljava/lang/Object;[ILorg/mozilla/javascript/Context;Lorg/mozilla/javascript/Scriptable;)Lorg/mozilla/javascript/Scriptable;* 0xa20000041 1 [...] A flame graph based on this output is more than 50% stacks like this. It looks a lot like omit frame pointer optimization, but there is no -XX:-omit-frame-pointer option I can find. :-) I can use other profilers, but wanted to give DTrace a shot at this. Thanks, Brendan -- http://www.brendangregg.com ------------------------------------------- dtrace-discuss Archives: https://www.listbox.com/member/archive/184261/=now RSS Feed: https://www.listbox.com/member/archive/rss/184261/25769126-e243886f Modify Your Subscription: https://www.listbox.com/member/?member_id=25769126&id_secret=25769126-8d47a7b2 Powered by Listbox: http://www.listbox.com