Since the Java 7 update 40 Java Flight Recorder and Mission Control are shipped with the JDK. With these tools it is possible to profile an application not only on a developer computer, but also on production. The overhead of profiling with Flight Recorder is minimal, which allows us to use the profiler on any environment. These profiling tools are relatively new and unfortunately unknown to a lot of developers. This talk will give an overview of Java Flight Recorder and Mission Control so the audience can start profiling their applications afterwards.
10. Scaling is difficult
oMemory per machine is limited
oMemory bandwidth is limited
Garbage collectionGarbage collection
Maintenance cost
We still have low quality software!
11.
12. High performance
oMinimal overhead (1-3%)
oUsable in productionoUsable in production
New in Java 7 u40
Integrated in the Hotspot JVM from the
JRockit JVM
Commercial feature for production
Free for development use
15. JMX compliant monitoring tool
Dynamically monitor and manage the JVM
Analyze recordings made by the Flight Recorder
Fully customizable dashboardsFully customizable dashboards
Java 7 u40 contains 5.2.0
Java 8 contains 5.3.0
o Minor release
o Bugfixes and incremental improvements (UI
etcetera)
o Eclipse support
24. Record and analysis tool for JVM’s
JVM events are recorded in detail
Minimal performance impactMinimal performance impact
Recording files
oJFR binary
Multiple recordings at the same time
35. Unused data structures
Data structures that reserve more
space as the default size is bigger
Objects instead of primitives
Complex collections instead of arrays
Duplicate data
36. Apply manual patch before installing plugins!!Apply manual patch before installing plugins!!Apply manual patch before installing plugins!!Apply manual patch before installing plugins!!
Remove the following lines from
<JDK>/lib/missioncontrol/configuration/org.eclips
e.equinox.simpleconfigurator/bundles.info :e.equinox.simpleconfigurator/bundles.info :
org.eclipse.equinox.log.nl_ja
org.eclipse.equinox.log.nl_zh
org.eclipse.equinox.supplement.nl_ja
org.eclipse.equinox.supplement.nl_zh
37.
38.
39. Overlap with Mission Control
Tools are part of OpenJDK
Likely to stay alongside Mission ControlLikely to stay alongside Mission Control
Development will focus on Mission
Control