SlideShare a Scribd company logo
1 of 40
Download to read offline
Title Slide with
Java FY15 Theme
Subtitle
Java Mission Control and
Java Flight Recorder
Wolfgang Weigend
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Presenter’s Name
Presenter’s Title
Organization, Division or Business Unit
Month 00, 2014
Note: The speaker notes for this slide
include detailed instructions on how to
reuse this Title Slide in another
presentation.
Tip! Remember to remove this text box.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Wolfgang Weigend
Sen. Leitender Systemberater
Java Technology and Architecture
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
Disclaimer
2 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
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.
Java Mission Control 5.4
3 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Java Process Browser and JMX Console
4 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Tracer and Profiler
• Non-intrusive
• Built into the JVM itself
Java Flight Recorder
5 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• On-demand profiling
• After-the-fact capture and analysis
• First released in 7u40
• Captures both JVM and application data
‒ Garbage Collections
‒ Sychronization
‒ Compiler
‒ CPU Usage
Java Flight Recorder - Tracer & Profiler
6 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
‒ CPU Usage
‒ Exceptions
‒ I/O
• Sampling-based profiler
‒ Very low overhead
‒ Accurate data
• Typical overhead in benchmarks: 2-3%
• Often not noticeable in typical production environments
• Turn on and off in runtime
Non-Intrusive
7 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Turn on and off in runtime
• Information already available in the JVM
‒ Zero extra cost
• Core of JFR is inside the JVM
• Can easily interact with other JVM subsystems
Built into the JVM itself
8 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Optimized C++ code
• Supporting functionality written in Java
• Start from Java Mission Control
‒ Or from the command line
• Easily configure the amount of information to capture
On-Demand Profiling
9 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Easily configure the amount of information to capture
• For a profile, a higher overhead can be acceptable
• When done, no overhead
• Powerful GUI for analysis
• In its default mode, very low overhead
• Designed to be always-on
• Uses circular buffers to store data
After-the-Fact Analysis
10 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Uses circular buffers to store data
‒ In-memory or on-disk
• When an SLA breach is detected, dump the current buffers
• Dump will have information leading up to the problem
• Enable
‐‐‐‐XX:+UnlockCommercialFeatures ‐‐‐‐XX:+FlightRecorder
• Start
‐‐‐‐
Configuration
11 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
‐‐‐‐XX:StartFlightRecording=filename=<path>,duration=<time>
• Or
Jcmd <pid> JFR.start filename=<path> duration=<time>
Advanced Configuration
Per Recording Session
Max age of data maxage=<time>
Max size to keep maxsize=<size>
12 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Global Settings (-XX:FlightRecorderOptions)
Max stack trace depth stackdepth=<n> (default 64)
Save recording on exit dumponexit=true
Logging loglevel=[ERROR|WARN|INFO|DEBUG|TRACE]
Repository path repository=<path>
• Recordings can specify exactly which information to capture
‒ ~80 events with 3 settings each
• But: two preconfigured settings
Recording Sessions
13 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• But: two preconfigured settings
‒ “default”: provides as much information as possible while keeping
overhead to a minimum
‒ “profile”: has more information, but also higher overhead
• You can configure your own favorites in Mission Control
• Great working approach
• Each session can have its own settings
• Caveat: If there are multiple sessions all of them get the
Many Simultaneous Recording Sessions
14 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Caveat: If there are multiple sessions all of them get the
union of the enabled events
‒ Example: If event A is enabled in on recording, all recordings will see event A
‒ Example: If event B has two different thresholds, the lower value will apply
Creating Recordings Using Startup Flags
• Documentation of startup flags available in the JDK docs
• The following example starts up a 1 minute recording 20 seconds after
starting the JVM:
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -
XX:StartFlightRecording=delay=20s,duration=60s,name=MyRecording,filena
Useful for enabling continuous recordings at startup
15 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
me=C:TEMPmyrecording.jfr,settings=profile
– The settings parameter takes either the path to, or the name of, a template
– Default templates are located in the jre/lib/jfr folder
– Note: Using the settings parameter will require JDK 7u40 or greater
• To get more information on what is going on, change the log level:
-XX:FlightRecorderOptions=loglevel=info
The Default Recording
• Special short hand to start the JVM with a continuous recording
• Started with -XX:FlightRecorderOptions=defaultrecording=true
• The default recording will have the recording id 0
• Only the default recording can be used with the dumponexit and dumponexitpath
parameters
16 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
parameters
• The following example will start up the continuous recording. It will be dumped
when the JVM exits to C:demosdumponexit.jfr.
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -
XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=C:
demosdumponexit.jfr
Creating Recordings Using JCMD
Usage: jcmd <pid> <command>
Example starting a recording:
jcmd 7060 JFR.start name=MyRecording settings=profile
delay=20s duration=2m filename=c:TEMPmyrecording.jfr
Example checking on recordings:
Useful for controlling JFR from the command line
17 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Example checking on recordings:
jcmd 7060 JFR.check
Example dumping a recording:
jcmd 7060 JFR.dump name=MyRecording
filename=C:TEMPdump.jfr
Flight Recorder Inner Workings
• Extremely low overhead
– Using data already gathered
– High performance recording engine
• Testing!
Focus on performance
18 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Testing!
• Third party events
– WLS
– Dynamic Monitoring Service DMS custom WLST commands
– JavaFX
– You can add your own events, but this is not yet supported!
• Information gathering
− Instrumentation calls all over the JVM
− Application information via Java API
• Collected in Thread Local buffers
⇢ Global Buffers ⇢Disk
Java Flight Recorder – How is it built?
19 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
⇢ Global Buffers ⇢Disk
• Binary, proprietary file format
• Managed via JMX
• Java Flight Recorder
− Start from JMC 5.4 or CLI
• Activate Flight Recorder
− -XX: +UnlockCommercialFeatures
− -XX: +FlightRecorder
Java Flight Recorder – Buffers
• “Circular”
• Designed for low contention
20 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Header
• Payload
‒ Event specific data
“Everything is an Event”
21 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
‒ Event specific data
• Instant
‒ Single point in time
‒ Example: Thread starts
• Duration
Event Types
22 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Duration
‒ Timing for something
‒ Example: GC
• Requestable
‒ Happens with a specified frequency
‒ Example: CPU Usage every second
• For every event
‒ Name, Path, Description
Event Meta Data
23 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• For every payload item
‒ Name, Type, Description, Content Type
• Describes the semantics of a value
• Used to correctly display the value in the UI
“Content Type”
Content Type Displayed as
Bytes 4 MB
24 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Bytes 4 MB
Percentage 34 %
Address 0x23CDA540
Millis 17 ms
Nanos 4444 ns
Event Definition in Hotspot
<event id="ThreadSleep"
path="java/thread_sleep"
label="Java Thread Sleep“ ...>
<value field="time“
type="MILLIS“
label="Sleep Time"/>
25 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• XML definitions are processed into C++ classes
label="Sleep Time"/>
</event>
Event Emission in Hotspot
JVM_Sleep(int millis){
EventThreadSleep event;
… // actual sleep happens here
event.set_time(millis);
26 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Now the data will be available in JFR
event.set_time(millis);
event.commit();
}
• Enable/disable event
• Thresholds
‒ Only if duration is longer than X
Filtering Early
27 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
‒ Only if duration is longer than X
• Enable/disable stack trace
• Frequency
‒ Sample every X
• Self-contained
‒ Everything needed to parse an event is included in the file
‒ New events instantly viewable in the UI
• Binary, proprietary
• Designed for fast writing
File Format
28 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Designed for fast writing
• Single file, no dependencies
‒ Example: 5 Minutes of recording, result in a Flight Recorder File with
a size of 957 KB
Header Event Records Event Definitions
• Can’t leak memory
‒ Can’t aggregate information eternally
‒ Can’t keep references that prohibits class unloading
Dynamic Runtime and Long-Running Recordings
29 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Dynamic Runtime
‒ Classes can come and go
‒ Threads can come and go
• Solutions: Constant Pools, Checkpoints
• If every event contained the class name as a string, we would waste
lots of space
• Solution: Class ID’s
Problem: Many Events Reference Classes
30 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• ID’s need to be part of the file
• Classes can be unloaded at any time
‒ Class may not be around until end of recording
Problem: When do we write the Class IDs?
31 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
‒ Class may not be around until end of recording
• Solution: Write Class ID when classes are unloaded
• Many classes are loaded, not all are referenced in events, we want to
save space
• Solution: When a class ID is referenced, the class is also “tagged”
Problem: Size of the Class List
32 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
‒ Write only tagged classes in the JFR file
• Over time many classes will be tagged, the size of the class list will
increase
• Solution: Reset the tags each time a class list is written to disk
Problem: Leaking Memory
33 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• We call this a “Checkpoint”
• A recording file may contain many class lists, each one is only valid for
the data immediately preceding it
• The Class List is a special case of a Constant Pool
• Classes
• Methods
Constant Pools
34 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Methods
• Threads
• Thread Groups
• Stack Traces
• Strings
• At regular intervals, a “checkpoint” is
created in the recording
• Has everything needed to parse
the recording since the last checkpoint
Checkpoints
35 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
the recording since the last checkpoint
checkpoint =
events
+ constant pools
+ event meta-data
Analyzing Flight Recordings in JMC
• All tab groups except for the general Events tab group are
preconfigured to show a certain aspect of the recording (sometimes
referred to as static or preconfigured tabs)
36 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• The pre-configured tabs highlights various areas of common
interest, such as code, memory & GC, threads and IO
• General Events tab group - useful for drilling down further and for
rapidly homing in on a set of events with certain properties
Java Flight Recorder Releases
• Resulted from the JRockit and HotSpot JVM Convergence
• Java Mission Control released with the 7u40 JDK
• Java Mission Control 5.4.0 released with 8u20
37 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Java Mission Control 5.4.0 released with 8u20
• Java Mission Control
http://www.oracle.com/technetwork/java/javaseproducts/mission-control/index.html
• User Guide
http://docs.oracle.com/javacomponents/jmc.htm
More Information
38 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
http://docs.oracle.com/javacomponents/jmc.htm
• Forum
https://community.oracle.com/community/java/java_hotspot_virtual_machine/java_mission_control
• JMC Tutorial
http://hirt.se/downloads/oracle/jmc_tutorial.zip
Do Java Flight Recordings and Analyse Flight Recordings
Summary
• Java Flight Recorder provides a central view on the JVM and the Java application
– JVM Events and Java API Events
• Extremely low overhead (<= 2-3%)
– Can keep it always on, dump when necessary
• Tooling for analysing recordings built into the Oracle JDK via Java Mission Control
39 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
• Tooling for analysing recordings built into the Oracle JDK via Java Mission Control
• Java APIs available for recording custom information into the Flight Recorder in the
Oracle JDK
• Third party integration giving holistic view of the detailed information recorded by
the Flight Recorder (WebLogic Server, JavaFX)
Thanks to Marcus Hirt for his sources!
Wolfgang.Weigend@oracle.com
40 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...Amazon Web Services
 
