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