Tuesday, July 31, 2007


Mercury Diagnostics






Mercury Diagnostics™ isolates application performance problems and reduces the mean time to resolution (MTTR) of your application performance bottlenecks. It provides actionable information to resolve performance problems.





Mercury Diagnostics™ is a best-of-breed solution—for composite applications management (CAM) as well as traditional applications management—that helps you ensure 24x7 application availability and performance in production and pre-production environments to provide better service to the business. Only Mercury Diagnostics enables you to start with the end user (real users or synthetic-scripted transactions) and then drill down in context to quickly resolve a broad range of problems that can impact business availability.




Examples of these problems include:





  • End users experiencing slow performance when submitting orders.

  • Intermittent failure of online portal for order status.

  • Business-critical applications running out of memory.

  • Failure of one node on a cluster every day.



Mercury Diagnostics provides broad monitoring and deep root-cause analysis capabilities and is a true lifecycle solution that bridges the gap between organizational silos to enable effective collaboration even among diverse, dispersed teams. It provides end-to-end visibility into application performance across the lifecycle.




With Mercury Diagnostics, we can:



  • Reduce the number and duration of incidents—lowering the costs associated with problem identification and resolution.

  • Lower costs by reducing fault management efforts and hardware and software expenses for fast time to value.

  • Collaborate across team boundaries and streamline the learning curve of those responsible for maintaining J2EE, .NET, and ERP/CRM applications.




Mercury Diagnostics supports a variety of platforms and solutions including, but not limited to, the following:



  • Industry-leading J2EE application servers such as Weblogic, Websphere, Oracle, Fujitsu Interstage, TMaxSoft, ATG, and Sun One.

  • Industry-leading portal solutions such as Weblogic Portal, Websphere Portal, and SAP Enterprise Portal.

  • Industry-leading SOA platforms, packaged application technologies (SAP, Oracle), mainframe back ends (MQ Series, CICS), and enterprise databases (Oracle, SQL Server, DB2).

  • Microsoft .NET Common Language Runtime (1.1 & 2.0).

  • Industry-leading application JVMs from Sun, IBM, BEA, and HP.

  • Various open source platforms and frameworks such as JBoss, Tomcat, Struts, and Hibernate.






Integrated with Mercury LoadRunner, Mercury Business Availability Center and Mercury Performance Center




Mercury Diagnostics is integrated with Mercury Business Availability Center™ and Mercury Performance Center.




§ Mercury LoadRunner is an enterprise testing tool that predicts system behavior and employs performance monitors, called agents, which trace events along an application path to quickly isolate system bottlenecks with minimal impact to the system.


§ Mercury Business Availability center is an integrated set of software, solutions, and best practices for monitoring and managing business applications and systems.


§ Mercury Performance center is an integrated set of software, services, and best practices for automating key performance activities, including load testing, performance tuning, application diagnostics, and capacity planning.






Features and Benefits




Integration with Mercury Business Availability Center™, Mercury Performance Center™, and Mercury LoadRunner™: Mercury Diagnostics™ provides full integration with Mercury Optimization Centers to deliver a 24x7, 360-degree application performance management solution for your complex applications across the lifecycle. This integration helps you understand the end-user impact (real-users or synthetic scripted transactions) of application downtime and the readiness of applications to go live.



End-to-End Monitoring and Diagnostics for Composite Applications: Unlike other tools that work on one technology platform at a time or have different point modules for different problems, Mercury Diagnostics provides comprehensive visibility across multiple technology platforms such as JAVA, J2EE, .NET, and ERP/CRM.


Mercury Diagnostics offers best-of-breed capabilities such as:




  • Low-overhead monitoring, alerts, triage, and diagnosis of problems in heterogeneous environments (SOA/Web services /JAVA /J2EE /.NET /SAP/Oracle/MQ/CICS and other applications) across the
    lifecycle, 24x7.

  • Monitoring, alerts, triage, and diagnosis of problems with databases, including wait-time analysis for Oracle 10g.

  • SQL and method-level trending to monitor SQL and method performance over time.

  • Actionable data for development such as CPU time by method, heap dump, thread dump, exceptions, and advanced instrumentation control.

  • Advanced memory diagnostics, including allocation analysis, heap walker, and more.

  • Cross-VM instance tracing across technology stacks (J2EE, .NET, SAP R3).

  • Support for reverse proxy and role-based security built in and integrated with Mercury centers.




Cross-Team Collaboration: Mercury Diagnostics not only isolates problem areas, but also empowers the teams responsible for resolving the problem with actionable data via collaborative, role-based web dashboards.
Collaboration is key to helping solve problems and finding system errors in the shortest time to minimize impact of downtime on business availability. Mercury Diagnostics enables collaboration by providing the following capabilities:



  • Shared workspace, for incident analysis for cross-team collaboration.

  • Application grouping, quick status, user annotations, and drag-and-drop role-based views.

  • Production-ready integrated profiler for developers.

  • Automated common tasks for user guidance.




