If you can't read please download the document
Upload
schlebu
View
7.911
Download
3
Embed Size (px)
Citation preview
An Introduction to Java Profiling
An Introduction to Java Profiling
Developer's Day 2008
Patrick Schlebusch
Overview
An Introduction to Java Profiling
An Introduction to Profiling
YourKit Java Profiler
Demonstration
Additional information
What is Profiling?
An Introduction to Profiling
A development tool
Dynamic performance analysis at runtime
Implicit: Performance optimization based on analysis results
Development Process
An Introduction to Profiling
Problem analysis
Design
Development
Testing
Deployment
Profiling
Goals
An Introduction to Profiling
Measuring and locating performance bottlenecks
Time-expensive functions or code parts
Memory leaks and unnecessary memory allocation
Deadlocks
Useful interpretation of analysis results
Software performance improvements
Provide a detailed view on runtime behaviour
Problems
An Introduction to Profiling
Profiling produces overhead
Interpretation of results can be difficult
Identifying the crucial parts of the software
Recognizing potential for improvements
YourKit Java Profiler
yourKit Java Profiler
Commercial Java Profiling Tool
Free tryout and Open Source licenses are available
Used by Open Source projects such as various Apache projects, Azureus (many more..)
Also used by Sun Microsystems, Google, SAP and at i5
Features
yourKit Java Profiler
On-Demand Profiling
CPU, Memory and Concurrency profiling methods
IDE Integration
Profiling API
Support of many different Java versions and OSs
CPU Profiling
yourKit Java Profiler
Sampling
Low overhead
Useful to find slow parts of the code
Tracing
Significant overhead
Exact CPU time and method invokation counts
CPU Usage graphs
Memory Profiling
yourKit Java Profiler
Memory telemetry graphs
Heap / Non-Heap memory
Class loading statistics
Object count and size of classes
Explicit garbage collection
Object allocation recording
Thread Profiling
yourKit Java Profiler
Deadlock detection
Synchronization analysis
For which synchronized blocks or methods are Threads waiting?
How long?
Demonstration
Additional Information
YourKit Java Profiler
www.yourkit.com
Jprobe
www.quest.com/jprobe/
JProfiler
www.ej-technologies.com/products/jprofiler/
Various Open Source Profilers
java-source.net/open-source/profilers
Thank you.
Klicken Sie, um das Format des Titeltextes zu bearbeiten
Klicken Sie, um die Formate des Glieerungstextes zu bearbeiten
Zweite Gliederungsebene
Dritte Gliederungsebene
Vierte Gliederungsebene
Fnfte Gliederungsebene
Sechste Gliederungsebene
Siebente Gliederungsebene
Achte Gliederungsebene
Neunte Gliederungsebene
Titel der Folie
Klicken Sie, um die Formate des Gliederungstextes zu bearbeiten
Zweite Gliederungsebene
Dritte Gliederungsebene
Vierte Gliederungsebene
Fnfte Gliederungsebene
Sechste Gliederungsebene
Siebente Gliederungsebene
Achte Gliederungsebene
Neunte Gliederungsebene
Monday, 13th October 2008
An Introduction To Java Profiling