An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead



Similar documents
Oracle JRockit Mission Control Overview

Monitoring and Diagnosing Production Applications Using Oracle Application Diagnostics for Java. An Oracle White Paper December 2007

An Oracle White Paper July Introducing the Oracle Home User in Oracle Database 12c for Microsoft Windows

WEBLOGIC SERVER MANAGEMENT PACK ENTERPRISE EDITION

Mission-Critical Java. An Oracle White Paper Updated October 2008

G Cloud 7 Pricing Document

An Oracle White Paper June, Enterprise Manager 12c Cloud Control Application Performance Management

An Oracle White Paper May Distributed Development Using Oracle Secure Global Desktop

Performance with the Oracle Database Cloud

An Oracle Technical White Paper June Oracle VM Windows Paravirtual (PV) Drivers 2.0: New Features

March Oracle Business Intelligence Discoverer Statement of Direction

APPLICATION MANAGEMENT SUITE FOR ORACLE E-BUSINESS SUITE APPLICATIONS

An Oracle White Paper October BI Publisher 11g Scheduling & Apache ActiveMQ as JMS Provider

An Oracle White Paper November Oracle Business Intelligence Standard Edition One 11g

An Oracle White Paper February Oracle Data Integrator 12c Architecture Overview

ORACLE VM MANAGEMENT PACK

APPLICATION MANAGEMENT SUITE FOR ORACLE E-BUSINESS SUITE APPLICATIONS

An Oracle White Paper July Oracle Desktop Virtualization Simplified Client Access for Oracle Applications

An Oracle White Paper January Using Oracle's StorageTek Search Accelerator

An Oracle Communications White Paper December Serialized Asset Lifecycle Management and Property Accountability

An Oracle White Paper June, Provisioning & Patching Oracle Database using Enterprise Manager 12c.

An Oracle White Paper February Integration with Oracle Fusion Financials Cloud Service

An Oracle White Paper September Oracle Database and the Oracle Database Cloud

Java Mission Control

Load Testing Hyperion Applications Using Oracle Load Testing 9.1

An Oracle Benchmarking Study February Oracle Insurance Insbridge Enterprise Rating: Performance Assessment

June, 2015 Oracle s Siebel CRM Statement of Direction Client Platform Support

G Cloud 7 Pricing Document

An Oracle White Paper April How to Install the Oracle Solaris 10 Operating System on x86 Systems

PRODUCT HUB STREAMLINED ITEM BATCH USER INTERFACE DEFINE IMPORT FORMATS FOR SPREADSHEET IMPORT CONSOLIDATION OF DIGITAL ASSETS THROUGH THE ITEM BATCH

APPLICATION MANAGEMENT SUITE FOR SIEBEL APPLICATIONS

An Oracle White Paper July Oracle Linux and Oracle VM Remote Lab User Guide

Top Ten Reasons for Deploying Oracle Virtual Networking in Your Data Center

An Oracle White Paper March Oracle s Single Server Solution for VDI

Managed Storage Services

Oracle Cloud Platform. For Application Development

Next Generation Siebel Monitoring: A Real World Customer Experience. An Oracle White Paper June 2010

ORACLE ADF MOBILE DATA SHEET

An Oracle White Paper June Oracle Linux Management with Oracle Enterprise Manager 12c

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

An Oracle White Paper September Oracle WebLogic Server 12c on Microsoft Windows Azure

Business Driven Process Optimization

An Oracle Technical White Paper May How to Configure Kaspersky Anti-Virus Software for the Oracle ZFS Storage Appliance

Oracle s BigMachines Solutions. Cloud-Based Configuration, Pricing, and Quoting Solutions for Enterprises and Fast-Growing Midsize Companies

An Oracle White Paper June Security and the Oracle Database Cloud Service

An Oracle White Paper June Oracle Database Firewall 5.0 Sizing Best Practices

An Oracle White Paper August Oracle Database Auditing: Performance Guidelines

An Oracle White Paper February Rapid Bottleneck Identification - A Better Way to do Load Testing

An Oracle White Paper May 2011 BETTER INSIGHTS AND ALIGNMENT WITH BUSINESS INTELLIGENCE AND SCORECARDS

An Oracle White Paper July Accelerating Database Infrastructure Using Oracle Real Application Clusters 11g R2 and QLogic FabricCache Adapters

An Oracle White Paper June High Performance Connectors for Load and Access of Data from Hadoop to Oracle Database

An Oracle White Paper May Exadata Smart Flash Cache and the Oracle Exadata Database Machine

Oracle Mobile Security

An Oracle White Paper August Higher Security, Greater Access with Oracle Desktop Virtualization

Oracle Directory Services Integration with Database Enterprise User Security O R A C L E W H I T E P A P E R F E B R U A R Y

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper October 2010