Advantages of Mercury Diagnostics


.It provides end-to-end visibility into application performance across the lifecycle.



How it works:


Mercury Diagnostics features a smart application lifecycle probe (or agent) that collects performance, availability, and diagnostics data from applications without any need for application source code modification or recompilation. It uses byte code instrumentation and industry standards for collecting system and JMX metrics. The architecture allows you to provision your application bundled with the probe through its lifecycle. It will work either standalone or integrated with Mercury's industry-leading testing and management solutions. An XML data-access layer allows you to export diagnostics data to any XML-compliant data source. The following diagram shows the high-level architecture.




Life Cycle Architecture




During a performance test, Mercury Diagnostics traces J2EE, .NET, or ERP/CRM business processes from the
client-side across all tiers of the infrastructure. The modules then break down each transaction response time into time spent in the various tiers and within individual components. You gain:










§ An intuitive, easy-to-use view of how individual tiers, components, memory, and SQL statements impact overall performance of a business process under load conditions. During or after a load test, you can not only point out to the application team that the application is not scaling, but also provide actionable data to them.


§ The ability to effectively triage and find problems with business context, enabling teams to focus on problems impacting business processes.


§ The ability to more easily find components relevant to a specific business process under test. Because J2EE and ERP/CRM applications potentially use thousands of components, this can be a challenge. Mercury Diagnostics automatically detects which components are “active” when a given transaction is executed and collects data on them for analysis. Components untouched by the business process are filtered out, enabling you to focus on getting the job done, not configuring the system.


The Call Profile Window is made up of three areas:



Ø Call Profile Graph


Ø Call Tree Table


Ø Metrics Inspector







Mercury Diagnostic Profiler




Diagnostics Profiler is part of the Mercury Diagnostics product family, which is a single-vendor lifecycle performance diagnostics solution that eliminates the need to use several different tools to analyze and diagnose application development problems. In addition, it’s simple to install and provides immediate value with diagnostics information that helps you quickly resolve performance problems.





Mercury Diagnostics Profiler features the capabilities most sought after by application owners in solving tough application problems. It enables you to collect critical diagnostics information to make applications ready for load testing and to solve problems earlier in the application lifecycle.





Diagnostics Profiler integrates into the lifecycle of load testing and problem isolation in production by sharing the same lifecycle probe as Mercury Diagnostics — our diagnostics solution for monitoring, triaging, and diagnosing application performance problems in testing and production environments. It enables you to diagnose application performance problems across the performance management lifecycle.







The Diagnostics Profiler probe uses byte code instrumentation, enabling your application to capture diagnostics data that is relevant to end users. It provides concrete information that point to the root cause of problems, arming you with actionable information. When installed, the probe captures appropriate diagnostics data and sends it to the profiler data sink. The applet-based diagnostics UI presents this data to the user in ways that can help you solve the most common application problems found in the application lifecycle.





Key Functions



Memory Diagnostics allows you to quickly identify the top fastest growing and largest collections, including the size of the collection and where in your code the collection was allocated. Mercury Diagnostics Profiler provides memory diagnostics in JAVA collections. It also allows you to take heap snapshots to obtain byte size for objects.


Exception Diagnostics allows you to quickly determine if your application is throwing exceptions and exactly what those exceptions are. Often, exceptions are “eaten” without good reason, causing significant problems under load. This feature enables you to quickly identify problem areas so you can fix them before you release to QA.



Heap Breakdown allows you to quickly get a dump of your heap to find out if and exactly which objects are leaking. This provides you with the ability to force a Garbage Collection (GC) and capture snapshots on demand or automatically when heap growth crosses a threshold.





FEATURES AND BENEFITS








  • Summary and hotspots: Identify top performance hotspots in applications.

§ Server request breakdown: Identify where time is spent.


§ Layer breakdown: Identify which layer is slow.


§ Slowest roots: Identify slowest server request or application entry points for non-web-fronted
applications.


§ Top three slowest instances: Identify outliers for intermittent problems.


§ VM heap usage: Identify memory problems/GC.


§ Collection memory leak diagnostics: Identify fastest-growing and largest size JAVA collections
including the caller and the exact line number where collection was allocated.


§ Heap breakdown with class and size information: Identify leaking object, growth trends,
instance count, and byte size for objects.


§ SQL diagnostics (slowest SQL): Identify slowest SQL query with query information.


§ Synchronization diagnostics: Identify locks with hold times.


§ Exception diagnostics (including exception traces and count): Identify exception counts
and trace information that often might go undetected.