JVM Support for Multitenant Applications - Steve Poole (IBM)
JVM Support for Multitenant Applications - Steve Poole (IBM)JVM Support for Multitenant Applications - Steve Poole (IBM)
JVM Support for Multitenant Applications - Steve Poole (IBM)jaxLondonConference
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java WorkshopSimon Ritter
 
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning -  Memory leaks, Thread deadlocks, JDK toolsPerformance Tuning -  Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK toolsHaribabu Nandyal Padmanaban
 
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...HostedbyConfluent
 
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...Amazon Web Services Korea
 
Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019
Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019
Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019confluent
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVMSHASHI KUMAR
 
Firecracker, 서버리스 컴퓨팅을 위한 오픈소스 microVM 기술 :: 류한진 - AWS ...
Firecracker, 서버리스 컴퓨팅을 위한 오픈소스 microVM 기술 :: 류한진 - AWS ...Firecracker, 서버리스 컴퓨팅을 위한 오픈소스 microVM 기술 :: 류한진 - AWS ...
Firecracker, 서버리스 컴퓨팅을 위한 오픈소스 microVM 기술 :: 류한진 - AWS ...AWSKRUG - AWS한국사용자모임
 
Spring Boot—Production Boost
Spring Boot—Production BoostSpring Boot—Production Boost
Spring Boot—Production BoostVMware Tanzu
 
