SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
© 2013 IBM Corporation© 2013 IBM Corporation
Introduction to the IBM Monitoring
and Diagnostic Tools for Java
Chris Bailey, Peter Whitehead, and Guests!
IBM
TAW-1560
© 2013 IBM Corporation
Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change
or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a
commitment, promise, or legal obligation to deliver any material, code or
functionality. Information about potential future products may not be incorporated
into any contract. The development, release, and timing of any future features or
functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM
benchmarks in a controlled environment. The actual throughput or performance
that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user’s job stream,
the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results
similar to those stated here.
© 2013 IBM Corporation
Introduction to the Speakers
Chris Bailey
Java Serviceability and Cloud Integration Architect
• 13 years experience developing and deploying Java SDKs
• Recent work focus:
‒ Java integration into the cloud
‒ Java monitoring, diagnostics and troubleshooting
‒ Requirements gathering
‒ Highly resilient and scalable deployments
• Contact Details:
‒ baileyc@uk.ibm.com
‒ http://www.linkedin.com/in/chrisbaileyibm
‒ http://www.slideshare.net/cnbailey/
© 2013 IBM Corporation
Introduction to the Speakers
Peter Whitehead
Program Manager, Java Technology Center and ASPN Development
• 23 years experience developing storage subsystems, program
management and deploying IBM's Java SDKs
• Recent work focus:
‒ Improving Critical Patch Update concurrency
‒ Delivery of Java runtimes for IBM platforms and products
‒ Creation of serviceability tooling suite for IBM Java runtimes
‒ Delivery of distributed cloud operating environment for mobile networks
• Contact Details:
‒ peter_whitehead@uk.ibm.com
© 2013 IBM Corporation
Introduction to the Speakers
Plus Guests!
• Dan Julin: STSM, AIM Serviceability, eSupport and Tools
• Jason Edmeades: Messaging Service Architect
• Andrew Smithson: CICS Transaction Gateway Technical Lead
• Chuck Bridgham: Software Architect: Rational Analysis, Design and
Construction
© 2013 IBM Corporation
Goals of the talk
• Introduce the IBM tools for monitoring, debugging and diagnosing problems in
the deployment life cycle
• Understand the major problems scenarios, and how to select the best tools to
diagnose the problem
• Learn how to extend the tools with knowledge of your application or to build
custom tools
• See how IBM is building on top of the Java tools platform
© 2013 IBM Corporation
Agenda
• Tools for Java
‒ Introduction to the IBM Monitoring and Diagnostic Tools for Java
• Extending the Tools
‒ Overview of the APIs and Use Cases
• IBM Extensions for the Java Tools
‒ IBM Extensions for Memory Analyzer (IEMA)
‒ Rational Application Developer v9.0
© 2013 IBM Corporation
Tools for Java
© 2013 IBM Corporation
IBM Monitoring and Diagnostic Tools for Java
• A free suite of tools for understanding different aspects of Java
applications
− Garbage Collection and Memory Visualizer (GCMV)
− Health Center
− Memory Analyzer (and IBM Extensions for Memory Analyzer)
− Interactive Diagnostic Data Explorer (IDDE)
• Provide visualisation, analysis and recommendations
• Fully supported
• Available in the IBM Support Assistant
− Provides the “toolbox” in which analysis tools reside
− Assist with opening PMRs and working with IBM Support
− Search feature to query IBM and non-IBM knowledge banks
© 2013 IBM Corporation
Garbage Collection and Memory Visualizer (GCMV)
• Tool to analyze Java and “Native” Heap memory
− Using verbose GC logs and OS level process memory logs
• Graphs to show garbage collection and Java heap statistics over time
• Not only for memory errors, very good for performance tuning
• Recommendations use heuristics to guide you towards issues that may
be limiting performance
© 2013 IBM Corporation
GCMV Highlights
• Graphical Display of Data
− Allows graphing of all available
data: pause times, heap size etc
− Allows zoom, cropping and
change of axes value and units
− Allows comparison of multiple
files
• Analysis and Recommendations
− Provides tuning
recommendations based on data
and flags errors.
− Analysis can be limited using
cropping.
− Values and units used in analysis
can be changed by changing
axes values and units
© 2013 IBM Corporation
Heath Center
• Live monitoring tool with very low overhead
• Pre-installed in JDK and WebSphere Application Server
− Enable at startup: -Xhealthcenter
− Enable at runtime:java -jar healthcenter.jar ID=<pid>
• Understand how your application is behaving
− Monitor Class loading, File I/O, Environment settings, Garbage
Collection, Method Profiling, Locking, Native memory use
• Diagnose potential problems, with recommendations
• Works at the JVM level – no domain-specific (e.g. J2EE) information
• Suitable for all Java applications
© 2013 IBM Corporation
Health Center Highlights
Environment reporting
• Detects invalid Java options
• Detects options which may hurt performance or
serviceability
• Useful for remote diagnosis of configuration-
related problems
Class loading visualization
• Shows all loaded classes
• Shows load time
• Identifies shared classes
File I/O
• Monitor application file open/close events as
they occur
• Lists currently open files
© 2013 IBM Corporation
Health Center Highlights
Garbage Collection visualization
• Visualizes heap usage and gc pause times over
time
• Identifies memory leaks
• Suggests command-line and tuning parameters
• Same recommendation logic as GCMV
Native Memory
• Detect native memory leaks in application
• Determine if external forces are using more
memory
• Memory counters showing which parts of the
JVM are using the most native memory
Threads view
• List of current threads and states
• Number of threads over time
• See contended monitors
© 2013 IBM Corporation
Health Center Highlights
Method Profiling
• Always-on profiling shows application activity
• Identifies the hottest methods in an application
• Full call stacks to identify where methods are
being called from and what methods they call
• No byte code instrumentation, no recompiling
Java Lock Profiling
• Always-on lock monitoring
• Quickly allows the usage of all locks to be
profiled
• Helps to identify points of contention in the
application that are preventing scaling
Live control of application
• Trigger dumps
• Enable verbosegc collection
© 2013 IBM Corporation
Memory Analyzer
• Tool for analyzing heap dumps and identifying memory leaks from JVMs
• Works with IBM system dumps, heapdumps and Sun HPROF binary
dumps
• Provides memory leak detection and footprint analysis
− Objects by Class, Dominator Tree Analysis, Path to GC Roots,
Dominator Tree by Class Loader
• Shows areas of memory wastage
− Collections, duplicate strings, substring/char arrays, constant value
primitives
• Displays Stack trace with object references
• Provides SQL like object query language (OQL)
• Provides extension points to write analysis plugins
© 2013 IBM Corporation
Memory Analyzer Highlights
Overview:
• Overview of the dump including Java heap size
and total number of objects.
• Provides links to continued analysis
Path to GC Roots:
• Provides the reference chain that prevents an
object being garbage collected.
Dominator Tree grouped by Class Loader:
• Lists the biggest objects using a “keep alive
tree”. Grouping by Class
• Loader limits the analysis to a single application
in a JEE environment
© 2013 IBM Corporation
Interactive Diagnostic Data Explorer
• Provides a visual representation of your set of dump files
• An investigation log editor in which you run commands. This editor
provides the following features:
− Command assistance
− Auto-completion of text
− The ability to save commands and output, which you can then
send to other people
− Highlighted text and flagging of issues
− The ability to add your own comments
• An outline view to help you navigate the commands and output in the log
editor
• The ability to create your own commands, as plug-ins, and import plug-
ins created by others
© 2013 IBM Corporation
IDDE Highlights
• Interactive Editor:
− Command assistance
− Auto-completion of text
− Ability to add your own comments
• Multiple format support:
− All operating system
− Multiple file formats
− Multiple address spaces on z/OS
• Multiple plug-in support:
− DTFJ
− Dump Analyzer
− Extensions for Memory Analyzer
© 2013 IBM Corporation
Problem Scenarios and Tools
GCMV Health Center Memory Analyzer IDDE
Performance  Garbage
Collection
performance
only
 Method
