YOUR FEEDBACK
Brian Vicente wrote: Where are listing 3 and listing 4?


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Diagnosing Performance Issues in Production Java Applications
Why better tools are needed

Java developers use a variety of tools to diagnose performance problems. These tools provide deep visibility into an application's runtime behavior, including an in-depth view into problem areas with exact line numbers and object values. However, these tools have traditionally been limited to development environments.

However, if one of your production applications is running slowly, you need a diagnostic tool you can use in a production environment. If a particular request is slow, you need to find the line of code or method that is causing the problem and identify the method arguments or method local variables. To determine which resources are causing the performance bottleneck, you need to find the objects causing the memory leaks in a production application. How can you detect and diagnose these performance issues in real-time, as well as diagnose similar problems that happened last night or last weekend?

Diagnosing performance problems in production environments without stopping the application or impacting performance is almost impossible. Developers and administrators have become accustomed to reproducing performance problems in development and test environments, where they can use heavy-duty diagnostic tools to achieve deep visibility. But reproducing the problems is difficult or even impossible because production workloads are different from testing or development environments.

Diagnosing performance problems in a production environment would save significant time, money, and energy. So why are current tools and technologies unable to provide deep Java granularity with very low overhead in production applications?

This article highlights the need for production diagnostics, reviews some of the existing Java monitoring and diagnostics tools, and suggests a new approach for production Java application monitoring and diagnostics.

Why Production Diagnostics?
Diagnosing performance problems in a production environment accelerates problem resolution drastically. IT teams save time and money with production diagnostics because they do not have to waste time reproducing performance problems. Production diagnostics empower IT operations teams to diagnose application problems, and free developers and architects to debug difficult problems. Let's first examine existing monitoring and diagnostic tools for Java-based applications.

JMX-Based Monitoring
Java Management Extensions (JMX)-based tools have low overhead and are often used to expose vital JVM statistics and application-specific metrics. Figure 1 shows a JMX-based monitoring console. Application administrators can establish baselines on JMX-based metrics and be alerted when the metrics are above their thresholds. These tools can provide limited visibility based on the kind of metrics exposed by the application and underlying Java container.

JMX monitoring provides valuable indicators when there is a possible application problem due to a threshold violation. But how do you find out what caused the metric to violate its threshold? Administrators depend on other tools and environments to diagnose the root cause.

About Rajagopal Marripalli
Rajagopal Marripalli is a principal product manager in the Oracle Applications and Systems Management division. His primary focus has been in the area of application performance management. He has more than 12 years of experience in the software industry in product development and product management. He has published papers and articles as well as presented technical seminars at conferences and user groups.

LATEST JAVA STORIES & POSTS
Unit testing is hard. There I said it. Although I have been developing software for the past 18 years I still find that putting my applications through their paces via unit testing is difficult. I have learned the lesson (I'm sure like many of you) the hard way. Unit testing is p...
Continuent has announced support and enhancements to MySQL Server 5.1.30 GA release, the 5.1 production version of the open source database. MySQL 5.1.30 is recommended for use on production systems by the MySQL build team at Sun Microsystems. Continuent Tungsten provides advance...
As a software journalist, there are times when certain vendors will shut the door on reporting opportunities that might represent too much of an "inside view" of their technology or their organization. I've been to more developer events than I can remember where I've been handed ...
Active Endpoints has announced the general availability of ActiveVOS 6.0.2, in response to ever increasing demands for improved process performance and efficiencies. ActiveVOS is an all-in-one, 100% standards-based orchestration and business process management system (BPM) that p...
Just because the web has been open so far doesn't mean that it will stay that way. Flash and Silverlight, arguably the two market-leading technology toolkits for rich media applications are not open. Make no mistake - Microsoft and Adobe aim to have their proprietary plug-ins, ak...
Doing network I/O on the user interface (UI) thread is bad. Most developers know that and can tell you why; unfortunately, it’s still done. At this year's JavaOne, one of the keynote JavaFX demos bombed because the network was slow, something that would be forgivable had the en...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

SPONSORED BY INFRAGISTICS
In every field of design one of the first things students do is learn from the work of others. They ...
There are many forces that influence technological evolution. After a decade of building enterprise ...
2008 is going to be an important year for Rich Internet Applications. Most organizations are deliver...
The OpenAjax Alliance is developing an Ajax industry wishlist for future browsers, using a dedicated...
Infragistics announced the availability of two Community Technology Preview (CTP) User Interface (UI...
The YUI development team has released version 2.5.2; you can download the new release from SourceFor...
ADS BY GOOGLE