EDB Failover Manager - Features and Demo
EDB Failover Manager - Features and DemoEDB Failover Manager - Features and Demo
EDB Failover Manager - Features and DemoEDB
 
Distributed Lock Manager
Distributed Lock ManagerDistributed Lock Manager
Distributed Lock ManagerHao Chen
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개NeoClova
 
AWS reInvent 2022 reCap AI/ML and Data
AWS reInvent 2022 reCap AI/ML and DataAWS reInvent 2022 reCap AI/ML and Data
AWS reInvent 2022 reCap AI/ML and DataChris Fregly
 
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Cyrille Le Clerc
 
Dapr: the glue to your microservices
Dapr: the glue to your microservicesDapr: the glue to your microservices
Dapr: the glue to your microservicesMoaid Hathot
 
Master master vs master-slave database
Master master vs master-slave databaseMaster master vs master-slave database
Master master vs master-slave databaseWipro
 
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...Amazon Web Services
 

What's hot (20)

AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
 
JVM Support for Multitenant Applications - Steve Poole (IBM)
JVM Support for Multitenant Applications - Steve Poole (IBM)JVM Support for Multitenant Applications - Steve Poole (IBM)
JVM Support for Multitenant Applications - Steve Poole (IBM)
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
 
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning -  Memory leaks, Thread deadlocks, JDK toolsPerformance Tuning -  Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
 
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
 
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
 
Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019
Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019
Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
 
