What are the differences between JVisualVM and Java Mission Control?
Asked Answered
S

2

68

Other than the more 'advanced' GUI from Java mission control, how are they different?

At first glance they seem to offer very similar functionality (Interpreting JMX data and Memory/CPU profiling).

However, as they are both shipped with the JDK (I'm using JDK 1.7.0_51 SE) I'm assuming there are significant differences, otherwise they would be combined into a single solution. Especially as this increases the size of the JDK significantly.

Is Java Mission Control ultimately going to replace JVisualVM in the future?

Spongioblast answered 10/5, 2014 at 12:13 Comment(2)
One tool was developed by Oracle, the other (initially) by Sun. They might converge it the future but maybe they remain individually as JVisualVM is part of Netbeans (well, it least they have overlapping parts).Smoot
hirt.se/blog/?p=364&cpage=1#comment-88Indeterminable
M
16

One important point is that Mission Control is potentially not free to use on production environments. It is free for applications running in DEV & QA and Oracle are not currently enforcing the charges for production applications (as of Nov 2014). However, their executives have made it clear this may change in time.

Microseism answered 10/7, 2014 at 23:10 Comment(8)
This doesn't appear to be true. Mission Control is considered a Commercial Feature (source, Table 1-1)...however, Section B of the License Agreement allows Commercial Features to be used for the purpose of designing, developing, and testing your Programs. Meaning you can use it for internal testing...you just can't distribute it with your own application.Jarad
Kevin - if you've downvoted this, please rescind this. I have directly asked Oracle execs this question and received the answer that: "Oracle do not currently intend to charge most users for using MC in production". That's pretty clear that "internal testing" of production apps is not covered by the license. Oracle could at any time start demanding fees from anyone using MC in production. It has nothing to do with distribution.Microseism
I don't think that's clear at all. Oracle may, of course, change their licensing terms in the future if they did want to chart for Mission Control (though it's unclear to me whether that could apply retroactively to older versions of Java). But under the current terms it is allowed, so it simply isn't true that MC is "not free to use on production applications". It would be more accurate to say that where JVisualVM is open-source, MC is not, and so Oracle reserves the right to charge for it in the future if they so choose.Jarad
Kevin - This isn't a matter of interpretation. I've had it confirmed in as many words by Oracle staff. If you choose to carry on with a different interpretation, that's your perogative. All I can tell you is that Oracle believe that the license they wrote gives them the right to charge you for prod use if they decide to.Microseism
The only real concern I have is that your answer as currently written makes it sound like anyone who wants to use MC in development must, without exception, purchase the rights to do so from Oracle. However, setting aside the licensing terms disagreement, I think we can both agree that Oracle is not currently enforcing any such requirement. I'd be more than happy to rescind my downvote if you can edit your answer to make this point clear.Jarad
Kevin - Edited. Hope that's clearer & you raise a fair point.Microseism
Note that JMC and JFR are being open sourced. By September next year they will hopefully both be in an OpenJDK near you. :)Ringler
Here is the OpenJDK project page for Mission Control: openjdk.java.net/projects/jmc. And JEP 328: Flight Recorder for its donation from Oracle to OpenJDK as well. Perhaps related: JEP 137: Diagnostic-Command FrameworkShafer
R
14

The JMX Console part of Java Mission Control is just like any other JMX console. I'm of course biased, but in my opinion it's one of the more feature rich consoles available. The more unique part of JMC is the Java Flight Recorder part.

JMC is targeting production systems, and is very careful to avoid introducing unnecessary overhead. With the Java Flight Recorder you can do production time profiling and diagnostics with an almost unmeasurable overhead.

Ringler answered 13/11, 2014 at 9:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.