SlideShare a Scribd company logo
1 of 32
1

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Production Time Profiling
Out of the Box
Marcus Hirt
Consulting Member of Technical Staff
Program Agenda
 Introduction to Mission Control
 Convergence Status

 Brief Look at the JMX Console
 Java Flight Recorder

3

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
 Experimental Plug-ins
 Future

 Resources

4

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.

5

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java Mission Control Overview
The new JDK profiling and diagnostics tools platform
 A tools suite for production use (fine in development too)
– Basic monitoring
– Production time profiling and diagnostics

 Focus on low overhead
– Built into the JVM
– Already available runtime information
– High performance implementation
– More details during the Flight Recorder Tutorial

6

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
History of Mission Control
JRockit Tooling
 The very first JVM management console
 The JRockit Runtime Analyzer
– Mission Control 2
– Eclipse Based

 The Latency Analyzer Tool (LAT)
 JRockit Flight Recorder

7

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JVM Convergence
Oracle + Sun
 JRockit & HotSpot features to merge
 Use HotSpot as base
 Mission Control for HotSpot
 Now released with 7u40!
 Unfortunately named 5.2.0

It’s really a 1.0.0 release…

8

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JVM Convergence
 JRockit + Hotspot = Best of Breed JVM
– JCMD (JMX access)

(8)

– Built-in Flight Recorder (engine only)

(7u4)

– Flight Recorder Event Parity

(7u40)

– On-line Heap Analysis
– Native Memory Tracking (JMX access)
– Soft Real-Time GC
– No Perm-Gen

(8)

– Compiler Optimizations
– Improved JMX Agent & JDP
9

– …

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

(7u40)
JVM Convergence
 JRockit + Hotspot = Best of Breed JVM
– JCMD (JMX access)

(8)

– Built-in Flight Recorder (engine only)

(7u4)

– Flight Recorder Event Parity

(7u40)

– On-line Heap Analysis
– Native Memory Tracking

Used by Mission Control

– Soft Real-Time GC
– No Perm-Gen

(8)

– Compiler Optimizations
– Improved JMX Agent & JDP
10

– …

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

(7u40)
Java Mission Control Toolset
(As delivered in the JDK 7u40 release)
 JMX Console
– For monitoring running Java processes in real time
– Monitoring of a few select key indicators
– The implementation in JMC is quite good!

 Java Flight Recorder
– Analogous to a data flight recorder (DFR) in a modern aircraft
– Profiling of running production systems!

11

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Supported Platforms
Supported Platforms

 Client
– Windows, Linux [x86,x64], MacOSX [x64]
– Building for Solaris x86 and Sparc – not distributed, nor supported

 Server
– Windows, Linux [x86,x64], MacOSX [x64], Solaris [x86,x64,SPARC]

– For OS version specifics, see the 7u40 supported platforms.

12

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JMC
INSTALLATION
AND USAGE

13

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JMC installation
 JMC stand alone client
– Simply download and install the JDK (>=7u40)

 Eclipse version
– Install from update site on OTN:
https://download.oracle.com/technology/products/missioncontrol/updatesites/base/5.2.0/eclipse/

14

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JMC installation, experimental plug-ins
 Two classes of experimental plug-ins
– Features we think may be useful, but want feedback on
– Features not necessarily useful for J2SE users

 Already configured in the stand alone client
– Choose Help | Install New Software…

 Eclipse version
– Install from update site on OTN:
https://download.oracle.com/technology/products/missioncontrol/updatesites/experimental/5.2.0/eclipse/

 Note that experimental plug-ins are:
– Not as thoroughly tested as JMC base
– Not supported
15

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Starting the JMC client
 Just double-click on the launcher in bin

 Starting from the command line is useful for trouble shooting:

jmc –consoleLog –debug 2>&1 | more
 More info on http://hirt.se/blog/?p=281

 The logging settings file (in java.util.logging format) can be specified

from the preferences
– Window | Preferences | Java Mission Control | Logging Settings File

16

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Starting the server
 To be able to access Flight Recorder
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

 Not dynamically enabled like in JRockit (yet)
 There are plenty of command line options for controlling JFR