Firecracker, 서버리스 컴퓨팅을 위한 오픈소스 microVM 기술 :: 류한진 - AWS ...
Firecracker, 서버리스 컴퓨팅을 위한 오픈소스 microVM 기술 :: 류한진 - AWS ...Firecracker, 서버리스 컴퓨팅을 위한 오픈소스 microVM 기술 :: 류한진 - AWS ...
Firecracker, 서버리스 컴퓨팅을 위한 오픈소스 microVM 기술 :: 류한진 - AWS ...
 
Spring Boot—Production Boost
Spring Boot—Production BoostSpring Boot—Production Boost
Spring Boot—Production Boost
 
Gradle
GradleGradle
Gradle
 
EDB Failover Manager - Features and Demo
EDB Failover Manager - Features and DemoEDB Failover Manager - Features and Demo
EDB Failover Manager - Features and Demo
 
Distributed Lock Manager
Distributed Lock ManagerDistributed Lock Manager
Distributed Lock Manager
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
 
JVM Under The Hood WDI.pdf
JVM Under The Hood WDI.pdfJVM Under The Hood WDI.pdf
JVM Under The Hood WDI.pdf
 
AWS reInvent 2022 reCap AI/ML and Data
AWS reInvent 2022 reCap AI/ML and DataAWS reInvent 2022 reCap AI/ML and Data
AWS reInvent 2022 reCap AI/ML and Data
 
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
 
Dapr: the glue to your microservices
Dapr: the glue to your microservicesDapr: the glue to your microservices
Dapr: the glue to your microservices
 
Master master vs master-slave database
Master master vs master-slave databaseMaster master vs master-slave database
Master master vs master-slave database
 
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
 

Similar to Java mission control and java flight recorder

JFR Java Flight REcorder CON10912_UsingJFR.pptx
JFR Java Flight REcorder CON10912_UsingJFR.pptxJFR Java Flight REcorder CON10912_UsingJFR.pptx
JFR Java Flight REcorder CON10912_UsingJFR.pptxssuser75e305
 
Using Java Flight Recorder
Using Java Flight RecorderUsing Java Flight Recorder
Using Java Flight RecorderMarcus Hirt
 
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
 
Java Mission Control: Java Flight Recorder Deep Dive
Java Mission Control: Java Flight Recorder Deep DiveJava Mission Control: Java Flight Recorder Deep Dive
Java Mission Control: Java Flight Recorder Deep DiveMarcus Hirt
 
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
200850 oracle primavera p6 eppm performance tuning, testing, and monitoringp6academy
 
Updated Power of the AWR Warehouse, Dallas, HQ, etc.
Updated Power of the AWR Warehouse, Dallas, HQ, etc.Updated Power of the AWR Warehouse, Dallas, HQ, etc.
Updated Power of the AWR Warehouse, Dallas, HQ, etc.Kellyn Pot'Vin-Gorman
 
JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best PracticesDavid Delabassee
 
Java Mission Control in Java SE 7U40
Java Mission Control in Java SE 7U40Java Mission Control in Java SE 7U40
Java Mission Control in Java SE 7U40Roger Brinkley
 
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...Courtney Llamas
 
Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Kellyn Pot'Vin-Gorman
 
Using Snap Clone with Enterprise Manager 12c
Using Snap Clone with Enterprise Manager 12cUsing Snap Clone with Enterprise Manager 12c
Using Snap Clone with Enterprise Manager 12cPete Sharman
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance TuningMark Swarbrick
 
Java Flight Recorder Behind the Scenes
Java Flight Recorder Behind the ScenesJava Flight Recorder Behind the Scenes
Java Flight Recorder Behind the ScenesStaffan Larsen
 
SemeruRuntimesUnderTheCover .pptx
SemeruRuntimesUnderTheCover .pptxSemeruRuntimesUnderTheCover .pptx
SemeruRuntimesUnderTheCover .pptxSumanMitra22
 
OUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQLOUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQLGeorgi Kodinov
 
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Alexandre (Shura) Iline
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMayank Prasad
 

Similar to Java mission control and java flight recorder (20)

JFR Java Flight REcorder CON10912_UsingJFR.pptx
JFR Java Flight REcorder CON10912_UsingJFR.pptxJFR Java Flight REcorder CON10912_UsingJFR.pptx
JFR Java Flight REcorder CON10912_UsingJFR.pptx
 
Using Java Flight Recorder
Using Java Flight RecorderUsing Java Flight Recorder
Using Java Flight Recorder
 
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
 
Java Mission Control: Java Flight Recorder Deep Dive
Java Mission Control: Java Flight Recorder Deep DiveJava Mission Control: Java Flight Recorder Deep Dive
Java Mission Control: Java Flight Recorder Deep Dive
 
ODTUG Webinar AWR Warehouse
ODTUG Webinar AWR WarehouseODTUG Webinar AWR Warehouse
ODTUG Webinar AWR Warehouse
 
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
200850 oracle primavera p6 eppm performance tuning, testing, and monitoring
 
Updated Power of the AWR Warehouse, Dallas, HQ, etc.
Updated Power of the AWR Warehouse, Dallas, HQ, etc.Updated Power of the AWR Warehouse, Dallas, HQ, etc.
Updated Power of the AWR Warehouse, Dallas, HQ, etc.
 
JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best Practices
 
Java Mission Control in Java SE 7U40
Java Mission Control in Java SE 7U40Java Mission Control in Java SE 7U40
Java Mission Control in Java SE 7U40
 
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...
 
Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016
 
Using Snap Clone with Enterprise Manager 12c
Using Snap Clone with Enterprise Manager 12cUsing Snap Clone with Enterprise Manager 12c
Using Snap Clone with Enterprise Manager 12c
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
MySQL Replication
MySQL ReplicationMySQL Replication
MySQL Replication
 
Java Flight Recorder Behind the Scenes
Java Flight Recorder Behind the ScenesJava Flight Recorder Behind the Scenes
Java Flight Recorder Behind the Scenes
 
SemeruRuntimesUnderTheCover .pptx
SemeruRuntimesUnderTheCover .pptxSemeruRuntimesUnderTheCover .pptx
SemeruRuntimesUnderTheCover .pptx
 
OUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQLOUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQL
 
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.
 
Power of the AWR Warehouse
Power of the AWR WarehousePower of the AWR Warehouse
Power of the AWR Warehouse
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
 

More from Wolfgang Weigend

It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15Wolfgang Weigend
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11Wolfgang Weigend
 
The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription Wolfgang Weigend
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemWolfgang Weigend
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Wolfgang Weigend
 
Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Wolfgang Weigend
 
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawJavamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawWolfgang Weigend
 
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtDas 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtWolfgang Weigend
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsWolfgang Weigend
 
