SA frontends

Poonam Bajaj poonam.bajaj at oracle.com
Wed Feb 22 22:18:01 PST 2012


Hi Kris,

SA-Plugin for VisualVM uses HotspotAgent - SA interface provided by 
class sun.jvm.hotspot.HotSpotAgent. SA-Plugin uses the attach/detach 
functionality provided by this class and it uses other SA classes (e.g. 
sun.jvm.hotspot.runtime.*, sun.jvm.hotspot.ui.*) to extract and display 
data in VisualVM views.

SA-Plugin code is available in the VisualVM source base under 'plugins' 
suite. Instructions to get the code: 
http://visualvm.java.net/build.html. VisualVM is a project on java.net 
and I think members of the project having contributor role should be 
able to contribute to the project.

Thanks,
Poonam

On 2/22/2012 3:04 PM, Krystal Mok wrote:
> Hi Staffan,
>
> There's at least another frontend, the SA Plugin for Visual VM. I 
> think it only uses the BugSpotAgent for attaching/detaching, otherwise 
> it doesn't use stuff from BugSpot.
> Other tools, e.g. jstack -m, jstack -F, jmap -F, etc., are not exactly 
> SA frontends, but use the SA to implement their functionality.
>
> I use CLHSDB a lot when I poke around the internals of HotSpot. It's 
> good for its purpose, except that history support is really weird, 
> e.g. pressing up arrow give "^[[A". When I need commands not available 
> in CLHSDB yet, I can write a JavaScript file and use "jsload" in 
> CLHSDB to extend it with new commands. Example here: [1].
>
> I seldom use JSDB directly, because the command style of CLHSDB works 
> better, if the commands cover all the needs during a debugging 
> session. When writing new commands for CLHSDB, sometimes I use the 
> "jseval" command to try things out first, before actually writing them 
> into a script file. That overlaps with what JSDB does, but of course 
> prototyping in JSDB would be much nicer than in CLHSDB.
>
> On the top of my wishlist on CLHSDB, I'd wish for:
> 1. better input support (something like jline would be great)
> 2. AMD64 disassembler support (not frontend issue)
> 3. live stepping/breakpointing support (not frontend issue)
>
> If 2 and 3 is implemented, I might be able to spend more time in 
> CLHSDB, where sometimes I have to use a native debugger like gdb. But 
> these aren't frontend issue anyway. I'd be grateful for any advise on 
> how to debug a product build HotSpot with gdb instead of CLHSDB, where 
> a lot of debugging support functions are not available in HotSpot 
> itself and the symbols are inconvenient to access.
>
> On the GUI side, Poonam did a presentation on the SA Plugin in JavaOne 
> 2011. The "Future Plans" part sounds interesting. I think this plugin 
> is the most visible way to use SA for most end users. It'd be great if 
> it could be open sourced and made more extensible, say, embedding a 
> variant of CLHSDB into this plugin.
>
> Regards,
> Kris Mok
>
> [1]: https://gist.github.com/1393698
>
> On Wed, Feb 22, 2012 at 4:26 PM, Staffan Larsen 
> <staffan.larsen at oracle.com <mailto:staffan.larsen at oracle.com>> wrote:
>
>     I'm trying to figure out what the different front ends to SA are
>     and how they differ. So far I have identified the following:
>
>     HSDB - basic UI
>     CLHSDB - command line version of HSDB
>     BugSpot - improvement over HSDB ??
>     JSDB - JavaScript command line
>     SOQL - Simple Object Query Language command line
>
>     Have I missed any?
>
>     What are your experiences with these? Which ones are most used?
>     Should we maintain all of them? Can we consolidate them into one?
>     Specifically: what is the difference between HSDB and BugSpot?
>
>     I'd be happy for all and any feedback,
>     /Staffan
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20120223/e12e5569/attachment.html 


More information about the serviceability-dev mailing list