|
|
 |

December 2004
What’s
new
Dec 31st – Chapter
9: Action and Pitfall Tips Posted
This chapter contains 10 action and pitfall tips. Action tips provide information
about tool usage or techniques and how a tool can be ingeniously used to identify
or solve a production issue. Pitfall tips describe common problems that occur
in enterprise systems and discuss the symptoms they display. Download
the PDF file (ZIP).
View Discussion
Jan 28th – Chapter
5: Profiling
This chapter will survey the landscape of profiling tools. These tools help
bridge the gap between understanding what the JVM is doing and what the application
that is hosted within the JVM is doing. (Subscribe to the TSS Newsletter via
registering or editing your profile to be notified of this new chapter).Download
the PDF file (ZIP).
View Discussion
Contribute to Java Doctor
Manning Publications is releasing a new book entitled Java Doctor, in which
you can contribute to and get published! How does that work? And what is the
book about? Read on!
Java Doctor is a book about diagnosing and troubleshooting enterprise applications,
covering the methodologies, techniques and tools needed to successfully identify
problems in scalability, performance and availability. No, this is not another
performance book. In fact, it’s quite different. Most performance tuning
books look at how best to optimize your application. The missing piece is how
to best identify the parts of your application that actually need tuning. The
difficulty increases exponentially when such an exercise needs to be performed
in production (as opposed to development, QA or UAT) environments that are faltering.
This book has been written by two Sun Microsystems consultants who have been
heavily involved in troubleshooting gigs throughout the world.
Sounds interesting? Would you like to contribute? Here’s how: We’ve
dedicated an entire chapter to a series of bite-size tips. We are inviting
members of TheServerSide.com community to submit troubleshooting tips
for possible inclusion in this book. We’re looking for the best of the
best, and in return for your accepted and qualified submission we’ll acknowledge
your contribution in the book (and optionally your contact info). Talk about
instant exposure!
For more information on what kind of tips we’re looking for and the guidelines
you need to follow, take a look at Chapter 9 which is already chock full of
tips given to us by community members just like you!
Submit a Tip
To submit your tip, email us at javadoctor@manning.com.
Aside from the tips, we’re looking for feedback on our book, so tell us
what you think, we are eager to hear! Hope to see your name in Chapter 9!
Table of Contents
Introduction
Chapter 1: The Basics—We’re going to rummage through several
basic concepts. We’ll discuss what applications are and how you can measure
various aspects of an application. We’ll explain what systemic qualities
are and also touch on troubleshooting and development methodologies.
Chapter 2: The Operating System—Since we’ll be
taking a bottom-up approach toward diagnosing applications, we’ll start
the book at the lowest level in the stack: the operating system, such as Solaris,
Linux, or Windows. The operating system is your view into the underlying server
hardware and network resources. We’ll show you the tools that come with
an operating system and how to read, understand, and leverage the abundant information
provided by this layer.
Chapter 3: JVM Internals—This chapter will introduce
you to the fundamentals of the Java Virtual Machine. Without a doubt, the JVM
will play a central role in your ability to understand the behavior of your
application. The JVM is the sandbox that sets the rules, policies, and norms
for how your application can play. If your application tries to take a shovel
and throw out some sand, the JVM will know it, and you should, too. As such,
we’ll focus on the inner workings of the JVM as it relates to an applications
needs.
Chapter 4: JVM Monitoring—It’s time to get down
and dirty with the JVM. Here, we’ll present some advanced concepts and
strategies to help you better understand what’s going on in the JVM, what
your application is doing to the JVM, and what the JVM is doing to the application!
Chapter
5: Profiling—This chapter will survey the landscape of profiling
tools. These tools help bridge the gap between understanding what the JVM is
doing and what the application that is hosted within the JVM is doing. Using
the tools and the tips and techniques we present will give you a better understanding
of what is going on in a higher visual context, because most of these tools
present graphical representations of JVM activity. We’ll look at commercial
and open-source profilers and some of the interesting SNMP capabilities with
JDK 1.5
Chapter 6: The Code—If your applications creeps along,
even on a mega server with a fully tuned JVM, then you should target your application
code as a potential culprit. This chapter will look at chokepoints that commonly
exist in code in production land. Although this isn’t a Java code-tuning
book, we’ll examine areas that will give you insight in writing better
code and avoiding code that can kill many of the systemic qualities of your
architecture.
Chapter 7: Designing with the Three Ms—Here we’ll
look at design strategies that are geared toward better manageability, monitorability,
and maintainability. These include logging strategies, debugging, and exception
handling. Implementing these will give you a better handle on your application
when and if it comes time to pull out the microscope.
Chapter 8: Design Patterns for Monitorability and Performance—Continuing
from chapter 7, we’ll look at patterns you can use in the design of your
application. However, the focus will be on patterns that have strong influence
on performance, scalability, and manageability.
Chapter
9: Reality: Action & Pitfall Tips—We’ve saved the
best for last. This is a collection of suggestions sent to us by the TheServerSide.com
community, packed with juicy troubleshooting tips from the trenches!
Appendix A: Tools
Appendix B: Glimpse of JVM Source Code
Appendix C: Hacks
Appendix D: Installations
Appendix E: GCSpy Introduction, by the Author of GCSpy
|