advertisement
Premier Club Log In/Registration
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   SKILLBUILDING  |   TIP BANK  |   SOURCEBANK  |   FORUMS  |   NEWSLETTERS
Browse DevX
Partners & Affiliates
advertisement
advertisement
Average Rating: 2/5 | Rate this item | 1 user has rated this item.
 Print Print
 
DTrace and Java: Exposing Performance Problems That Once Were Hidden
The combination of DTrace and Java SE 6 enables an unprecedented view across all layers of Java software. Learn how to leverage the combo to gain tremendous insight into your Java applications, the JVM, or any other aspect of the software. 

advertisement
ou very rarely hear "quality of life" and "developer" in the same sentence. This is mostly because developers lack tools (not skills) that easily and concisely allow them to identify transient failures (performance problems) in complicated software stacks. Java developers, however, finally have a tool combination that allows for an unprecedented view across all layers of software that are involved in business applications—DTrace and Java SE 6. Time to find a new hobby to fill your free time.

Understanding the performance characteristics of software has always been notoriously difficult. This is especially true of languages such as Java. Developers all knew what they should be looking for, but few (if any) tools enabled them to easily test out their hypotheses. Each of the available tools fell short in some respect. The probe-effect was too high and changed the behavior of the application, or there was no seamless mechanism to observe the multiple layers of software simultaneously (Java code, JVM, native code, and the kernel), or you had to modify or restart your applications to perform the tests—which all but prevented you from debugging production performance issues.

The situation became much better for native code users (C, C++) with the release of Solaris 10 and DTrace. DTrace allows for the dynamic instrumentation of an application (meaning you can deliver fully optimized binaries and DTrace will do the instrumentation when an experiment is run) and the ability to collect arbitrary data about the application. In addition, DTrace allows for the simultaneous observation of both user-land applications and the kernel from a single tool.

However, analyzing Java application performance still left something to be desired. With J2SE 5.0, you had the ability to use DTrace to sample Java stacks, which although useful, was limited. The DVM provider for DTrace allowed more observability, but at a price—the application had to be restarted and the non-enabled probe-effect was still higher than developers would have liked.

With the release of Java SE 6, the love between Java and DTrace has become much stronger. DTrace probes are first-class citizens in the eyes of Java when run on a Solaris 10 system (regardless of SPARC/x86/x64 architecture). The DTrace probes in Java have zero disabled probe-effect; they can be enabled/disabled dynamically, and they have a much lower enabled probe-effect than the DVM provider (although an enabled probe-effect exists, but more on that later). This means that from a single tool—DTrace—you can observe your Java code in action, the JVM itself, JNI code, and the kernel to identify and correct performance problems. With this true systemic observability, it is very difficult for performance problems to hide.

Page 1 of 3
advertisement
  Next Page: DTrace Probes in Java SE
Page 1: IntroductionPage 3: A More Complex Java/DTrace Example
Page 2: DTrace Probes in Java SE 
advertisement
Advertising Info  |   Member Services  |   Permissions  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About


JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES