W Hit e pa p e r : va n ta g e java a n d .

n e t m o nit o rin g

The approach to monitoring complex Java and .NET applications
In today’s economy, when budgets are strained and IT Operations must do more with less, IT asks the question “How do I maintain superior performance of my applications when I don’t have the time, the resources, or the money to do so?” In addition, applications are increasingly complex and difficult to understand. The level of application complexity is often due to the constant change of the applications themselves to maintain the level of functionality the business requires. Complexity is also due to the physical architecture of the applications evolving over time—extending, removing and modifying the multitude of tiers that make up the applications, ranging from the load balancers all the way back to the original mainframe components the applications grew from. Further complications arise from additive technologies such as virtualization that create many benefits but add to the burden of locating and solving applications performance issues. These hurdles force the IT staff to rely on tools and technology to manage, monitor and maintain the performance of their applications. Many Java and .NET monitoring solutions in the market today monitor application performance but have difficulties in dealing with the types of application complexities discussed above. These monitoring solutions frequently need to be reconfigured to accept the application changes and require an “expert” to do so. In addition, these solutions don’t provide the complete end-toend view of the application that is needed because applications have “grown up” incrementally over time. This paper will discuss key strategies for monitoring complex Java and .NET applications to ensure IT Operations can maintain the level of performance and availability end users demand.
Understanding application complexities As applications are moved into production, IT organizations have an enormous burden on their hands to find tools that offer both the breadth and depth required to deal with these complex applications. depth—Demands an approach based on detailed analysis of Java and .NET applications. These applications are typically managed today by multiple application experts to maintain the different components associated with them. These same application experts are also needed to understand what transactions are important to the business, so targeted monitoring can be established. This is problematic for the IT Operations team, since this type of support is often not delivered so these “application” resources can be allocated to more strategic projects for the business. This creates a gap in IT’s ability to identify and solve application performance issues. Breadth—Demands an approach based on an end-to-end view of the complex applications. This type of view is required to understand the transactional workflow complicated by the myriad of tiers that make up the application as it has evolved over the years. This need is often addressed by placing agents on each and every server—an impossible feat with the number and diversity of technologies in complex applications. Server agents are required to help support the depth requirements, but are usually not needed to support the breadth requirement. A balanced, comprehensive approach to these two dimensions is the best way to address complex Java and .NET applications. As these systems have become more complex, user expectations of performance continue to increase and, correspondingly, the demand for performance monitoring solutions to manage and monitor all aspects of the application. To make matters more difficult, IT Operations continues to have its “silo” experts to monitor and manage these systems

W Hit e pa p e r : va n ta g e java a n d . n e t m o nit o rin g

separate from the development team that produced these complex applications. This situation demands a set of tools that can allow collaboration between all the various experts. Compuware Vantage provides a solution that captures an end-to-end view of Java and .NET transaction performance analysis as well as providing deep root-cause analysis in a form that enables IT operations teams to quickly find and fix problems without having to rely on the application development team on a day-to-day basis. Vantage Java and .NET monitoring can offer seamless, quick integration with Vantage End-user Experience Monitoring and Transaction Profiling to provide a broad and deep transaction analysis of all applications, for all users, from all locations. The next sections of this document will explore how Vantage can offer:
• •

Can you trace your user transactions through the application code to pinpoint bottlenecks? Are you able to quickly identify what components of the application are causing memory leaks? Do you have 24x7 monitoring for all transactions to ensure complete coverage? Are you able to effectively define and manage service levels for the applications the business relies on? Can you monitor production applications without impacting their performance? Can IT Operations effectively communicate to the Application team how to ultimately fix problems?

Java and .NET monitoring for deep application analysis and monitoring Broad end-to-end application coverage.

These questions can be answered in a number of ways by Compuware’s Vantage Java and .NET monitoring solution. COMPlETE PICTUrE Many IT organizations only see a piece of the application, which can make it difficult to identify the performance issues and determine which application expert to call. Vantage Java and .NET monitoring provides both a broad and deep analysis into pre-production and production environments that allow users to pinpoint the exact locations of code-level performance problems. Vantage technology delivers a visual landscape of Java and .NET component-based performance metrics and component interactions, helping IT staff to quickly tackle performance problems, stabilize poorly performing applications and align technology with business requirements.

deep application analysis Building new applications or adding new ones to the business doesn’t happen as often as enhancing or extending existing applications. Updates to existing applications require effective tuning to ensure expected levels of service are being maintained. In order to understand the application to the depth required to resolve performance-related issues, a couple of considerations are in order:

