My JavaOne 2016 Sessions

This year I’ll be doing two sessions and one HoL:

Title: Java Mission Control and JFR in JDK 9: A Sneak Peek [CON1509]

In JDK 9, the JFR APIs will become supported, so you can now rely on the JFR APIs for both controlling Oracle Java Flight Recorder and introducing your own custom JFR data into the recordings. Also, with JDK 9, a new major, very different version of the Oracle Java Mission Control feature of Oracle Java SE Advanced will be released.

This session takes a sneak peek into what the new APIs for controlling the Oracle Java Flight Recorder feature will look like and provides migration guidelines from the old APIs. It also goes through some of the highlights of the completely redesigned Oracle Java Mission Control 6.0.0, such as the automatic analysis of flight recordings. A quick intro to the new bytecode instrumentation agent used internally by Oracle Java Mission Control 6 is also provided.


Title: Using Oracle Java Flight Recorder in an Autonomous Robotic Vehicle [CON1511]

This session shows how the speaker used the Oracle Java Mission Control and Oracle Java Flight Recorder features of Oracle Java SE Advanced to record large quantities of data from the sensors in a little hobby project: a small autonomous robotic vehicle running Oracle Java SE Embedded.

The session focuses on how to use Oracle Java Flight Recorder to great advantage where resources are scarce and where overhead can cause significant problems. It also discusses how to build custom integration for Oracle Java Flight Recorder, using APIs already available in Oracle’s HotSpot JDK, and how the speaker went about designing, 3-D-printing, and building the actual hardware and software.


Title: Java Mission Control 5.5 [HOL1510] (with David Buck)

This session shows how the Oracle Java Mission Control and Oracle Java Flight Recorder features of Oracle Java SE Advanced can be used to solve various commonly encountered production-time profiling and diagnostics problems. It also shows how various Oracle Java Mission Control plug-ins can be installed and put to good use to further extend the functionality of Oracle Java Mission Control.

Among other things, the session looks at
• Reducing memory pressure
• Maximizing throughput
• Reducing heap usage (heap waste analysis)


Looking forward to seeing you at JavaOne 2016! 🙂


2 Responses to "My JavaOne 2016 Sessions"

  1. Julien says:

    Sorry to directly post on your blog but I wonder if you have any news about JMC ability to open large file, and by large I mean > 50MB, everytime I try to open a recording it crashes with “”. The split.jar doesn’t work either because I suspect that one chunk is still >50MB.

    It’s a bit frustrating to not be able to open those files, they came from instances with JVM issues under load :/ Is there any other way to use those file?

  2. Marcus says:

    Sure! I open larger files than that on a regular basis. Just run on a computer with lots of ram and up the heap that is available for JMC: I think you may be encountering some other problem though, as it says the JFR file is invalid. This would explain why you can’t split them either. I have updated the splitter so that that it handles problems near the end of the recording: If that doesn’t help, the data is damaged beyond current repair. I could probably build a more sophisticated repair tool, but the big question should be how you manage to get damaged data in the first place.

    I would first make sure that I am creating the recording properly. I have, for example, seen some instances when people explicitly go in and dump ongoing profiling (time limited) recordings just before they are finished (interfering with the normal download to JMC which happens as soon as the recording is done automatically).

    Since you are getting the recordings from JVM instances under load, I am guessing your company own a Java SE Advanced license. If so, the easiest way to get on track would be to contact Oracle Support and they will help you figure out what is wrong.

Leave a Reply

Your email address will not be published.