– More on this in the Tutorial
– Some examples can be found on http://hirt.se/blog

17

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Starting the Management Agent
For remote access

 Use the com.sun.management.jmxremote properties as normal
http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html

 Don’t forget – rmi registry and server port can be set to the same

port – good for tunneling! (>=7u4)
com.sun.management.jmxremote.rmi.port
 To broadcast the presence of the agent on the network (7u40):

com.sun.management.jmxremote.autodiscovery=true
com.sun.management.jdp.name=mygroup/MyJVM (optional)
 Sometimes RMI will get the hostname wrong:
java.rmi.server.hostname=<hostname client should use>

18

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
TOOLS
WALK-THROUGH

19

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
The JMX Console
Highlights

 Simple but feature rich JMX Console
– JConsole on steroids

 Real time monitoring of key indicators
 Triggers
– Simple rules engine
– User can provide custom actions

 Various experimental plug-ins
– Coherence
– JConsole plug-in support
– …
20

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JMX CONSOLE
DEMO

21

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Flight Recorder
Highlights

 High performance JVM event recorder
 Produces binary recordings
 Recordings contain runtime profile information
 The recorder can be running continuously
– Whenever something happens, the data can

be dumped
– A bit like having a ”black box” for the JVM

 Recordings are self describing and self contained
 More on the Flight Recorder in the tutorial tomorrow

22

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
FLIGHT
RECORDER
DEMO

23

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Experimental Plugins
Downloadable from within Mission Control

 WLS plug-in –> tutorial tomorrow
 DTrace plug-in
– Extended DScript language to produce self describing events
– Visualization similar to Flight Recorder

 JOverflow
– Tool for analyzing heap waste (empty/sparse collections)
– Uses hprof dumps
– First stab at using Java FX for visualization in a JMC plug-in

24

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
DTRACE DEMO

25

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JOVERFLOW
DEMO

26

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java Mission Control Future

 Currently working on 5.3.0
– Will be released with JDK 8 and a later 7 update
– Improved JMX Console (Remote Diagnostic Commands and more)
– Improved content type handling and formatting
– 5.3.0 almost feature complete

 Also working on 6.0.0
– Automatic analysis of flight recordings

27

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Some Java Mission Control Resources
Homepage:
http://oracle.com/missioncontrol
Twitter:
@javamissionctrl
@hirt

Blog:
http://hirt.se/blog

Facebook (not kidding!):
http://www.facebook.com/pages/Java-Mission-Control/275169442493206

28

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Shameless Book Plug
Oracle JRockit: The Definitive Guide

29

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
“It's an invaluable piece of work.”
“I managed to do in one day what I've failed to do in 2+
weeks using <profiling tool> and <another profiling tool>.”
Maurizio Cimadamore
Ex Lang Tools,
Oracle

30

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Graphic Section Divider

31

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
32

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

p2, modular provisioning for OSGi
p2, modular provisioning for OSGip2, modular provisioning for OSGi
p2, modular provisioning for OSGiPascal Rapicault
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2Pascal Rapicault
 
IBM Health Center Details
IBM Health Center DetailsIBM Health Center Details
IBM Health Center DetailsRohit Kelapure
 
What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouJohn Pape
 
Alex Honor - Devops Toolchain
Alex Honor - Devops ToolchainAlex Honor - Devops Toolchain
Alex Honor - Devops ToolchaindevopsdayUSA2010
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production EnvironmentsBruno Borges
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceAMD Developer Central
 
Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitPascal Rapicault
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...gree_tech
 
Fine-grained fault tolerance using device checkpoints
Fine-grained fault tolerance using device checkpointsFine-grained fault tolerance using device checkpoints
Fine-grained fault tolerance using device checkpointsasimkadav
 
Briforum2012 advanced appv-sequencing
Briforum2012 advanced appv-sequencingBriforum2012 advanced appv-sequencing
Briforum2012 advanced appv-sequencingKevin Kaminski
 

What's hot (12)

p2, modular provisioning for OSGi
p2, modular provisioning for OSGip2, modular provisioning for OSGi
p2, modular provisioning for OSGi
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2
 