Do you have a complete picture of your applications to effectively assess performance problems? Can you gain visibility into all application tiers to effectively isolate performance issues?

Vantage identifies poor performance in context of the transaction workflow to better understand where the bottlenecks reside.

compUWare.com

|

compUWare corporation: We maKe i.t. rocK aroUnd tHe World

VISIBIlITy AND TrACEABIlITy What happens when IT operations struggle to get visibility into all application tiers and are not able to trace the transaction through the application code to pinpoint exactly where to tune the code? Vantage enables back-end transaction analysis to deliver visibility for tiers that are beyond the reach of traditional Java and .NET solutions. This helps address limitations on the ability to instrument all the servers, due to cost constraints or the time required to place agents on mission-critical servers. Vantage Java and .NET monitoring provides transactional tracing which follows and captures individual transactions down to the method level across different tiers and technologies to assist root-cause analysis. Vantage Java and .NET monitoring can follow transactions across multiple JVMs/Clrs/.NET threads to identify the real bottleneck of the transaction.

“The trace output not only helps the business to understand all the components which affected the performance. It gives IT enough information to pinpoint the root cause and take corrective actions.”
— Dave Patzwald, Vice President of IT, North American Operating Division Schneider Electric

Different methods are traced in different tiers of the application such as Tomcat (first tier), WebSphere (second tier), and JBoss (third tier). Vantage automatically breaks down the bottleneck to highlight the main reason for the slowdown: Java/.NET code, database activity or network time.

W Hit e pa p e r : va n ta g e java a n d . n e t m o nit o rin g

UNDErSTANDINg MEMOry lEAkS Visibility into application performance sometimes isn’t the problem; instead, memory can be the issue. Finding memory leaks in Java or .NET applications can be a daunting task due to not knowing the exact component causing the memory to crash. Vantage Java and .NET monitoring quickly identifies Java memory leaks and high memory allocation sites automatically, allowing IT operations and development teams to focus on problem resolution.

In order to keep CPU overhead down, Vantage Java/.NET monitoring utilizes several intelligent profiling techniques to gather performance metrics without adversely affecting your application. you don’t need to figure out what portions of your code to monitor or bring production servers down to make monitoring changes. Furthermore, Vantage calculates its overhead at startup, which allots for customization of CPU speed, as well as memory I/O. Vantage contains automatic internal throttling to ensure the monitor is optimized for your application’s needs. EFFECTIVEly COMMUNICATE JAVA AND .NET PErFOrMANCE More often than we’d like to admit, relationships between IT operations and application teams are usually ineffective. Most organizations lack a tool to assist in communicating identified issues or problems between “ops” and “apps.” IT is asked to produce “proof” of issues, resulting in either increased time to resolve the problems or a complete breakdown of the problem resolution process. What is needed is a solution that:

does not rely on the application team’s daily involvement to identify what and how to monitor the application provides sufficient information in a form the application team can act on to prioritize and resolve identified performance problems.

Vantage identifies potential memory leaks immediately, including the type and size of the leak and where within the application it occurs, so that it can be fixed immediately.

ArOUND THE ClOCk SErVICE-lEVEl AWArENESS Being able to effectively monitor and tune the application is important. Ensuring service is constantly being maintained is imperative to successfully managing applications. Vantage Java and .NET monitoring capabilities add the ability to define service levels to enable IT staff to effectively monitor methods by CPU, invocations and response time, gain valuable performance insight into SQl calls, and also collect key JMX/WMI metrics—right out of the box. In addition, Vantage can be configured to trigger alarms, such as sending a page or an e-mail, to alert administrators of degraded performance, resource starvation, hung transactions, system response-time issues or the approach of system transaction capacity. A SOlUTION OPTIMIzED FOr PrODUCTION Many Java and .NET monitoring solutions have high overhead associated with monitoring applications in production environments. This hinders the ability to perform deep application analysis. In addition, these solutions gather data using an agent, which causes the monitoring overhead to increase linearly with application load.