Automated testing of JavaFX UI components
Automated testing of JavaFX UI componentsAutomated testing of JavaFX UI components
Automated testing of JavaFX UI componentsWolfgang Weigend
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollWolfgang Weigend
 
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornJm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornWolfgang Weigend
 
Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerWolfgang Weigend
 
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
 

More from Wolfgang Weigend (19)

It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
 
The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module System
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
 
Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017
 
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawJavamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
 
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtDas 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI components
 
Automated testing of JavaFX UI components
Automated testing of JavaFX UI componentsAutomated testing of JavaFX UI components
Automated testing of JavaFX UI components
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
 
JavaFX goes open source
JavaFX goes open sourceJavaFX goes open source
JavaFX goes open source
 
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornJm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashorn
 
Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der Entwickler
 
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
 

Recently uploaded

%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 

Recently uploaded (20)

%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 

Java mission control and java flight recorder

  • 1. Title Slide with Java FY15 Theme Subtitle Java Mission Control and Java Flight Recorder Wolfgang Weigend Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Presenter’s Name Presenter’s Title Organization, Division or Business Unit Month 00, 2014 Note: The speaker notes for this slide include detailed instructions on how to reuse this Title Slide in another presentation. Tip! Remember to remove this text box. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Wolfgang Weigend Sen. Leitender Systemberater Java Technology and Architecture
  • 2. 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 Disclaimer 2 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. 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.
  • 3. Java Mission Control 5.4 3 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
  • 4. Java Process Browser and JMX Console 4 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
  • 5. • Tracer and Profiler • Non-intrusive • Built into the JVM itself Java Flight Recorder 5 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • On-demand profiling • After-the-fact capture and analysis • First released in 7u40
  • 6. • Captures both JVM and application data ‒ Garbage Collections ‒ Sychronization ‒ Compiler ‒ CPU Usage Java Flight Recorder - Tracer & Profiler 6 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. ‒ CPU Usage ‒ Exceptions ‒ I/O • Sampling-based profiler ‒ Very low overhead ‒ Accurate data
  • 7. • Typical overhead in benchmarks: 2-3% • Often not noticeable in typical production environments • Turn on and off in runtime Non-Intrusive 7 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Turn on and off in runtime • Information already available in the JVM ‒ Zero extra cost
  • 8. • Core of JFR is inside the JVM • Can easily interact with other JVM subsystems Built into the JVM itself 8 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Optimized C++ code • Supporting functionality written in Java
  • 9. • Start from Java Mission Control ‒ Or from the command line • Easily configure the amount of information to capture On-Demand Profiling 9 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Easily configure the amount of information to capture • For a profile, a higher overhead can be acceptable • When done, no overhead • Powerful GUI for analysis
  • 10. • In its default mode, very low overhead • Designed to be always-on • Uses circular buffers to store data After-the-Fact Analysis 10 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Uses circular buffers to store data ‒ In-memory or on-disk • When an SLA breach is detected, dump the current buffers • Dump will have information leading up to the problem
  • 11. • Enable ‐‐‐‐XX:+UnlockCommercialFeatures ‐‐‐‐XX:+FlightRecorder • Start ‐‐‐‐ Configuration 11 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. ‐‐‐‐XX:StartFlightRecording=filename=<path>,duration=<time> • Or Jcmd <pid> JFR.start filename=<path> duration=<time>
  • 12. Advanced Configuration Per Recording Session Max age of data maxage=<time> Max size to keep maxsize=<size> 12 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Global Settings (-XX:FlightRecorderOptions) Max stack trace depth stackdepth=<n> (default 64) Save recording on exit dumponexit=true Logging loglevel=[ERROR|WARN|INFO|DEBUG|TRACE] Repository path repository=<path>
  • 13. • Recordings can specify exactly which information to capture ‒ ~80 events with 3 settings each • But: two preconfigured settings Recording Sessions 13 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • But: two preconfigured settings ‒ “default”: provides as much information as possible while keeping overhead to a minimum ‒ “profile”: has more information, but also higher overhead • You can configure your own favorites in Mission Control
  • 14. • Great working approach • Each session can have its own settings • Caveat: If there are multiple sessions all of them get the Many Simultaneous Recording Sessions 14 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Caveat: If there are multiple sessions all of them get the union of the enabled events ‒ Example: If event A is enabled in on recording, all recordings will see event A ‒ Example: If event B has two different thresholds, the lower value will apply
  • 15. Creating Recordings Using Startup Flags • Documentation of startup flags available in the JDK docs • The following example starts up a 1 minute recording 20 seconds after starting the JVM: -XX:+UnlockCommercialFeatures -XX:+FlightRecorder - XX:StartFlightRecording=delay=20s,duration=60s,name=MyRecording,filena Useful for enabling continuous recordings at startup 15 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. me=C:TEMPmyrecording.jfr,settings=profile – The settings parameter takes either the path to, or the name of, a template – Default templates are located in the jre/lib/jfr folder – Note: Using the settings parameter will require JDK 7u40 or greater • To get more information on what is going on, change the log level: -XX:FlightRecorderOptions=loglevel=info
  • 16. The Default Recording • Special short hand to start the JVM with a continuous recording • Started with -XX:FlightRecorderOptions=defaultrecording=true • The default recording will have the recording id 0 • Only the default recording can be used with the dumponexit and dumponexitpath parameters 16 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. parameters • The following example will start up the continuous recording. It will be dumped when the JVM exits to C:demosdumponexit.jfr. -XX:+UnlockCommercialFeatures -XX:+FlightRecorder - XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=C: demosdumponexit.jfr
  • 17. Creating Recordings Using JCMD Usage: jcmd <pid> <command> Example starting a recording: jcmd 7060 JFR.start name=MyRecording settings=profile delay=20s duration=2m filename=c:TEMPmyrecording.jfr Example checking on recordings: Useful for controlling JFR from the command line 17 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Example checking on recordings: jcmd 7060 JFR.check Example dumping a recording: jcmd 7060 JFR.dump name=MyRecording filename=C:TEMPdump.jfr
  • 18. Flight Recorder Inner Workings • Extremely low overhead – Using data already gathered – High performance recording engine • Testing! Focus on performance 18 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Testing! • Third party events – WLS – Dynamic Monitoring Service DMS custom WLST commands – JavaFX – You can add your own events, but this is not yet supported!
  • 19. • Information gathering − Instrumentation calls all over the JVM − Application information via Java API • Collected in Thread Local buffers ⇢ Global Buffers ⇢Disk Java Flight Recorder – How is it built? 19 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. ⇢ Global Buffers ⇢Disk • Binary, proprietary file format • Managed via JMX • Java Flight Recorder − Start from JMC 5.4 or CLI • Activate Flight Recorder − -XX: +UnlockCommercialFeatures − -XX: +FlightRecorder
  • 20. Java Flight Recorder – Buffers • “Circular” • Designed for low contention 20 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
  • 21. • Header • Payload ‒ Event specific data “Everything is an Event” 21 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. ‒ Event specific data
  • 22. • Instant ‒ Single point in time ‒ Example: Thread starts • Duration Event Types 22 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Duration ‒ Timing for something ‒ Example: GC • Requestable ‒ Happens with a specified frequency ‒ Example: CPU Usage every second
  • 23. • For every event ‒ Name, Path, Description Event Meta Data 23 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • For every payload item ‒ Name, Type, Description, Content Type
  • 24. • Describes the semantics of a value • Used to correctly display the value in the UI “Content Type” Content Type Displayed as Bytes 4 MB 24 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Bytes 4 MB Percentage 34 % Address 0x23CDA540 Millis 17 ms Nanos 4444 ns
  • 25. Event Definition in Hotspot <event id="ThreadSleep" path="java/thread_sleep" label="Java Thread Sleep“ ...> <value field="time“ type="MILLIS“ label="Sleep Time"/> 25 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • XML definitions are processed into C++ classes label="Sleep Time"/> </event>
  • 26. Event Emission in Hotspot JVM_Sleep(int millis){ EventThreadSleep event; … // actual sleep happens here event.set_time(millis); 26 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Now the data will be available in JFR event.set_time(millis); event.commit(); }
  • 27. • Enable/disable event • Thresholds ‒ Only if duration is longer than X Filtering Early 27 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. ‒ Only if duration is longer than X • Enable/disable stack trace • Frequency ‒ Sample every X
  • 28. • Self-contained ‒ Everything needed to parse an event is included in the file ‒ New events instantly viewable in the UI • Binary, proprietary • Designed for fast writing File Format 28 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Designed for fast writing • Single file, no dependencies ‒ Example: 5 Minutes of recording, result in a Flight Recorder File with a size of 957 KB Header Event Records Event Definitions
  • 29. • Can’t leak memory ‒ Can’t aggregate information eternally ‒ Can’t keep references that prohibits class unloading Dynamic Runtime and Long-Running Recordings 29 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Dynamic Runtime ‒ Classes can come and go ‒ Threads can come and go • Solutions: Constant Pools, Checkpoints
  • 30. • If every event contained the class name as a string, we would waste lots of space • Solution: Class ID’s Problem: Many Events Reference Classes 30 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
  • 31. • ID’s need to be part of the file • Classes can be unloaded at any time ‒ Class may not be around until end of recording Problem: When do we write the Class IDs? 31 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. ‒ Class may not be around until end of recording • Solution: Write Class ID when classes are unloaded
  • 32. • Many classes are loaded, not all are referenced in events, we want to save space • Solution: When a class ID is referenced, the class is also “tagged” Problem: Size of the Class List 32 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. ‒ Write only tagged classes in the JFR file
  • 33. • Over time many classes will be tagged, the size of the class list will increase • Solution: Reset the tags each time a class list is written to disk Problem: Leaking Memory 33 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • We call this a “Checkpoint” • A recording file may contain many class lists, each one is only valid for the data immediately preceding it
  • 34. • The Class List is a special case of a Constant Pool • Classes • Methods Constant Pools 34 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Methods • Threads • Thread Groups • Stack Traces • Strings
  • 35. • At regular intervals, a “checkpoint” is created in the recording • Has everything needed to parse the recording since the last checkpoint Checkpoints 35 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. the recording since the last checkpoint checkpoint = events + constant pools + event meta-data
  • 36. Analyzing Flight Recordings in JMC • All tab groups except for the general Events tab group are preconfigured to show a certain aspect of the recording (sometimes referred to as static or preconfigured tabs) 36 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • The pre-configured tabs highlights various areas of common interest, such as code, memory & GC, threads and IO • General Events tab group - useful for drilling down further and for rapidly homing in on a set of events with certain properties
  • 37. Java Flight Recorder Releases • Resulted from the JRockit and HotSpot JVM Convergence • Java Mission Control released with the 7u40 JDK • Java Mission Control 5.4.0 released with 8u20 37 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Java Mission Control 5.4.0 released with 8u20
  • 38. • Java Mission Control http://www.oracle.com/technetwork/java/javaseproducts/mission-control/index.html • User Guide http://docs.oracle.com/javacomponents/jmc.htm More Information 38 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. http://docs.oracle.com/javacomponents/jmc.htm • Forum https://community.oracle.com/community/java/java_hotspot_virtual_machine/java_mission_control • JMC Tutorial http://hirt.se/downloads/oracle/jmc_tutorial.zip Do Java Flight Recordings and Analyse Flight Recordings
  • 39. Summary • Java Flight Recorder provides a central view on the JVM and the Java application – JVM Events and Java API Events • Extremely low overhead (<= 2-3%) – Can keep it always on, dump when necessary • Tooling for analysing recordings built into the Oracle JDK via Java Mission Control 39 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. • Tooling for analysing recordings built into the Oracle JDK via Java Mission Control • Java APIs available for recording custom information into the Flight Recorder in the Oracle JDK • Third party integration giving holistic view of the detailed information recorded by the Flight Recorder (WebLogic Server, JavaFX)
  • 40. Thanks to Marcus Hirt for his sources! Wolfgang.Weigend@oracle.com 40 Copyright © 2015, Oracle and/or its affiliates. All rights reserved.