IBM Health Center Details
IBM Health Center DetailsIBM Health Center Details
IBM Health Center Details
 
What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell You
 
Jnode
JnodeJnode
Jnode
 
Alex Honor - Devops Toolchain
Alex Honor - Devops ToolchainAlex Honor - Devops Toolchain
Alex Honor - Devops Toolchain
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production Environments
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop Intelligence
 
Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profit
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
 
Fine-grained fault tolerance using device checkpoints
Fine-grained fault tolerance using device checkpointsFine-grained fault tolerance using device checkpoints
Fine-grained fault tolerance using device checkpoints
 
Briforum2012 advanced appv-sequencing
Briforum2012 advanced appv-sequencingBriforum2012 advanced appv-sequencing
Briforum2012 advanced appv-sequencing
 

Viewers also liked

Connecting with Consumers through Search
Connecting with Consumers through SearchConnecting with Consumers through Search
Connecting with Consumers through SearchEvolve Digital Labs
 
How Cool Brands Stay Hot at ACAM VMVM
How Cool Brands Stay Hot at ACAM VMVMHow Cool Brands Stay Hot at ACAM VMVM
How Cool Brands Stay Hot at ACAM VMVMInSites on Stage
 
Presentation at ZSJ 2013 by Shigehiro Kuraku
Presentation at ZSJ 2013 by Shigehiro KurakuPresentation at ZSJ 2013 by Shigehiro Kuraku
Presentation at ZSJ 2013 by Shigehiro Kurakucdb_gras
 
Is Your Hospital Website Patient-Centric?
Is Your Hospital Website Patient-Centric?Is Your Hospital Website Patient-Centric?
Is Your Hospital Website Patient-Centric?Evolve Digital Labs
 
Screenshot Präsentation Feed Engine
Screenshot Präsentation Feed EngineScreenshot Präsentation Feed Engine
Screenshot Präsentation Feed EngineFeed Engine
 
Agent Banking: Future-proofing Investments with Mobile Solutions
Agent Banking: Future-proofing Investments with Mobile SolutionsAgent Banking: Future-proofing Investments with Mobile Solutions
Agent Banking: Future-proofing Investments with Mobile SolutionsMistral Mobile
 
Finding your Organization’s Digital Pulse: Leveraging Your Web Site as a Busi...
Finding your Organization’s Digital Pulse: Leveraging Your Web Site as a Busi...Finding your Organization’s Digital Pulse: Leveraging Your Web Site as a Busi...
Finding your Organization’s Digital Pulse: Leveraging Your Web Site as a Busi...Evolve Digital Labs
 
LOGISTICA PARA EL ALMACENAMIENTO Y MANEJO DE MATERIALES E INSUMOS DE LOS PRO...
LOGISTICA PARA EL ALMACENAMIENTO Y MANEJO  DE MATERIALES E INSUMOS DE LOS PRO...LOGISTICA PARA EL ALMACENAMIENTO Y MANEJO  DE MATERIALES E INSUMOS DE LOS PRO...
LOGISTICA PARA EL ALMACENAMIENTO Y MANEJO DE MATERIALES E INSUMOS DE LOS PRO...dianagomezsantacoloma
 
I Ciclo de Talleres Creativos para la Igualdad
I Ciclo de Talleres Creativos para la IgualdadI Ciclo de Talleres Creativos para la Igualdad
I Ciclo de Talleres Creativos para la IgualdadUniversidad de Sevilla
 

Viewers also liked (19)

2014 2015-Solvang Annual Report
2014 2015-Solvang Annual Report2014 2015-Solvang Annual Report
2014 2015-Solvang Annual Report
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
Company law
Company lawCompany law
Company law
 
Book bulding process
Book bulding processBook bulding process
Book bulding process
 
Company management
Company managementCompany management
Company management
 
Connecting with Consumers through Search
Connecting with Consumers through SearchConnecting with Consumers through Search
Connecting with Consumers through Search
 
How Cool Brands Stay Hot at ACAM VMVM
How Cool Brands Stay Hot at ACAM VMVMHow Cool Brands Stay Hot at ACAM VMVM
How Cool Brands Stay Hot at ACAM VMVM
 