Oracle Primavera Gateway

THE NEW BUSINESS OF BUSINESS LEADERS. Hiring and Onboarding

Driving Down the High Cost of Storage. Pillar Axiom 600

Migration Best Practices for OpenSSO 8 and SAM 7.1 deployments O R A C L E W H I T E P A P E R M A R C H 2015

An Oracle White Paper May Oracle Database Cloud Service

Oracle Insurance General Agent Hardware and Software Requirements. Version 8.0

An Oracle White Paper August Oracle VM 3: Server Pool Deployment Planning Considerations for Scalability and Availability

Running Oracle s PeopleSoft Human Capital Management on Oracle SuperCluster T5-8 O R A C L E W H I T E P A P E R L A S T U P D A T E D J U N E

An Oracle White Paper October Oracle Data Integrator 12c New Features Overview

Oracle Financial Management Analytics

Oracle s Primavera Prime Capital Plan Management

An Oracle White Paper September Directory Services Integration with Database Enterprise User Security

Virtual Compute Appliance Frequently Asked Questions

An Oracle Best Practice Guide April Best Practices for Implementing Contact Center Experiences

Oracle Mobile Cloud Service. A Complete Strategy for Developing, Deploying, and Monitoring Mobile Apps

An Oracle White Paper November Leveraging Massively Parallel Processing in an Oracle Environment for Big Data Analytics

Primavera Unifier Integration Overview: A Web Services Integration Approach O R A C L E W H I T E P A P E R F E B R U A R Y

Oracle SQL Developer Migration

An Oracle White Paper August Oracle VM 3: Application-Driven Virtualization

The new Manage Requisition Approval task provides a simple and user-friendly interface for approval rules management. This task allows you to:

ORACLE INFRASTRUCTURE AS A SERVICE PRIVATE CLOUD WITH CAPACITY ON DEMAND

An Oracle Best Practice Guide March Best Practices for Oracle RightNow Cobrowse Cloud Service

How To Load Data Into An Org Database Cloud Service - Multitenant Edition

An Oracle White Paper July Oracle Database 12c: Meeting your Performance Objectives with Quality of Service Management

A Framework for Implementing World-Class Talent Management. The highest performing businesses are re-focusing on talent management

Siebel CRM Reports. Easy to develop and deploy. Administration

Oracle Fusion Applications Splitting Topology from Single to Multiple Host Servers

FAQ: How to create Effective Messages

Oracle Enterprise Manager

Unbreakable Linux Network An Overview

OpenLDAP Oracle Enterprise Gateway Integration Guide

An Oracle White Paper March Load Testing Best Practices for Oracle E- Business Suite using Oracle Application Testing Suite

Introduction. Automated Discovery of IT assets

Setting up the integration between Oracle Social Engagement & Monitoring Cloud Service and Oracle RightNow Cloud Service

An Oracle White Paper October Realizing the Superior Value and Performance of Oracle ZFS Storage Appliance

An Oracle White Paper January Integrating Oracle Application Express with Oracle Access Manager. Revision 1

An Oracle Technical Article November Certification with Oracle Linux 6

A Comprehensive Solution for API Management

ORACLE OPS CENTER: VIRTUALIZATION MANAGEMENT PACK

April Oracle Higher Education Investment Executive Brief

The Role of Data Integration in Public, Private, and Hybrid Clouds

An Oracle White Paper December Advanced Network Compression

Improve your Customer Experience with High Quality Information

Transcription:

An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead

Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder... 2 The Java Mission Control Tool Chain... 2 Java Process Browser and JMX Console... 2 Java Flight Recorder... 4 Conclusion... 6

Introduction Oracle Java Mission Control is a set of powerful tools running on the Oracle JDK. These tools deliver advanced, unobtrusive Java monitoring and management, suitable for use both in development and production environments. This white paper gives an introduction to Java Mission Control, describing the main components in the tool chain, how its components differ from competing technologies, and how you can use Java Mission Control to monitor, manage, profile and diagnose your applications when running on the Oracle JDK. 1