These two aspects are important to ensure that efficiency and effectiveness are optimized for both operations and applications teams. Many tools do not provide a solution that addresses both of these aspects, leading ultimately to a breakdown of communication and cooperation when problems arise. Vantage Java/.NET monitoring solves both of these problems. First, Vantage monitors all transactions, thus eliminating operations’ reliance on the application team to identify and maintain the key set of business transactions that need to be monitored. Second, Vantage enables operations to effectively communicate performance issues through several reporting views. Management or Operational views can drill down to the level of deep analysis. Some deep analysis reports include node CPU and JVM heap utilization, the top ten worst-performing methods (ASPs, JSPs, servlets and EJBs), as well as the top ten worst-performing SQl calls. These reports can be used to compare releases and ensure quality control throughout development and QA life cycles.

compUWare corporation: We maKe i.t. rocK aroUnd tHe World

|

compUWare.com

W Hit e pa p e r : va n ta g e java a n d . n e t m o nit o rin g

Vantage provides views for different audiences to effectively communicate issues. The different views enable drilling on the prioritized issue, keeping the information in context and isolating the fault domain issues. In addition, users can drill down directly into our deep-dive analysis tool, which might be a network monitoring tool, Java/.NET monitoring tool, a mainframe tool, or even another vendor’s product. end-to-end pictUre of tHe application Since applications are architected with many tiers or sub-systems, it’s important to ensure you have the full end-to-end picture. Having a clear understanding of your Java and .NET application performance is important, but what happens when performance problems are introduced by other tiers or systems outside the direct path of the Java/.NET tiers, such as the network, the mainframe, the databases and any other tier that may not be directly linked to either the web or application server tier? Vantage provides visibility into the network contribution of transaction response times, giving an accurate picture of the level of service being delivered to real users, not just the data-center view of the transaction response times. In addition, Vantage provides 100 percent visibility of all transactions without pre-knowledge of the application. A complete view of all transactions avoids the need to know the application beforehand and helps to address application changes throughout the application life cycle.

Vantage captures and provides the ability to view the end-to-end perspective of all tiers for all applications.

compUWare corporation: We maKe i.t. rocK aroUnd tHe World

|

compUWare.com

W Hit e pa p e r : va n ta g e java a n d . n e t m o nit o rin g

Vantage correlates key performance metrics with end-user experience to provide a true end-to-end picture of application performance. been found, Vantage offers unparalleled reporting capability, both out of the box and customized, to facilitate communication with the appropriate stakeholders. With insight into end-user experience coupled with visibility into all tiers of the application, Vantage enables IT teams to collaborate effectively, prioritize and identify bottlenecks and the impact on the business, as well as fix the problems. sUperior application performance management solUtion Vantage Java/.NET monitoring is the first step to getting started with application performance management, but you shouldn’t stop there. Having a complete end-to-end view of the application is necessary. Vantage is the only solution that provides a comprehensive Application Performance Monitoring (APM) solution to truly get the most out of Java and .NET solutions. Otherwise, IT organizations are just adding yet another silo to their array of existing silos that are not helping effectively identify and resolve application service delivery issues.

“Where other tools are server-centric, the Compuware product line is more holistic in nature. Vantage not only looks at the overall health of the IT infrastructure and different applications, but also indicates how well individual applications are performing. Because Vantage can look at the total IT environment and compile all the different pieces of data into a single focal point, it gives my staff better direction on where to find problems. We gained a certain synergy in using Vantage.”
— Steve Adamczyk, WSU Director of Computing Center Services Wayne State University

There are a couple of important aspects that Vantage captures to provide immediate visibility into the application:
• •

the network contribution to the end-to-end transaction the impact of the problem on the business transaction following for intermittent problems, starting with the end user. Kristen allmacHer, it service management solUtion marKeting manager, compUWare kristen has been working in the IT Service Management industry for more than 10 years in the areas of release and delivery, strategic planning, product management, sales engineering and process improvements. kristen has a Six Sigma green Belt and is ITIl Foundation v3 certified.

Vantage Java/.NET monitoring seamlessly integrates with Vantage real-user Monitoring and provides full visibility of the root cause of end-user transaction performance problems. After the bottlenecks have

Founded in 1973, Compuware provides software, experts and best practices to ensure applications work well and deliver business value. Our unique approach, Business Service Delivery, helps CIOs optimize end-to-end application performance for leading businesses around the world, including 46 of the top 50 Fortune 500 companies. learn more at compuware.com. compuware corporation Corporate Headquarters One Campus Martius Detroit, MI 48226-5099

© 2009 Compuware Corporation

All Compuware products and services listed within are trademarks or registered trademarks of Compuware Corporation. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems Inc. in the United States and other countries. All other company or product names are trademarks of their respective owners.
09.09