Presentation at ZSJ 2013 by Shigehiro Kuraku
Presentation at ZSJ 2013 by Shigehiro KurakuPresentation at ZSJ 2013 by Shigehiro Kuraku
Presentation at ZSJ 2013 by Shigehiro Kuraku
 
Is Your Hospital Website Patient-Centric?
Is Your Hospital Website Patient-Centric?Is Your Hospital Website Patient-Centric?
Is Your Hospital Website Patient-Centric?
 
Cesc limited
Cesc limitedCesc limited
Cesc limited
 
Screenshot Präsentation Feed Engine
Screenshot Präsentation Feed EngineScreenshot Präsentation Feed Engine
Screenshot Präsentation Feed Engine
 
Agent Banking: Future-proofing Investments with Mobile Solutions
Agent Banking: Future-proofing Investments with Mobile SolutionsAgent Banking: Future-proofing Investments with Mobile Solutions
Agent Banking: Future-proofing Investments with Mobile Solutions
 
Finding your Organization’s Digital Pulse: Leveraging Your Web Site as a Busi...
Finding your Organization’s Digital Pulse: Leveraging Your Web Site as a Busi...Finding your Organization’s Digital Pulse: Leveraging Your Web Site as a Busi...
Finding your Organization’s Digital Pulse: Leveraging Your Web Site as a Busi...
 
Kinds of companies
Kinds of companiesKinds of companies
Kinds of companies
 
equity-shares-ppt
equity-shares-pptequity-shares-ppt
equity-shares-ppt
 
Importance of hrm
Importance of hrmImportance of hrm
Importance of hrm
 
Isf faq
Isf faqIsf faq
Isf faq
 
LOGISTICA PARA EL ALMACENAMIENTO Y MANEJO DE MATERIALES E INSUMOS DE LOS PRO...
LOGISTICA PARA EL ALMACENAMIENTO Y MANEJO  DE MATERIALES E INSUMOS DE LOS PRO...LOGISTICA PARA EL ALMACENAMIENTO Y MANEJO  DE MATERIALES E INSUMOS DE LOS PRO...
LOGISTICA PARA EL ALMACENAMIENTO Y MANEJO DE MATERIALES E INSUMOS DE LOS PRO...
 
I Ciclo de Talleres Creativos para la Igualdad
I Ciclo de Talleres Creativos para la IgualdadI Ciclo de Talleres Creativos para la Igualdad
I Ciclo de Talleres Creativos para la Igualdad
 

Similar to Production Time Profiling Out of the Box

Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Shaun Smith
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllThomas Wuerthinger
 
JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best PracticesDavid Delabassee
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by OracleAkash Pramanik
 
Getting Started with JDK Mission Control
Getting Started with JDK Mission ControlGetting Started with JDK Mission Control
Getting Started with JDK Mission ControlMarcus Hirt
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013Martin Fousek
 
TechEvent Graal(VM) Performance Interoperability
TechEvent Graal(VM) Performance InteroperabilityTechEvent Graal(VM) Performance Interoperability
TechEvent Graal(VM) Performance InteroperabilityTrivadis
 
Java mission control and java flight recorder
Java mission control and java flight recorderJava mission control and java flight recorder
Java mission control and java flight recorderWolfgang Weigend
 
Monitoring and Troubleshooting Tools in Java 9
Monitoring and Troubleshooting Tools in Java 9Monitoring and Troubleshooting Tools in Java 9
Monitoring and Troubleshooting Tools in Java 9Poonam Bajaj Parhar
 
Batch Applications for the Java Platform
Batch Applications for the Java PlatformBatch Applications for the Java Platform
Batch Applications for the Java PlatformSivakumar Thyagarajan
 
Diagnosing Your Application on the JVM
Diagnosing Your Application on the JVMDiagnosing Your Application on the JVM
Diagnosing Your Application on the JVMStaffan Larsen
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesMert Çalışkan
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introductionvstorm83
 
GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOFglassfish
 

Similar to Production Time Profiling Out of the Box (20)

Java Cloud and Container Ready
Java Cloud and Container ReadyJava Cloud and Container Ready
Java Cloud and Container Ready
 
Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
 
JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best Practices
 
Troubleshooting Tools In JDK
Troubleshooting Tools In JDKTroubleshooting Tools In JDK
Troubleshooting Tools In JDK
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
JVMs in Containers
JVMs in ContainersJVMs in Containers
JVMs in Containers
 
Getting Started with JDK Mission Control
Getting Started with JDK Mission ControlGetting Started with JDK Mission Control
Getting Started with JDK Mission Control
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
 
TechEvent Graal(VM) Performance Interoperability
TechEvent Graal(VM) Performance InteroperabilityTechEvent Graal(VM) Performance Interoperability
TechEvent Graal(VM) Performance Interoperability
 
Java mission control and java flight recorder
Java mission control and java flight recorderJava mission control and java flight recorder
Java mission control and java flight recorder
 
Monitoring and Troubleshooting Tools in Java 9
Monitoring and Troubleshooting Tools in Java 9Monitoring and Troubleshooting Tools in Java 9
Monitoring and Troubleshooting Tools in Java 9
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
 
Batch Applications for the Java Platform
Batch Applications for the Java PlatformBatch Applications for the Java Platform
Batch Applications for the Java Platform
 
Diagnosing Your Application on the JVM
Diagnosing Your Application on the JVMDiagnosing Your Application on the JVM
Diagnosing Your Application on the JVM
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
 
GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOF
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Production Time Profiling Out of the Box

  • 1. 1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 2. Production Time Profiling Out of the Box Marcus Hirt Consulting Member of Technical Staff
  • 3. Program Agenda  Introduction to Mission Control  Convergence Status  Brief Look at the JMX Console  Java Flight Recorder 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 4. Program Agenda  Experimental Plug-ins  Future  Resources 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 5. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 6. Java Mission Control Overview The new JDK profiling and diagnostics tools platform  A tools suite for production use (fine in development too) – Basic monitoring – Production time profiling and diagnostics  Focus on low overhead – Built into the JVM – Already available runtime information – High performance implementation – More details during the Flight Recorder Tutorial 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 7. History of Mission Control JRockit Tooling  The very first JVM management console  The JRockit Runtime Analyzer – Mission Control 2 – Eclipse Based  The Latency Analyzer Tool (LAT)  JRockit Flight Recorder 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 8. JVM Convergence Oracle + Sun  JRockit & HotSpot features to merge  Use HotSpot as base  Mission Control for HotSpot  Now released with 7u40!  Unfortunately named 5.2.0 It’s really a 1.0.0 release… 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 9. JVM Convergence  JRockit + Hotspot = Best of Breed JVM – JCMD (JMX access) (8) – Built-in Flight Recorder (engine only) (7u4) – Flight Recorder Event Parity (7u40) – On-line Heap Analysis – Native Memory Tracking (JMX access) – Soft Real-Time GC – No Perm-Gen (8) – Compiler Optimizations – Improved JMX Agent & JDP 9 – … Copyright © 2013, Oracle and/or its affiliates. All rights reserved. (7u40)
  • 10. JVM Convergence  JRockit + Hotspot = Best of Breed JVM – JCMD (JMX access) (8) – Built-in Flight Recorder (engine only) (7u4) – Flight Recorder Event Parity (7u40) – On-line Heap Analysis – Native Memory Tracking Used by Mission Control – Soft Real-Time GC – No Perm-Gen (8) – Compiler Optimizations – Improved JMX Agent & JDP 10 – … Copyright © 2013, Oracle and/or its affiliates. All rights reserved. (7u40)
  • 11. Java Mission Control Toolset (As delivered in the JDK 7u40 release)  JMX Console – For monitoring running Java processes in real time – Monitoring of a few select key indicators – The implementation in JMC is quite good!  Java Flight Recorder – Analogous to a data flight recorder (DFR) in a modern aircraft – Profiling of running production systems! 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 12. Supported Platforms Supported Platforms  Client – Windows, Linux [x86,x64], MacOSX [x64] – Building for Solaris x86 and Sparc – not distributed, nor supported  Server – Windows, Linux [x86,x64], MacOSX [x64], Solaris [x86,x64,SPARC] – For OS version specifics, see the 7u40 supported platforms. 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 13. JMC INSTALLATION AND USAGE 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 14. JMC installation  JMC stand alone client – Simply download and install the JDK (>=7u40)  Eclipse version – Install from update site on OTN: https://download.oracle.com/technology/products/missioncontrol/updatesites/base/5.2.0/eclipse/ 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 15. JMC installation, experimental plug-ins  Two classes of experimental plug-ins – Features we think may be useful, but want feedback on – Features not necessarily useful for J2SE users  Already configured in the stand alone client – Choose Help | Install New Software…  Eclipse version – Install from update site on OTN: https://download.oracle.com/technology/products/missioncontrol/updatesites/experimental/5.2.0/eclipse/  Note that experimental plug-ins are: – Not as thoroughly tested as JMC base – Not supported 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 16. Starting the JMC client  Just double-click on the launcher in bin  Starting from the command line is useful for trouble shooting: jmc –consoleLog –debug 2>&1 | more  More info on http://hirt.se/blog/?p=281  The logging settings file (in java.util.logging format) can be specified from the preferences – Window | Preferences | Java Mission Control | Logging Settings File 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 17. Starting the server  To be able to access Flight Recorder -XX:+UnlockCommercialFeatures -XX:+FlightRecorder  Not dynamically enabled like in JRockit (yet)  There are plenty of command line options for controlling JFR – More on this in the Tutorial – Some examples can be found on http://hirt.se/blog 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 18. Starting the Management Agent For remote access  Use the com.sun.management.jmxremote properties as normal http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html  Don’t forget – rmi registry and server port can be set to the same port – good for tunneling! (>=7u4) com.sun.management.jmxremote.rmi.port  To broadcast the presence of the agent on the network (7u40): com.sun.management.jmxremote.autodiscovery=true com.sun.management.jdp.name=mygroup/MyJVM (optional)  Sometimes RMI will get the hostname wrong: java.rmi.server.hostname=<hostname client should use> 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 19. TOOLS WALK-THROUGH 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 20. The JMX Console Highlights  Simple but feature rich JMX Console – JConsole on steroids  Real time monitoring of key indicators  Triggers – Simple rules engine – User can provide custom actions  Various experimental plug-ins – Coherence – JConsole plug-in support – … 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 21. JMX CONSOLE DEMO 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 22. Flight Recorder Highlights  High performance JVM event recorder  Produces binary recordings  Recordings contain runtime profile information  The recorder can be running continuously – Whenever something happens, the data can be dumped – A bit like having a ”black box” for the JVM  Recordings are self describing and self contained  More on the Flight Recorder in the tutorial tomorrow 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 23. FLIGHT RECORDER DEMO 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 24. Experimental Plugins Downloadable from within Mission Control  WLS plug-in –> tutorial tomorrow  DTrace plug-in – Extended DScript language to produce self describing events – Visualization similar to Flight Recorder  JOverflow – Tool for analyzing heap waste (empty/sparse collections) – Uses hprof dumps – First stab at using Java FX for visualization in a JMC plug-in 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 25. DTRACE DEMO 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 26. JOVERFLOW DEMO 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 27. Java Mission Control Future  Currently working on 5.3.0 – Will be released with JDK 8 and a later 7 update – Improved JMX Console (Remote Diagnostic Commands and more) – Improved content type handling and formatting – 5.3.0 almost feature complete  Also working on 6.0.0 – Automatic analysis of flight recordings 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 28. Some Java Mission Control Resources Homepage: http://oracle.com/missioncontrol Twitter: @javamissionctrl @hirt Blog: http://hirt.se/blog Facebook (not kidding!): http://www.facebook.com/pages/Java-Mission-Control/275169442493206 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 29. Shameless Book Plug Oracle JRockit: The Definitive Guide 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 30. “It's an invaluable piece of work.” “I managed to do in one day what I've failed to do in 2+ weeks using <profiling tool> and <another profiling tool>.” Maurizio Cimadamore Ex Lang Tools, Oracle 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 31. Graphic Section Divider 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 32. 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Editor's Notes

  1. Thread start &amp; stopRecording metadata