Non-Intrusive Profiling and Diagnostics Most technologies used today to monitor, manage, and profile the Java runtime use fairly intrusive technologies, like byte code instrumentation and JVMTI. The main focus of Java Mission Control (JMC) is to gather the data necessary with the lowest possible impact on the running system. The technology used also enables the application to run at full speed once the tool is disconnected from the Java Virtual Machine (JVM). This makes JMC suitable for use in production environments. With the minimal overhead, JMC also minimizes the observer effect and can provide more accurate data for your application than more the more common solutions. JMX Console The JMX Console is a tool for monitoring and managing multiple Oracle JDK instances. It captures and presents live data about garbage collection (GC) pauses, memory and CPU usage, as well as information from any custom JMX MBeans deployed in the JDK MBean server. Java Flight Recorder The Java Flight Recorder (JFR) is an on-demand 'flight recorder' that produces detailed recordings about the JVM and the application it is running. The recorded data can be analyzed off line, using the Flight Recorder tool in Java Mission Control. The data includes an execution profile, as well as garbage collection statistics, optimization decisions, object allocation, heap statistics, and latency events for locks and I/O. The following sections will describe each of these tools in a little bit more detail. The Java Mission Control Tool Chain Java Process Browser and JMX Console The Java Process Browser allows users to list and connect to both locally and remotely running Java applications. JMC provides full secure access with encrypted communication and configurable user access restrictions. The Java Process Browser will automatically detect locally running Java processes, as well as remote Java processes using the Java Discovery Protocol (JDP). Figure 1 shows how a single Java Mission Control instance can detect, show, and connect to one or more Java processes through different communication channels. 2

Figure 1. Diagram of Java Mission Controls communication layers. The JMX Console, as the name implies, is a console for managing and monitoring the Oracle JDK through the JMX interface. It provides vital health data like the live set, the heap usage, CPU load, and other attributes exposed via MBeans and registered with the MBean server. Java Mission Control enables users to easily access custom application MBeans and visualize them in the JMX Console. The JMX Console also provides triggers that can monitor MBeans and trigger an action, such as showing a notification, when a condition is met. Figure 2. Screenshot showing the JMX Console in Java Mission Control connected to two different local Java processes, the first showing current CPU and heap usage, and the second listing all registered MBeans. 3

Java Flight Recorder With Java Flight Recorder system administrators and developers have a new way to diagnose production issues. JFR provides a way to collect events from a Java application from the OS layer, the JVM, and all the way up to the Java application. The collected events include thread latency events such as sleep, wait, lock contention, I/O, GC, and method profiling. With the low performance impact, less than 2% for typical Java applications, when collecting data and events, JFR can be enabled by default and continuously collect low level data from Java applications in production environments. This will allow a much faster turnaround time for system administrators and developers when a production issue occurs. Rather than turning on data gathering after the fact, the continuously collected JFR data is simply written to disk and the analysis can be done on data collected from the application leading up to the issue, rather than data collected afterwards. Data Collection Java Flight Recorder does not write events to disk immediately as they occur. Instead, it stores data in a hierarchy of in-memory buffers and then moves the data to the disk when the buffers are full. Initially, the JFR run time stores the event data in thread-local buffers, eliminating the need to synchronize between threads for every event, which greatly improves throughput. Once a thread-local buffer has been filled, the data is transferred to a global buffer. When this happens, synchronization is necessary between threads but, because different thread-local buffers fill up at different rates, contention is rare. Eventually, the global buffer also runs out of space and the contents in the buffer are written to the disk. Writing to the disk is expensive and JFR ensures that it is done as efficiently possible. The produced files are in a binary format that is extremely compact while also efficient for the applications to read and write. You can configure JFR so that it does not write any data to disk. In this mode, the global buffer acts as a circular buffer and the oldest data is dropped when the buffer is full. Even with this very lowoverhead operating mode all the vital data necessary for root-cause problem analysis is still collected. Because the most recent data is always available in the global buffer, it can be written to disk on demand whenever operations or surveillance systems detect a problem. SLA Breach Dump JFR Temporary JFR Analysis Deploy Fix Workaroumd Figure 3. Possible workflow when using Java Flight Recorder in production. 4

Data Analysis The Java Flight Recorder plugin in Java Mission Control provides dynamic and in-depth analysis of all collected JFR data. JMC enables developers and system administrators alike to analyze all aspects of a Java application, from the high-level behavior to improve tuning, down to lock contention latencies on specific Java objects to help find opportunities to optimize the implementation. For the most common analysis JFR provides specialized tabs that focus on a specific area such as Code, Memory, Threads, Locks, and I/O. This makes it easy to quickly drill down in specific areas and understand how the Java application behaves. Figure 4. Method profiling information in Java Mission Control, with full stack trace for each method sample. For advanced analysis across all events JMC provides an Event tab that allows ad hoc analysis of all the data collected. By zooming in on a specific time period and filtering events using the Operative Set users can drill down to specific events and determine the root cause of an issue. 5

Figure 5. Advanced analysis in the Event tab showing all events in a thread graph as they occur over time. Conclusion Java Mission Control is a versatile tools suite for monitoring, managing, diagnosing, and profiling your Java applications. You can reliably use Java Mission Control in production environments without leaving any trace in your system after it has been used, and with a much smaller performance overhead than comparable tools when it is in use. Java Mission Control is a commercial feature and part of Java SE Advanced, but is free for development use as defined by the BCL for Java SE. Advanced Java Diagnostics and Monitoring Without Performance Overhead September 2013 Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com/java Copyright 2013, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0113 6