Java Doctor Book in Review Profiling Chapter Posted


News: Java Doctor Book in Review Profiling Chapter Posted

  1. This chapter, part of Manning Publication's Java Doctor book in review on TSS, is an introduction to profilers and an update on how profiling is done today. JVMPI/TI and bytecode instrumentation are discussed, as well as how to profile memory management, thread contentions, and CPU useage with HPROF and Optimizeit.

    Download Chapter 5 on profiling here:
    Go to page.

    Threaded Messages (18)

  2. I think the book title "Java Doctor" is really bad. I suggest you think of a better name.
  3. "Java Doctor" is really bad as title[ Go to top ]

    I think the book title "Java Doctor" is really bad. I suggest you think of a better name.

    Me too !
    "Java Advisor" or "Java Mentor" seem less bad ...
    Java technology is not ill :)

  4. "Java Doctor" is really bad as title[ Go to top ]

    I think the book title "Java Doctor" is really bad. I suggest you think of a better name.
    Me too !"Java Advisor" or "Java Mentor" seem less bad ...Java technology is not ill :)José.
    Java Advisor
  5. java doctor? oh.. T.T[ Go to top ]

    Me, too.
  6. No compelling reason to purchase[ Go to top ]

    Can't say either of those chapters read well, and at another level it is frustrating to have to read community contributions in book form. The whole, "we were watching the Apprentice and came up with a goo idea", was both chatty and seemed like filler. I find many of the newer Java titles to be full of chatter and banter.
  7. No compelling reason to purchase[ Go to top ]


    Thanks for your comments. First thing I'd like to make clear is that the book is not a collection of community contributions. Only ONE of the 10-12 chapters is based on solicitations from the community. The rest is based on our experience and humble knowledge (i.e. stemming especially from our years at Sun Microsystems)

    Secondly, because of constant re-edits, the language in the text can get choppy. There is a rigorous process to weed such things out, however, things can still slip by, even by non-author eyes. If there are specific areas you can point us to in the text that could use improvement please email us at javadoctor at manning dot com. We'd appreciate it highly.

    In regards to banter and chatter, it would be quite easy for us to churn out a very dense and highly technical document. In fact, if you looked at our early manuscripts, that's exactly what you would see. Believe it or not, alot of the early reviewers of the book wanted more of a backdrop and easier discussion. It's also part of Manning's style. So we re-worked that in.

    Taken as a whole (and the whole has yet to be released, so I worry when such a thorough conclusion of "No compelling reason to purchase" is declared) I believe the book will provide a lot of value to it's readers. I can only hope you feel the same when the book is released in entirety.


    Jamiel Sheikh
    Author, Java Doctor
  8. OT[ Go to top ]

    Jamiel is that you? Do you still remember me from the Medical Online days? How are you and wife?

    Sorry for being off topic.

  9. I think the chapter on profilers needs a better distinction between profilers (i.e. JProbe, OptimizeIT) and monitoring & management tools (i.e. Introscope, Performasure). The usage scenarios for these 2 tool types are very different, as are the target audiences (developers for profilers; tier 3 application support and sometimes developers for the monitoring tools).
    Also, you might want to include Mercury Interactive's diagnostics and monitoring products in addition to the ones you listed here - they're all excellent products (and they help me keep my day job).
    Deep Diagnostics for J2EE (high-end profiler)
    Diagnostics for J2EE (LoadRunner java plugin)
    Monitoring & Diagnostics for J2EE (formerly Topaz for J2EE)
  10. Hi Clay,

    Thanks for your response, and you are absolutely right. In fact, if you look at our ToC, we have a chapter on "JVM Monitoring" and another chapter entitled "The Three Ms", two of the "Ms" refer to Monitoring and Management. Although there is overlap, we have made a distinction between profiling and monitoring in the book.

    If not already there, we will be sure to include the Mercury product in our listing of profilers in the book.

    Jamiel Sheikh
    Author, Java Doctor
  11. Hi Jamiel,

    Could you please add our product to the list of monitoring and management solutions? We also do high level JVM event profiling with our JVMPI Agent.

    We just announced JXInsight 3.1 which has inter jvm EJB component level tracing as well as distributed tracing via CORBA portable interceptors.

    Will you also be talking about transaction execution patterns and verification of application transactional semantics? JXInsight is the only J2EE performance management product on the market that has actual resource transaction analysis. Most other tools view a transaction as an entry and exit point within a container whereas our tool is aggregating the various SQL operations into transaction trees. I regard this an important aspect of testing and performance management that has not been given enough attention in tools and books. I hope your book can change that.

    More information on our recent JXInsight 3.1 and 3.0 releases:


    William Louth
    JXInsight Product Architect

    "J2EE tuning, testing and tracing with JXInsight"
  12. profilers[ Go to top ]

    Hi Alexander & William
    We'll be evaluating a couple more profilers and management solutions before the book gets published. We will evaluate the ones you've listed as well as others. One profiler missing is JFluid, with plugins available for netbeans IDE.
    Your feedback is very much appreciated.
    Ali Syed
  13. When is this book due?[ Go to top ]

    When is this book tentatively due in the market?
  14. Lately I found that YourkitJavaProfiler has a great feature for memory-leak hunting: It can compare 2 memory-snapshots and tell you on one screen, how many objects of which type have been allocated and what their retained memory size is. Usually reduces the search for possible culprits to a single profiling session.
    Furthermor, as you can activate the cpu- and memory-intensive parts of this profiler at any stage of the process, you can also profile applications that are really big. One of our J2EE-apps are impossible to be profiled using other tools (and we tried quite a few of them).
  15. When is this book going to be ready for release?
  16. Alok,

    We are targetting Spring/Summer '05.


    Jamiel Sheikh
    Author, Java Doctor
  17. Additional Chapters To Review[ Go to top ]


    I was wondering if there was any chance of having additional chapters made available for review.

    Many thanks

  18. Missing topics[ Go to top ]

    This book looks interesting. However, we should not forget that 2 books are already there in the market and one of them is really great as a tuning guide. From my different engagements, my observation is bit different. To make this book really helpful, it is good to include following topics:

    1) A complete understanding of different terms like Performance Engineering, Performance Mangement Process, Performance Testing, Load Testing and Stress Testing.

    2) Capacity Planning

    3) I have observed people are mostly biased and are always interested in JVM tuning, which is not necessary in most of the cases (depends on case to case). As the title is "Java Doctor", from medical point of view, this book should provide three types of guide : Reactive management, Proactive Management and Preventive Managment. Keeping these in mind, I would expect JVM chapter will cover how a java program keeps footprints in JVM, compare it with the idea of different JVM area etc. Few diagarms would clarify the topics.

    4) Must include JFluid and VERITAS. In this perspective, chapter 5 is not sufficiently giving the idea about JVMPI/JVMTI/INtrumentation based profiling. We need to hit the specific points to explain them, which will be a good background for the readers to move ahead.

    5) I would suggest to cover call graph analysis as well, because that mechanism is going to be very usefull, specially in AOP and SOA based performance engineering.

    6) I would expect the concept of bycode engineering in respect to performance tuning as well, bcoz that will strengthen the trend.

  19. One comparison matrix of leading profiling tools would add more value.