Hi guys, Just checking, on this section here:
// print a stack every 1 second for 5 seconds load(src + "jstack.js"); .. Is that a readable javascript stack trace or is it the same result we get from jstack? I will try to run this to see what I get.. Cheers!, -- Marcelo R. 2013/8/4 Andreas Rieber <[email protected]> > Hi Sundar, > > thanks that you had this issue still on your list. I checked it again as > it is already a few days old. There are some fixes missing in > src/share/demo/scripting/**jconsole-plugin/src/resources/**jconsole.js > > So i took your change, retested everything and added a few missing lines, > updated the readme + comments. The updated webrev is here: > > http://cr.openjdk.java.net/~**arieber/8016531/webrev.01/<http://cr.openjdk.java.net/~arieber/8016531/webrev.01/> > > > > On 02.08.13 16:55, A. Sundararajan wrote: > >> Please review >> http://cr.openjdk.java.net/~**sundar/8016531/<http://cr.openjdk.java.net/~sundar/8016531/> >> >> This fix was contributed by Andreas Rieber ( arieber ). >> >> I combined another one fix by Andreas for : >> >> 7023754 : Jconsole javascript plugin demo throws exception on >> window.print >> >> as well as that fix is to make a class 'public' and the issue is related >> anyway. >> >> Thanks >> -Sundar >> > > For those who want to test, i recorded the required steps here. > > To start the jconsole plugin: > > ./JDK_HOME/bin/jconsole -pluginpath JDK_HOME/demo/scripting/** > jconsole-plugin/jconsole-**plugin.jar > > This will start jconsole and ask for a new connection. Just connect to > jconsole itself or any other process you might have running (i use a > tomcat). If it says: "Secure connection failed...", use the insecure > connection. > > To test 7023754 click on the "Script Shell" tab (and one click in the > empty window to get the focus), then type: help() RETURN. You will see > a list of available functions. > > To test the jconsole scripts with Nashorn, copy the following lines > into the jconsole "Script Shell" panel (update your jdk8tl path): > > ------------------------------**------------------------------**---------- > > // set your jdk8tl path > var src = "/usr/local/src/jdk8tl/jdk/**src/share/demo/scripting/** > jconsole-plugin/src/scripts/"; > > // write a heapdump to /tmp > load(src + "heapdump.js"); > heapdump("/tmp/heapdump"); > print("heapdump done"); > > // prints "hello, world" > load(src + "hello.js"); > print("hello done"); > > // reset the thread count > load(src + "invoke.js"); > resetPeakThreadCount() > print("resetPeakThreadCount done"); > > // print a stack every 1 second for 5 seconds > load(src + "jstack.js"); > var t = setInterval(function () { jstack(); }, 1000); > sleep(5000); > clearInterval(t); > print("jstack done"); > > // print jtop every 1 second for 5 seconds > load(src + "jtop.js"); > var t = setInterval(function () { jtop(); }, 1000); > sleep(5000); > clearInterval(t); > print("jtop done"); > > // print sysprops every 1 seconds for 5 seconds > load(src + "sysprops.js"); > var t = setInterval(function () { sysprops(); }, 1000); > sleep(5000); > clearInterval(t); > print("sysprops done"); > > // to see some GC logs on the shell where jconsole was started > load(src + "verbose.js"); > verboseGC(true) > print("verboseGC done"); > print("all done"); > > ------------------------------**------------------------------**---------- > > That was the easy part, now you can also run this scripts with > scriptpad via jrunscript. Here how it goes: > > Start a demo with jmx remote port 1090 in a 2nd shell: > > ./JDK_HOME/bin/java -Dcom.sun.management.**jmxremote.port=1090 > -Dcom.sun.management.**jmxremote.ssl=false > -Dcom.sun.management.**jmxremote.authenticate=false > -jar JDK_HOME/demo/jfc/Font2DTest/**Font2DTest.jar > > In your 1st shell go to the scriptpad samples: > > cd JDK_HOME/sample/scripting/**scriptpad/src/resources > ./JDK_HOME/bin/jrunscript -f Main.js -f - > > In the menu use: "Tools->JMX Connect" and type "localhost:1090". > It should say "connected!". > > Now copy the following lines and hit CTRL-R to run it (update your > jdk8tl path): > > ------------------------------**------------------------------**---------- > > // set your jdk8tl path > var src = "/usr/local/src/jdk8tl/jdk/**src/share/demo/scripting/** > jconsole-plugin/src/scripts/"; > > // print a stack every 1 second for 5 seconds > load(src + "jstack.js"); > var t = setInterval(function () { jstack(print); }, 1000); > sleep(5000); > clearInterval(t); > > ------------------------------**------------------------------**---------- > > happy scripting > Andreas > > -- Marcelo Rodrigues