Profiling
 Lock Analysis
 Garbage
Collection
 Garbage
analysis
 Collection
efficiency
Memory  Garbage
Collection
memory
monitoring
 Native
(process)
memory
monitoring
 Garbage
Collection
memory
monitoring
 Native
(process)
memory
monitoring
 Large object
allocations
 Java heap
memory
analysis
Runtime  Process
settings
 Class Loading
 Thread
execution
analysis
 Application
state reports
 Thread
execution
analysis
 Application
state reports
© 2013 IBM Corporation
Extending the Tools
© 2013 IBM Corporation
Extending the Tools
• Each of the tools has extensions and/or integrations points
• Memory Analyzer and IDDE can be easily extended
• Health Center data can be integrated into other tools
© 2013 IBM Corporation
Extending Health Center
• Health Center provides an API to access the data and recommendations
shown in the Health Center Client
• Allows custom tools to receive, analyze and interpret the data
• Health Center is a monitoring platform
© 2013 IBM Corporation
Extending Health Center
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import com.ibm.java.diagnostics.healthcenter.api.ConnectionProperties;
import com.ibm.java.diagnostics.healthcenter.api.HealthCenter;
import com.ibm.java.diagnostics.healthcenter.api.factory.HealthCenterFactory;
import com.ibm.java.diagnostics.healthcenter.api.threads.ThreadsData;
/**
* This class controls all aspects of the application's execution
*/
public class Application implements IApplication {
HealthCenter hcMon;
public Object start(IApplicationContext context) throws Exception {
ConnectionProperties hcConn = new ConnectionProperties();
hcMon = HealthCenterFactory.connect(hcConn, true);
try {
System.out.println("hcMonWaiting for 10 seconds to allow initial data to be parsed
from the connection");
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
checkForDeadlock();
return IApplication.EXIT_OK;
}
Setup connection properties
Create a Health Center
connection
© 2013 IBM Corporation
Extending Health Center
public void checkForDeadlock() {
while (!detectDeadlock()) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private boolean detectDeadlock() {
ThreadsData hcthreadsData = hcMon.getThreadsData();
if (hcthreadsData == null) {
System.out.println("No threads yet");
} else {
if (hcthreadsData.deadlockDetected()) {
Display display = new Display();
Shell shell = new Shell(display);
MessageBox mb = new MessageBox(shell);
String deadlockMessage = new String();
String[] hcThreadsRec = hcthreadsData
.getCriticalRecommendations();
for (String rec : hcThreadsRec) {
deadlockMessage = deadlockMessage + rec + "n";
}
mb.setMessage(deadlockMessage);
mb.setText("Deadlock detected");
mb.open();
display.dispose();
return true;
}
}
return false;
}
Request Threads data
Check for deadlock in threads
Access the threads
recommendations
Display deadlock detected message
© 2013 IBM Corporation
Extending Memory Analyzer and IDDE
• Memory Analyzer provides public extension points to build in additional
“expert” knowledge
• org.eclipse.mat.api.nameResolver
− Provides readable description of an object in some of MAT's view
(like toString())
− Annotates object types with detail about an object
− eg. hostname and port for a Socket object
• org.eclipse.mat.report.query
− Adds a menu item that executes your plug-in code
− Creates report style output in any form you want: Tree, Text,
HTML, Pie Charts, etc.
© 2013 IBM Corporation
Extending Memory Analyzer and IDDE
import org.eclipse.mat.SnapshotException;
import org.eclipse.mat.snapshot.extension.IClassSpecificNameResolver;
import org.eclipse.mat.snapshot.extension.Subject;
import org.eclipse.mat.snapshot.model.IObject;
@Subject("com.ibm.ws.webcontainer.webapp.WebAppImpl")
public class WebApp implements IClassSpecificNameResolver {
public String resolve(IObject object){
String result = null;
try {
IObject appName = (IObject)object.resolveValue("applicationName");
IObject contextPath = (IObject)object.resolveValue("contextPath");
if (appName != null && contextPath != null) {
result = appName.getClassSpecificName() + " at " +
contextPath.getClassSpecificName();
}
} catch (SnapshotException e) {
e.printStackTrace();
}
return result;
}
}

NameResolvers “annotate” objects with a line of text:
Select object type to “annotate”
Return String with text to annotate
Lookup field value
Get the String name of the object field
© 2013 IBM Corporation
Extending Memory Analyzer and IDDE
import org.eclipse.mat.SnapshotException;
import org.eclipse.mat.snapshot.extension.IClassSpecificNameResolver;
import org.eclipse.mat.snapshot.extension.Subject;
import org.eclipse.mat.snapshot.model.IObject;
@Name("Hung Thread Stacks")
@Category(WASHelper.WAS_CATEGORY + WASHelper.HUNGTHREADS_SUBCATEGORY)
@Help("List any threads that may be hung.nn")
public class HungThreadsList extends BasePlugin {
public IResult execute(IProgressListener listener) throws Exception {
int[] hungThreadIds = HungThreads.getHungThreadIds(snapshot);
return new HungThreadsListOutgoingReferencesTree(
hungThreadIds, listener);
}
Set name of query in menu
Set category in menu
Return “IResult” report
Find the Hung Threads
© 2013 IBM Corporation
Extending Memory Analyzer and IDDE
public static int[] getHungThreadIds(ISnapshot snapshot)
throws SnapshotException {
int[] threadIds = findObjects(snapshot, "java.lang.Thread");
List<Integer> hungThreads = new ArrayList<Integer>();
for (int thr : threadIds) {
IObject thrObj = snapshot.getObject(thr);
if (isThreadHung(thrObj)) {
hungThreads.add(thr);
}
}
int[] hungThreadObjectIds = getArrayIntegers(hungThreads);
return hungThreadObjectIds;
}
Find all Threads
Check if the Thread is hung
Return the hung threads
public static boolean isThreadHung(IObject thread) throws SnapshotException {
boolean result = false;
boolean isHung = MATHelper.resolveValueBool(thread, "isHung");
if (isHung != null && isHung.booleanValue()) {
result = true;
}
return result;
}
Get isHung field
Check value of field
Return field value
© 2013 IBM Corporation
Extending Memory Analyzer and IDDE
public class HungThreadsListOutgoingReferencesTree extends OutgoingReferencesTree {
private static final int sortIndex = COLUMN_INDEX_MAX_BUILTIN + 2;
public HungThreadsListOutgoingReferencesTree(ISnapshot snapshot,
int[] roots, IProgressListener listener)
throws SnapshotException {
super(snapshot, roots, listener);
}
Customized
OutgoingReferencesTree
• Hung Threads and references:
© 2013 IBM Corporation
IBM Produced Extensions
© 2013 IBM Corporation
IBM Extensions for Memory Analyzer
• Brings IBM product domain knowledge to Memory Analyzer and IDDE
− WebSphere Application Server
− WebSphere eXtreme Scale
− WebSphere ESB
− WebSphere Portal Server
− CICS Transaction Gateway
...plus others to follow
© 2013 IBM Corporation
WebSphere AppServer Extensions for Memory Analyzer
• Enable visualization and analysis of the Application Server and
deployed applications
• Shows configuration, status and detailed content information:
• Software install levels and startup time
• Installed applications and status
• Thread pool configuration and utilization
• HTTP session cache size and session content
• Application Class Loader leak detection
© 2013 IBM Corporation
WebSphere AppServer Extensions for Memory Analyzer
App Server Overview
• Installed Levels
• Server, Node and Cell names
• Installed applications and status
• Breakdown of memory usage by component
Thread Pool Analysis
• Thread Pool configuration
• Current size of threads in pools
• Hung Thread detection
Web Application Analysis
• Application Status
• Deployed Context Root and URL
• Number of user sessions
Plus many more:
• HTTP Session Contents, EJB Container, Class Loader leak
analysis etc...
© 2013 IBM Corporation
WebSphere ESB Extensions for Memory Analyzer
• Extends Memory Analyzer with product specifics for WebSphere ESB
− Augments existing Memory Analyzer data structures
− Provides detailed product specific reports
• Breakdown of installed ESB applications for improved understanding of
the environment
− Improved efficiency and effectiveness of problem determination
and resolution
− WebSphere ESB L3 able to improve time to resolution of memory
related PMRs
− Customers have greater understanding of memory usage and run
time performance
• Design recommendations report identifies inefficient mediation flow logic
patterns and recommends alternatives for improved performance
© 2013 IBM Corporation
WebSphere ESB Extensions for Memory Analyzer
Mediation Flows
• List of Mediation Flow Components
− Number of instances and memory usage
• Breakdown of Mediation Flow Component
− Mediation flow logic, display names, etc.
Application Overview
• Breakdown of each WebSphere ESB
application
− Name, parsing mode, dependencies,
endpoints
− Binding and component information, etc.
Plus a number of other reports:
• WebSphere ESB Overview, Mediation
Primitives, Design Recommendations and
Statistics
© 2013 IBM Corporation
CICS TG Extensions for Memory Analyzer
Improving First Failure Data Capture (FFDC)
• CICS customers comfortable with taking dumps
• Aim to provide similar function to IPCS
• Gain useful information about state of the product
© 2013 IBM Corporation
CICS TG Extensions for Memory Analyzer
Available reports
• Current Workload
• Statistics
• Configuration
• Connection details
Aims:
• Get as much information as possible
• Avoid recreates and trace
• Allow support to fully investigate
© 2013 IBM Corporation
Rational Application Developer 9.0 and Health Center
• In addition to supporting trace-based profiling, Rational Application
Developer v9.0 Beta now supports sample-based profiling for
diagnosing execution time problems.
− Provided by Health Center Agent, the same as in IBM Support
Assistant.
− Using the Health Center API, introduced in Health Center v2.1
− Very low overhead compare with trace-based profiling.
− Available on all supported profiling launch types, including profiling
on WAS servers.
© 2013 IBM Corporation
Rational Application Developer 9.0 and Health Center
© 2013 IBM Corporation
Rational Application Developer 9.0 and Health Center
© 2013 IBM Corporation
Rational Application Developer 9.0 and Health Center
© 2013 IBM Corporation
Rational Application Developer 9.0 and Health Center
Fully qualified method name
Number of samples taken
while a particular method
was being run at the top of
the stack
The % of samples taken while a particular method
was being run at the top of the stack
The % of samples taken while a particular method
was anywhere in the call stack
© 2013 IBM Corporation
Summary
• IBM is building a set of integrated monitoring and diagnostic tools
• Taking a ground up approach
• Working across teams, products and brands
• Providing a consistent user experience
© 2013 IBM Corporation
Questions?
© 2013 IBM Corporation
Summary
• IBM is building a set of integrated monitoring and diagnostic tools
• Taking a ground up approach
• Working across teams, products and brands
• Providing a consistent user experience
© 2013 IBM Corporation
Other Sessions
• TAW-2713: Roundtable: WAS Serviceability and Problem Determination Tools
− Wednesday 13:00 and Thursday 13:00, Zeno 4703
• TAD-2709: Roundtable: IBM Support Assistant: Future Strategies for PD
− Wednesday 10:15 and Thursday 14:15, Zeno 4702
• TAW-1217: Lab: Diagnostic and Performance Tools for WAS
− Thursday 13:00, Murano 3301B
• AVP-3225: Lab: Java Troubleshooting with ISA 5 and TMDA
− Wednesday 10:15, Zeno 4601
• ICF-4622: Roadmap for WebSphere Liberty Performance Monitoring
− Thursday 15:45, Titian 2303
© 2013 IBM Corporation
References
• IBM Monitoring and Diagnostic Tools for Java™
− http://www.ibm.com/developerworks/java/jdk/tools/
• IBM Extensions for Memory Analyzer
− http://www.alphaworks.ibm.com/tech/iema
• Debugging WebSphere Application Server from Dumps (MA)
− http://www.ibm.com/developerworks/websphere/techjournal/1103_
supauth/1103_supauth.html
• IBM Support Assistant (ISA)
− http://www.ibm.com/software/support/isa
• Email: javatool@uk.ibm.com
© 2013 IBM Corporation
We love your Feedback!
Don’t forget to submit your Impact session and speaker feedback!
• Your feedback is very important to us – we use it to improve next year’s
conference
• Go to the Impact 2013 SmartSite (http://impactsmartsite/com):
‒ Use the session ID number to locate the session
‒ Click the “Take Survey” link
‒ Submit your feedback
© 2013 IBM Corporation
© 2013 IBM Corporation
Legal Disclaimer
• © IBM Corporation 2013. All Rights Reserved.
• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained
in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are
subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing
contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and
conditions of the applicable license agreement governing the use of IBM software.
• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or
capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to
future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you
will result in any specific sales, revenue growth or other results.
• If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete:
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will
experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
• If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete:
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs
and performance characteristics may vary by customer.
• Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM
Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server).
Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your
presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in
your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International
Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
• If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete:
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
• If you reference Java™ in the text, please mark the first use and include the following; otherwise delete:
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
• If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete:
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete:
Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.
• If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete:
UNIX is a registered trademark of The Open Group in the United States and other countries.
• If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of
others.
• If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta
Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration
purposes only.

Más contenido relacionado

La actualidad más candente

Practicing Continuous Deployment
Practicing Continuous DeploymentPracticing Continuous Deployment
Practicing Continuous Deploymentzeeg
 
PostgreSQL Extensions: A deeper look
PostgreSQL Extensions:  A deeper lookPostgreSQL Extensions:  A deeper look
PostgreSQL Extensions: A deeper lookJignesh Shah
 
Java troubleshooting thread dump
Java troubleshooting thread dumpJava troubleshooting thread dump
Java troubleshooting thread dumpejlp12
 
Java Performance Monitoring & Tuning
Java Performance Monitoring & TuningJava Performance Monitoring & Tuning
Java Performance Monitoring & TuningMuhammed Shakir
 
자바 성능 강의
자바 성능 강의자바 성능 강의
자바 성능 강의Terry Cho
 
Objective-C Is Not Java
Objective-C Is Not JavaObjective-C Is Not Java
Objective-C Is Not JavaChris Adamson
 
Web Sphere Problem Determination Ext
Web Sphere Problem Determination ExtWeb Sphere Problem Determination Ext
Web Sphere Problem Determination ExtRohit Kelapure
 
Project Deimos
Project DeimosProject Deimos
Project DeimosSimon Suo
 
Embedded Mirror Maker
Embedded Mirror MakerEmbedded Mirror Maker
Embedded Mirror MakerSimon Suo
 
High Performance Computing - Cloud Point of View
High Performance Computing - Cloud Point of ViewHigh Performance Computing - Cloud Point of View
High Performance Computing - Cloud Point of Viewaragozin
 
Casual mass parallel data processing in Java
Casual mass parallel data processing in JavaCasual mass parallel data processing in Java
Casual mass parallel data processing in JavaAltoros
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java WorkshopSimon Ritter
 
Apache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source IntegrationApache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source Integrationprajods
 
Machine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLMachine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLArnab Biswas
 
Scaling Your Cache
Scaling Your CacheScaling Your Cache
Scaling Your CacheAlex Miller
 

La actualidad más candente (20)

Practicing Continuous Deployment
Practicing Continuous DeploymentPracticing Continuous Deployment
Practicing Continuous Deployment
 
Memcached
MemcachedMemcached
Memcached
 
PostgreSQL Extensions: A deeper look
PostgreSQL Extensions:  A deeper lookPostgreSQL Extensions:  A deeper look
PostgreSQL Extensions: A deeper look
 
Java troubleshooting thread dump
Java troubleshooting thread dumpJava troubleshooting thread dump
Java troubleshooting thread dump
 
Java Performance Monitoring & Tuning
Java Performance Monitoring & TuningJava Performance Monitoring & Tuning
Java Performance Monitoring & Tuning
 
자바 성능 강의
자바 성능 강의자바 성능 강의
자바 성능 강의
 
Objective-C Is Not Java
Objective-C Is Not JavaObjective-C Is Not Java
Objective-C Is Not Java
 
Web Sphere Problem Determination Ext
Web Sphere Problem Determination ExtWeb Sphere Problem Determination Ext
Web Sphere Problem Determination Ext
 
Project Deimos
Project DeimosProject Deimos
Project Deimos
 
Embedded Mirror Maker
Embedded Mirror MakerEmbedded Mirror Maker
Embedded Mirror Maker
 
High Performance Computing - Cloud Point of View
High Performance Computing - Cloud Point of ViewHigh Performance Computing - Cloud Point of View
High Performance Computing - Cloud Point of View
 
Casual mass parallel data processing in Java
Casual mass parallel data processing in JavaCasual mass parallel data processing in Java
Casual mass parallel data processing in Java
 
Alfresco tuning part1
Alfresco tuning part1Alfresco tuning part1
Alfresco tuning part1
 
Hibernate java and_oracle
Hibernate java and_oracleHibernate java and_oracle
Hibernate java and_oracle
 
Tomcatx performance-tuning
Tomcatx performance-tuningTomcatx performance-tuning
Tomcatx performance-tuning
 
5 Steps to PostgreSQL Performance
5 Steps to PostgreSQL Performance5 Steps to PostgreSQL Performance
5 Steps to PostgreSQL Performance
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
 
Apache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source IntegrationApache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source Integration
 
Machine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLMachine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkML
 
Scaling Your Cache
Scaling Your CacheScaling Your Cache
Scaling Your Cache
 

Similar a Monitoring and Diagnostic Tools for Java

Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsChris Bailey
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesBrian Petrini
 
WebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsWebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsChris Bailey
 
Metadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework ManagerMetadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework ManagerSenturus
 
Monitoring your physical, virtual and cloud infrastructure with Applications ...
Monitoring your physical, virtual and cloud infrastructure with Applications ...Monitoring your physical, virtual and cloud infrastructure with Applications ...
Monitoring your physical, virtual and cloud infrastructure with Applications ...ManageEngine, Zoho Corporation
 
1457 - Reviewing Experiences from the PureExperience Program
1457 - Reviewing Experiences from the PureExperience Program1457 - Reviewing Experiences from the PureExperience Program
1457 - Reviewing Experiences from the PureExperience ProgramHendrik van Run
 
Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...Indrajit Poddar
 
Improving Software Delivery with DevOps & Software Defined Environments
Improving Software Delivery with DevOps & Software Defined EnvironmentsImproving Software Delivery with DevOps & Software Defined Environments
Improving Software Delivery with DevOps & Software Defined EnvironmentsMichael Elder
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...DataStax Academy
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...Agile Testing Alliance
 
Ibm PureApplication system
Ibm PureApplication systemIbm PureApplication system
Ibm PureApplication systemkhawkwf
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesChris Bailey
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsYong Feng
 
Real-time analysis using an in-memory data grid - Cloud Expo 2013
Real-time analysis using an in-memory data grid - Cloud Expo 2013Real-time analysis using an in-memory data grid - Cloud Expo 2013
Real-time analysis using an in-memory data grid - Cloud Expo 2013ScaleOut Software
 
Elite mindz introduction
Elite mindz introductionElite mindz introduction
Elite mindz introductionSimerjeet Singh
 
EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?Simerjeet Singh
 
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...Chris Bailey
 

Similar a Monitoring and Diagnostic Tools for Java (20)

Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java Tools
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
 
WebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsWebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic Tools
 
Metadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework ManagerMetadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework Manager
 
Monitoring your physical, virtual and cloud infrastructure with Applications ...
Monitoring your physical, virtual and cloud infrastructure with Applications ...Monitoring your physical, virtual and cloud infrastructure with Applications ...
Monitoring your physical, virtual and cloud infrastructure with Applications ...
 
1457 - Reviewing Experiences from the PureExperience Program
1457 - Reviewing Experiences from the PureExperience Program1457 - Reviewing Experiences from the PureExperience Program
1457 - Reviewing Experiences from the PureExperience Program
 
Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...
 
Improving Software Delivery with DevOps & Software Defined Environments
Improving Software Delivery with DevOps & Software Defined EnvironmentsImproving Software Delivery with DevOps & Software Defined Environments
Improving Software Delivery with DevOps & Software Defined Environments
 
1812 icap-v1.3 0430
1812 icap-v1.3 04301812 icap-v1.3 0430
1812 icap-v1.3 0430
 
Java one2016
Java one2016Java one2016
Java one2016
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
 
Ibm PureApplication system
Ibm PureApplication systemIbm PureApplication system
Ibm PureApplication system
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
 
Neev Load Testing Services
Neev Load Testing ServicesNeev Load Testing Services
Neev Load Testing Services
 
Real-time analysis using an in-memory data grid - Cloud Expo 2013
Real-time analysis using an in-memory data grid - Cloud Expo 2013Real-time analysis using an in-memory data grid - Cloud Expo 2013
Real-time analysis using an in-memory data grid - Cloud Expo 2013
 
Elite mindz introduction
Elite mindz introductionElite mindz introduction
Elite mindz introduction
 
EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?
 
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
 

Más de Chris Bailey

NodeJS Interactive 2019: FaaS meets Frameworks
NodeJS Interactive 2019:  FaaS meets FrameworksNodeJS Interactive 2019:  FaaS meets Frameworks
NodeJS Interactive 2019: FaaS meets FrameworksChris Bailey
 
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaSVoxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaSChris Bailey
 
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native WorldSilicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native WorldChris Bailey
 
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedFaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedChris Bailey
 
AltConf 2019: Server-Side Swift State of the Union
AltConf 2019:  Server-Side Swift State of the UnionAltConf 2019:  Server-Side Swift State of the Union
AltConf 2019: Server-Side Swift State of the UnionChris Bailey
 
Server-side Swift with Swagger
Server-side Swift with SwaggerServer-side Swift with Swagger
Server-side Swift with SwaggerChris Bailey
 
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsNode Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsChris Bailey
 
Index - BFFs vs GraphQL
Index - BFFs vs GraphQLIndex - BFFs vs GraphQL
Index - BFFs vs GraphQLChris Bailey
 
Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesSwift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesChris Bailey
 
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftSwift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftChris Bailey
 
Try!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftTry!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftChris Bailey
 
Swift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionSwift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionChris Bailey
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesChris Bailey
 
IBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and SwiftIBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and SwiftChris Bailey
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesChris Bailey
 
FrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftFrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftChris Bailey
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesChris Bailey
 
InterConnect: Server Side Swift for Java Developers
InterConnect:  Server Side Swift for Java DevelopersInterConnect:  Server Side Swift for Java Developers
InterConnect: Server Side Swift for Java DevelopersChris Bailey
 
InterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and WhenInterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and WhenChris Bailey
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFChris Bailey
 

Más de Chris Bailey (20)

NodeJS Interactive 2019: FaaS meets Frameworks
NodeJS Interactive 2019:  FaaS meets FrameworksNodeJS Interactive 2019:  FaaS meets Frameworks
NodeJS Interactive 2019: FaaS meets Frameworks
 
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaSVoxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
 
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native WorldSilicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
 
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedFaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
 
AltConf 2019: Server-Side Swift State of the Union
AltConf 2019:  Server-Side Swift State of the UnionAltConf 2019:  Server-Side Swift State of the Union
AltConf 2019: Server-Side Swift State of the Union
 
Server-side Swift with Swagger
Server-side Swift with SwaggerServer-side Swift with Swagger
Server-side Swift with Swagger
 
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsNode Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.js
 
Index - BFFs vs GraphQL
Index - BFFs vs GraphQLIndex - BFFs vs GraphQL
Index - BFFs vs GraphQL
 
Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesSwift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift Microservices
 
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftSwift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack Swift
 
Try!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftTry!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is Swift
 
Swift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionSwift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the Union
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
IBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and SwiftIBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and Swift
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
 
FrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftFrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) Swift
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 Minutes
 
InterConnect: Server Side Swift for Java Developers
InterConnect:  Server Side Swift for Java DevelopersInterConnect:  Server Side Swift for Java Developers
InterConnect: Server Side Swift for Java Developers
 
InterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and WhenInterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and When
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFF
 

Último

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 

Último (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 

Monitoring and Diagnostic Tools for Java

  • 1. © 2013 IBM Corporation© 2013 IBM Corporation Introduction to the IBM Monitoring and Diagnostic Tools for Java Chris Bailey, Peter Whitehead, and Guests! IBM TAW-1560
  • 2. © 2013 IBM Corporation Please Note IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 3. © 2013 IBM Corporation Introduction to the Speakers Chris Bailey Java Serviceability and Cloud Integration Architect • 13 years experience developing and deploying Java SDKs • Recent work focus: ‒ Java integration into the cloud ‒ Java monitoring, diagnostics and troubleshooting ‒ Requirements gathering ‒ Highly resilient and scalable deployments • Contact Details: ‒ baileyc@uk.ibm.com ‒ http://www.linkedin.com/in/chrisbaileyibm ‒ http://www.slideshare.net/cnbailey/
  • 4. © 2013 IBM Corporation Introduction to the Speakers Peter Whitehead Program Manager, Java Technology Center and ASPN Development • 23 years experience developing storage subsystems, program management and deploying IBM's Java SDKs • Recent work focus: ‒ Improving Critical Patch Update concurrency ‒ Delivery of Java runtimes for IBM platforms and products ‒ Creation of serviceability tooling suite for IBM Java runtimes ‒ Delivery of distributed cloud operating environment for mobile networks • Contact Details: ‒ peter_whitehead@uk.ibm.com
  • 5. © 2013 IBM Corporation Introduction to the Speakers Plus Guests! • Dan Julin: STSM, AIM Serviceability, eSupport and Tools • Jason Edmeades: Messaging Service Architect • Andrew Smithson: CICS Transaction Gateway Technical Lead • Chuck Bridgham: Software Architect: Rational Analysis, Design and Construction
  • 6. © 2013 IBM Corporation Goals of the talk • Introduce the IBM tools for monitoring, debugging and diagnosing problems in the deployment life cycle • Understand the major problems scenarios, and how to select the best tools to diagnose the problem • Learn how to extend the tools with knowledge of your application or to build custom tools • See how IBM is building on top of the Java tools platform
  • 7. © 2013 IBM Corporation Agenda • Tools for Java ‒ Introduction to the IBM Monitoring and Diagnostic Tools for Java • Extending the Tools ‒ Overview of the APIs and Use Cases • IBM Extensions for the Java Tools ‒ IBM Extensions for Memory Analyzer (IEMA) ‒ Rational Application Developer v9.0
  • 8. © 2013 IBM Corporation Tools for Java
  • 9. © 2013 IBM Corporation IBM Monitoring and Diagnostic Tools for Java • A free suite of tools for understanding different aspects of Java applications − Garbage Collection and Memory Visualizer (GCMV) − Health Center − Memory Analyzer (and IBM Extensions for Memory Analyzer) − Interactive Diagnostic Data Explorer (IDDE) • Provide visualisation, analysis and recommendations • Fully supported • Available in the IBM Support Assistant − Provides the “toolbox” in which analysis tools reside − Assist with opening PMRs and working with IBM Support − Search feature to query IBM and non-IBM knowledge banks
  • 10. © 2013 IBM Corporation Garbage Collection and Memory Visualizer (GCMV) • Tool to analyze Java and “Native” Heap memory − Using verbose GC logs and OS level process memory logs • Graphs to show garbage collection and Java heap statistics over time • Not only for memory errors, very good for performance tuning • Recommendations use heuristics to guide you towards issues that may be limiting performance
  • 11. © 2013 IBM Corporation GCMV Highlights • Graphical Display of Data − Allows graphing of all available data: pause times, heap size etc − Allows zoom, cropping and change of axes value and units − Allows comparison of multiple files • Analysis and Recommendations − Provides tuning recommendations based on data and flags errors. − Analysis can be limited using cropping. − Values and units used in analysis can be changed by changing axes values and units
  • 12. © 2013 IBM Corporation Heath Center • Live monitoring tool with very low overhead • Pre-installed in JDK and WebSphere Application Server − Enable at startup: -Xhealthcenter − Enable at runtime:java -jar healthcenter.jar ID=<pid> • Understand how your application is behaving − Monitor Class loading, File I/O, Environment settings, Garbage Collection, Method Profiling, Locking, Native memory use • Diagnose potential problems, with recommendations • Works at the JVM level – no domain-specific (e.g. J2EE) information • Suitable for all Java applications
  • 13. © 2013 IBM Corporation Health Center Highlights Environment reporting • Detects invalid Java options • Detects options which may hurt performance or serviceability • Useful for remote diagnosis of configuration- related problems Class loading visualization • Shows all loaded classes • Shows load time • Identifies shared classes File I/O • Monitor application file open/close events as they occur • Lists currently open files
  • 14. © 2013 IBM Corporation Health Center Highlights Garbage Collection visualization • Visualizes heap usage and gc pause times over time • Identifies memory leaks • Suggests command-line and tuning parameters • Same recommendation logic as GCMV Native Memory • Detect native memory leaks in application • Determine if external forces are using more memory • Memory counters showing which parts of the JVM are using the most native memory Threads view • List of current threads and states • Number of threads over time • See contended monitors
  • 15. © 2013 IBM Corporation Health Center Highlights Method Profiling • Always-on profiling shows application activity • Identifies the hottest methods in an application • Full call stacks to identify where methods are being called from and what methods they call • No byte code instrumentation, no recompiling Java Lock Profiling • Always-on lock monitoring • Quickly allows the usage of all locks to be profiled • Helps to identify points of contention in the application that are preventing scaling Live control of application • Trigger dumps • Enable verbosegc collection
  • 16. © 2013 IBM Corporation Memory Analyzer • Tool for analyzing heap dumps and identifying memory leaks from JVMs • Works with IBM system dumps, heapdumps and Sun HPROF binary dumps • Provides memory leak detection and footprint analysis − Objects by Class, Dominator Tree Analysis, Path to GC Roots, Dominator Tree by Class Loader • Shows areas of memory wastage − Collections, duplicate strings, substring/char arrays, constant value primitives • Displays Stack trace with object references • Provides SQL like object query language (OQL) • Provides extension points to write analysis plugins
  • 17. © 2013 IBM Corporation Memory Analyzer Highlights Overview: • Overview of the dump including Java heap size and total number of objects. • Provides links to continued analysis Path to GC Roots: • Provides the reference chain that prevents an object being garbage collected. Dominator Tree grouped by Class Loader: • Lists the biggest objects using a “keep alive tree”. Grouping by Class • Loader limits the analysis to a single application in a JEE environment
  • 18. © 2013 IBM Corporation Interactive Diagnostic Data Explorer • Provides a visual representation of your set of dump files • An investigation log editor in which you run commands. This editor provides the following features: − Command assistance − Auto-completion of text − The ability to save commands and output, which you can then send to other people − Highlighted text and flagging of issues − The ability to add your own comments • An outline view to help you navigate the commands and output in the log editor • The ability to create your own commands, as plug-ins, and import plug- ins created by others
  • 19. © 2013 IBM Corporation IDDE Highlights • Interactive Editor: − Command assistance − Auto-completion of text − Ability to add your own comments • Multiple format support: − All operating system − Multiple file formats − Multiple address spaces on z/OS • Multiple plug-in support: − DTFJ − Dump Analyzer − Extensions for Memory Analyzer
  • 20. © 2013 IBM Corporation Problem Scenarios and Tools GCMV Health Center Memory Analyzer IDDE Performance  Garbage Collection performance only  Method Profiling  Lock Analysis  Garbage Collection  Garbage analysis  Collection efficiency Memory  Garbage Collection memory monitoring  Native (process) memory monitoring  Garbage Collection memory monitoring  Native (process) memory monitoring  Large object allocations  Java heap memory analysis Runtime  Process settings  Class Loading  Thread execution analysis  Application state reports  Thread execution analysis  Application state reports
  • 21. © 2013 IBM Corporation Extending the Tools
  • 22. © 2013 IBM Corporation Extending the Tools • Each of the tools has extensions and/or integrations points • Memory Analyzer and IDDE can be easily extended • Health Center data can be integrated into other tools
  • 23. © 2013 IBM Corporation Extending Health Center • Health Center provides an API to access the data and recommendations shown in the Health Center Client • Allows custom tools to receive, analyze and interpret the data • Health Center is a monitoring platform
  • 24. © 2013 IBM Corporation Extending Health Center import org.eclipse.equinox.app.IApplication; import org.eclipse.equinox.app.IApplicationContext; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import com.ibm.java.diagnostics.healthcenter.api.ConnectionProperties; import com.ibm.java.diagnostics.healthcenter.api.HealthCenter; import com.ibm.java.diagnostics.healthcenter.api.factory.HealthCenterFactory; import com.ibm.java.diagnostics.healthcenter.api.threads.ThreadsData; /** * This class controls all aspects of the application's execution */ public class Application implements IApplication { HealthCenter hcMon; public Object start(IApplicationContext context) throws Exception { ConnectionProperties hcConn = new ConnectionProperties(); hcMon = HealthCenterFactory.connect(hcConn, true); try { System.out.println("hcMonWaiting for 10 seconds to allow initial data to be parsed from the connection"); Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } checkForDeadlock(); return IApplication.EXIT_OK; } Setup connection properties Create a Health Center connection
  • 25. © 2013 IBM Corporation Extending Health Center public void checkForDeadlock() { while (!detectDeadlock()) { try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } } private boolean detectDeadlock() { ThreadsData hcthreadsData = hcMon.getThreadsData(); if (hcthreadsData == null) { System.out.println("No threads yet"); } else { if (hcthreadsData.deadlockDetected()) { Display display = new Display(); Shell shell = new Shell(display); MessageBox mb = new MessageBox(shell); String deadlockMessage = new String(); String[] hcThreadsRec = hcthreadsData .getCriticalRecommendations(); for (String rec : hcThreadsRec) { deadlockMessage = deadlockMessage + rec + "n"; } mb.setMessage(deadlockMessage); mb.setText("Deadlock detected"); mb.open(); display.dispose(); return true; } } return false; } Request Threads data Check for deadlock in threads Access the threads recommendations Display deadlock detected message
  • 26. © 2013 IBM Corporation Extending Memory Analyzer and IDDE • Memory Analyzer provides public extension points to build in additional “expert” knowledge • org.eclipse.mat.api.nameResolver − Provides readable description of an object in some of MAT's view (like toString()) − Annotates object types with detail about an object − eg. hostname and port for a Socket object • org.eclipse.mat.report.query − Adds a menu item that executes your plug-in code − Creates report style output in any form you want: Tree, Text, HTML, Pie Charts, etc.
  • 27. © 2013 IBM Corporation Extending Memory Analyzer and IDDE import org.eclipse.mat.SnapshotException; import org.eclipse.mat.snapshot.extension.IClassSpecificNameResolver; import org.eclipse.mat.snapshot.extension.Subject; import org.eclipse.mat.snapshot.model.IObject; @Subject("com.ibm.ws.webcontainer.webapp.WebAppImpl") public class WebApp implements IClassSpecificNameResolver { public String resolve(IObject object){ String result = null; try { IObject appName = (IObject)object.resolveValue("applicationName"); IObject contextPath = (IObject)object.resolveValue("contextPath"); if (appName != null && contextPath != null) { result = appName.getClassSpecificName() + " at " + contextPath.getClassSpecificName(); } } catch (SnapshotException e) { e.printStackTrace(); } return result; } }  NameResolvers “annotate” objects with a line of text: Select object type to “annotate” Return String with text to annotate Lookup field value Get the String name of the object field
  • 28. © 2013 IBM Corporation Extending Memory Analyzer and IDDE import org.eclipse.mat.SnapshotException; import org.eclipse.mat.snapshot.extension.IClassSpecificNameResolver; import org.eclipse.mat.snapshot.extension.Subject; import org.eclipse.mat.snapshot.model.IObject; @Name("Hung Thread Stacks") @Category(WASHelper.WAS_CATEGORY + WASHelper.HUNGTHREADS_SUBCATEGORY) @Help("List any threads that may be hung.nn") public class HungThreadsList extends BasePlugin { public IResult execute(IProgressListener listener) throws Exception { int[] hungThreadIds = HungThreads.getHungThreadIds(snapshot); return new HungThreadsListOutgoingReferencesTree( hungThreadIds, listener); } Set name of query in menu Set category in menu Return “IResult” report Find the Hung Threads
  • 29. © 2013 IBM Corporation Extending Memory Analyzer and IDDE public static int[] getHungThreadIds(ISnapshot snapshot) throws SnapshotException { int[] threadIds = findObjects(snapshot, "java.lang.Thread"); List<Integer> hungThreads = new ArrayList<Integer>(); for (int thr : threadIds) { IObject thrObj = snapshot.getObject(thr); if (isThreadHung(thrObj)) { hungThreads.add(thr); } } int[] hungThreadObjectIds = getArrayIntegers(hungThreads); return hungThreadObjectIds; } Find all Threads Check if the Thread is hung Return the hung threads public static boolean isThreadHung(IObject thread) throws SnapshotException { boolean result = false; boolean isHung = MATHelper.resolveValueBool(thread, "isHung"); if (isHung != null && isHung.booleanValue()) { result = true; } return result; } Get isHung field Check value of field Return field value
  • 30. © 2013 IBM Corporation Extending Memory Analyzer and IDDE public class HungThreadsListOutgoingReferencesTree extends OutgoingReferencesTree { private static final int sortIndex = COLUMN_INDEX_MAX_BUILTIN + 2; public HungThreadsListOutgoingReferencesTree(ISnapshot snapshot, int[] roots, IProgressListener listener) throws SnapshotException { super(snapshot, roots, listener); } Customized OutgoingReferencesTree • Hung Threads and references:
  • 31. © 2013 IBM Corporation IBM Produced Extensions
  • 32. © 2013 IBM Corporation IBM Extensions for Memory Analyzer • Brings IBM product domain knowledge to Memory Analyzer and IDDE − WebSphere Application Server − WebSphere eXtreme Scale − WebSphere ESB − WebSphere Portal Server − CICS Transaction Gateway ...plus others to follow
  • 33. © 2013 IBM Corporation WebSphere AppServer Extensions for Memory Analyzer • Enable visualization and analysis of the Application Server and deployed applications • Shows configuration, status and detailed content information: • Software install levels and startup time • Installed applications and status • Thread pool configuration and utilization • HTTP session cache size and session content • Application Class Loader leak detection
  • 34. © 2013 IBM Corporation WebSphere AppServer Extensions for Memory Analyzer App Server Overview • Installed Levels • Server, Node and Cell names • Installed applications and status • Breakdown of memory usage by component Thread Pool Analysis • Thread Pool configuration • Current size of threads in pools • Hung Thread detection Web Application Analysis • Application Status • Deployed Context Root and URL • Number of user sessions Plus many more: • HTTP Session Contents, EJB Container, Class Loader leak analysis etc...
  • 35. © 2013 IBM Corporation WebSphere ESB Extensions for Memory Analyzer • Extends Memory Analyzer with product specifics for WebSphere ESB − Augments existing Memory Analyzer data structures − Provides detailed product specific reports • Breakdown of installed ESB applications for improved understanding of the environment − Improved efficiency and effectiveness of problem determination and resolution − WebSphere ESB L3 able to improve time to resolution of memory related PMRs − Customers have greater understanding of memory usage and run time performance • Design recommendations report identifies inefficient mediation flow logic patterns and recommends alternatives for improved performance
  • 36. © 2013 IBM Corporation WebSphere ESB Extensions for Memory Analyzer Mediation Flows • List of Mediation Flow Components − Number of instances and memory usage • Breakdown of Mediation Flow Component − Mediation flow logic, display names, etc. Application Overview • Breakdown of each WebSphere ESB application − Name, parsing mode, dependencies, endpoints − Binding and component information, etc. Plus a number of other reports: • WebSphere ESB Overview, Mediation Primitives, Design Recommendations and Statistics
  • 37. © 2013 IBM Corporation CICS TG Extensions for Memory Analyzer Improving First Failure Data Capture (FFDC) • CICS customers comfortable with taking dumps • Aim to provide similar function to IPCS • Gain useful information about state of the product
  • 38. © 2013 IBM Corporation CICS TG Extensions for Memory Analyzer Available reports • Current Workload • Statistics • Configuration • Connection details Aims: • Get as much information as possible • Avoid recreates and trace • Allow support to fully investigate
  • 39. © 2013 IBM Corporation Rational Application Developer 9.0 and Health Center • In addition to supporting trace-based profiling, Rational Application Developer v9.0 Beta now supports sample-based profiling for diagnosing execution time problems. − Provided by Health Center Agent, the same as in IBM Support Assistant. − Using the Health Center API, introduced in Health Center v2.1 − Very low overhead compare with trace-based profiling. − Available on all supported profiling launch types, including profiling on WAS servers.
  • 40. © 2013 IBM Corporation Rational Application Developer 9.0 and Health Center
  • 41. © 2013 IBM Corporation Rational Application Developer 9.0 and Health Center
  • 42. © 2013 IBM Corporation Rational Application Developer 9.0 and Health Center
  • 43. © 2013 IBM Corporation Rational Application Developer 9.0 and Health Center Fully qualified method name Number of samples taken while a particular method was being run at the top of the stack The % of samples taken while a particular method was being run at the top of the stack The % of samples taken while a particular method was anywhere in the call stack
  • 44. © 2013 IBM Corporation Summary • IBM is building a set of integrated monitoring and diagnostic tools • Taking a ground up approach • Working across teams, products and brands • Providing a consistent user experience
  • 45. © 2013 IBM Corporation Questions?
  • 46. © 2013 IBM Corporation Summary • IBM is building a set of integrated monitoring and diagnostic tools • Taking a ground up approach • Working across teams, products and brands • Providing a consistent user experience
  • 47. © 2013 IBM Corporation Other Sessions • TAW-2713: Roundtable: WAS Serviceability and Problem Determination Tools − Wednesday 13:00 and Thursday 13:00, Zeno 4703 • TAD-2709: Roundtable: IBM Support Assistant: Future Strategies for PD − Wednesday 10:15 and Thursday 14:15, Zeno 4702 • TAW-1217: Lab: Diagnostic and Performance Tools for WAS − Thursday 13:00, Murano 3301B • AVP-3225: Lab: Java Troubleshooting with ISA 5 and TMDA − Wednesday 10:15, Zeno 4601 • ICF-4622: Roadmap for WebSphere Liberty Performance Monitoring − Thursday 15:45, Titian 2303
  • 48. © 2013 IBM Corporation References • IBM Monitoring and Diagnostic Tools for Java™ − http://www.ibm.com/developerworks/java/jdk/tools/ • IBM Extensions for Memory Analyzer − http://www.alphaworks.ibm.com/tech/iema • Debugging WebSphere Application Server from Dumps (MA) − http://www.ibm.com/developerworks/websphere/techjournal/1103_ supauth/1103_supauth.html • IBM Support Assistant (ISA) − http://www.ibm.com/software/support/isa • Email: javatool@uk.ibm.com
  • 49. © 2013 IBM Corporation We love your Feedback! Don’t forget to submit your Impact session and speaker feedback! • Your feedback is very important to us – we use it to improve next year’s conference • Go to the Impact 2013 SmartSite (http://impactsmartsite/com): ‒ Use the session ID number to locate the session ‒ Click the “Take Survey” link ‒ Submit your feedback
  • 50. © 2013 IBM Corporation
  • 51. © 2013 IBM Corporation Legal Disclaimer • © IBM Corporation 2013. All Rights Reserved. • The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. • References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. • If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete: Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. • If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete: All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. • Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both. • If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete: Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. • If you reference Java™ in the text, please mark the first use and include the following; otherwise delete: Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. • If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete: Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. • If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete: Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. • If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete: UNIX is a registered trademark of The Open Group in the United States and other countries. • If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete: Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. • If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.