Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visualize JVM information #36

Open
tzach opened this issue Sep 1, 2014 · 12 comments
Open

Visualize JVM information #36

tzach opened this issue Sep 1, 2014 · 12 comments

Comments

@tzach
Copy link
Member

tzach commented Sep 1, 2014

The new Jolokia REST API [1] provides access to all JVM MBeans, including the application (e.g. Cassandra)
A JVM Tab will allow:

  • explore all available MBean in a tree struct (JConsole like)
  • Generate a chart from each MBean

In addition it will always present a set of predefined information elements:

  • JVM version
  • Heap memory usage
  • Number of threads
  • Number of classes

[1] http://osv.io/api/swagger-ui/dist/index.html#!/jolokia.json

@dzautner
Copy link
Contributor

dzautner commented Sep 3, 2014

Is there an existing API for the Heap memory usage and # of classes?

Also, should I get the number of threads from the threads API or is there more correct way API to use for this case?

@slivne
Copy link

slivne commented Sep 3, 2014

I have asked Calle to help us out here -

He will prepare a list of mbeans that we should probe to get JVisuVM /
JConsole functionality - he also mentioned some undocumented beans that
provide additional information that we can add.

Shlomi

On Wed, Sep 3, 2014 at 3:25 PM, Lord Daniel Zautner <
[email protected]> wrote:

Is there an existing API for the Heap memory usage and # of classes?

Also, should I get the number of threads from the threads API or is there
more correct way API to use for this case?


Reply to this email directly or view it on GitHub
#36 (comment)
.

@tzach
Copy link
Member Author

tzach commented Sep 3, 2014

Is there an existing API for the Heap memory usage and # of classes?

Both are available from the JVM via JMX, and for you via the Jolokia REST wrapper.
For example, the following query for HeapMemory used

http://{{Host}}:80/jolokia/read%2Fjava.lang%3Atype%3DMemory%2FHeapMemoryUsage%2Fused

The parameter in this case is

read/java.lang:type=Memory/HeapMemoryUsage/used

Loaded Class Count is

java.lang:type=ClassLoading

source: http://jmxmonitor.sourceforge.net/jmx.html

Also, should I get the number of threads from the threads API or is there more correct way API to use > for this case?

This are two different information elements
In this scope this are Java threads, available only if JVM is running

GET os/threads return OS level threads.

@dzautner
Copy link
Contributor

dzautner commented Sep 3, 2014

I've already sent a pull request for the VisualVm functionality where I fetched all of the MBeans from the Jolokia API
mbeans

Should I only present specific MBeans and attributes?

@tzach
Copy link
Member Author

tzach commented Sep 3, 2014

I've already sent a pull request for the VisualVm functionality where I fetched all of the MBeans from the Jolokia API

Cool!

Should I only present specific MBeans and attributes?

Yes, in a similar format to the main tab, we present a list of popular attributes explicitly.

BTW, the JVM tab should be there only if there is a JVM running.

@dzautner
Copy link
Contributor

dzautner commented Sep 3, 2014

BTW, the JVM tab should be there only if there is a JVM running.

should it be "disabled" or completely gone in case there is no JVM running?

@tzach
Copy link
Member Author

tzach commented Sep 3, 2014

should it be "disabled" or completely gone in case there is no JVM running?

completely gone

@dzautner
Copy link
Contributor

dzautner commented Sep 3, 2014

completely gone

Added in the last pull request:
238cd19

@tzach
Copy link
Member Author

tzach commented Sep 3, 2014

@dzautner is this includes adding a chart for each mbean?

@dzautner
Copy link
Contributor

dzautner commented Sep 3, 2014

There's a table displaying the attributes of every MBean (you can see that in the screenshot I posted a few comments ago) if that's what you mean

@tzach
Copy link
Member Author

tzach commented Sep 3, 2014

I mean one can dynamically choose an attribute, and get a chart for it.
This can be repeated, so more attributes, from different mbeans will be visible at the same time.
Similar to how one choose trace points, and get chart for each.

@dzautner
Copy link
Contributor

dzautner commented Sep 3, 2014

I understand now. It does not include it yet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants