Contents
EXECUTIVE SUMMARY..................................................................................................... 1 THE CHALLENGE OF SOFTWARE PERFORMANCE............................................................. 2 SOFTWARE PERFORMANCE ANALYSIS ............................................................................. 2 OVERHEAD VS. QUALITY AND PRECISION OF MEASUREMENT.......................................... 3 TRANSACTIONAL PERFORMANCE DATA COLLECTION ..................................................... 4 DIAGNOSING PERFORMANCE PROBLEMS IN 7X24 ENVIRONMENTS ................................ 6 CAPTURING OF DIAGNOSTIC INFORMATION................................................................. 6 ANALYSIS OF DISTRIBUTED ENVIRONMENTS.................................................................... 7 DYNATRACE DIAGNOSTICS EDITIONS ............................................................................ 8 COMPARISON MATRIX.................................................................................................... 9 CONCLUSION ............................................................................................................. 10
>> rapidly resolve performance problems in distributed java & .net applications
Executive Summary
Modern business runs on the mission-critical applications implemented and sustained by the IT organization. Efficient automation of business processes is no longer a luxury it is a necessity borne out of a fiercely competitive global marketplace. Business performance is often directly tied to software performance, and unplanned outages or poor application performance can result in the wrong kind of front page headlines. Application performance analysis is a complicated, far-reaching exercise that touches many organizations and processes, and requires the proper tools and best practices to guarantee consistent service delivery. One tool commonly utilized as part of this process is a system or application profiler, which relies on a number of assumptions that for many situations actually render it inadequate: The collection of simple statistical performance values may mask systemic performance problems and often makes root cause isolation difficult. Problematic end-user transactions cannot be fully reconstructed from profiling information.
High execution overhead and the lack of long-term monitoring capabilities mean profilers are not suitable for diagnosing problems in production environments. The high number of influential environmental factors, however, requires diagnosis in production. Missing information beyond basic execution times makes the isolation of context-specific performance problems nearly impossible. Additionally, the lack of support for diagnosis in distributed, heterogeneous .NET and Java applications makes profilers unsuitable for the diagnosis of performance problems in typical enterprise environments. dynaTrace Diagnostics steps in to fulfill all the requirements which profilers miss. dynaTraces PurePath Technology enables the collection of transactional performance metrics and related context information. Tracing across technology and server boundaries make it an enterprise level performance management solution. Low overhead and hot reconfiguration at runtime enable 7x24 diagnosis even in production environments.
Increasing complexity makes performance problems more and more difficult to diagnose.
We will therefore introduce dynaTrace Diagnostics as a best-of-breed solution for software performance management and diagnosis. dynaTrace Diagnostics provides functionality that goes far beyond the capabilities of profilers and thus enables a new level of performance analysis. The following chapters will address all major aspects of software performance analysis and illustrate dynaTrace Diagnostics added value.
Uninstrumented Application
Instrumented Application
Execution Time of Diagnosis Code
The imposed overhead however is detrimental to the quality of that measurement. The more overhead created by the diagnosis tool the more inaccurate the measurement inherently becomes. Inadequate collection of performance measurements can even lead to the introduction of phantom performance problems. Some problems, such as synchronization issues for example, may even not be detectable as real world application behavior varies too widely from the original system. Profilers provide only limited support for the adjustment of measurement granularity in order to mitigate and control overhead. Most profilers collect performance information for each and every method that is executed. Others provide the ability to switch between a set of predefined granularity levels, while some have the ability to define exclusion rules at code level. However they all lack necessary features to fully support performance engineers who require fully flexible and fine-grained
configuration of performance data collection in order to minimize overhead while maintaining all relevant diagnosis information. dynaTrace Diagnostics provides powerful, revolutionary features for the configuration of measurement collection. An intuitive class browser can be used to navigate packages, classes and methods in order to easily define flexible data collection configurations. Interactive, UI-based refinement of configuration and hot deployment without application restart adds additional convenience to the configuration process. Knowledge Sensor Packs allow the collection of relevant performance metrics for standard technologies like Java EE, ASP .NET, Spring or Hibernate (as well as many others) with no manual configuration effort.
PurePath Technology provides transactional performance metrics enabling better diagnosis and outlier isolation
dynaTrace Diagnostics uses its innovative PurePath Technology to collect transactional performance metrics. PurePath Technology enables the tracing of each individual transaction which has been executed within a system. Performance engineers get detailed, precise execution information including the complete call tree the PurePath. By recording each individual transaction, outliers can be identified easily even if there is only a single bad transaction within 100,000 executions.
Figure 3 shows the simplified output for a portal application collected using PurePath Technology. By capturing all argument values in addition to detailed execution time metrics for each individual transaction, the performance problem which cannot even been seen in the profiler is immediately visible. Argument ... 500 of type handleRequest () buildWebControls () renderPage () ... 200 of type handleRequest () loadConfiguration () buildWebControls () buildWebControls () renderPage () ... 50 of type handleRequest () loadConfiguration () buildWebControls () buildWebControls () buildWebControls () buildWebControls () buildWebControls () renderPage () "show all details" 50 1 6 10 10 10 10 3
Figure 3 - PurePath based Execution Information
Time s
"start"
9 7 2
"overview"
12 1 4 5 2
into to context of a specific transaction allowing the performance engineer or developer to pin down a context-dependent performance problem quickly and easily.
dynaTrace Diagnostics supports the diagnosis of distributed Java and .NET environments. Transactions can be followed across server boundaries. Tracing from .NET to Java and vice versa enables identifying performance problems in heterogeneous hybrid application environments. dynaTrace Diagnostics serves as the single solution for your company to analyze performance problem in enterprise environments as shown in Figure 4. With just one tool you can investigate your performance problems on every platform. Not having to learn multiple tools provides an immediate ROI of your tool investment.
On the PurePath Go Beyond Profiling 7
dynaTrace Diagnostics Workstation Edition is used for performance analysis during code development. Developers immediately understand the dynamics and performance implications of their code. Development teams rely on dynaTrace Diagnostics Professional Edition to store configurations and Diagnostics Sessions on a central Diagnostics Server improving communication and speeding performance problem resolution. Automated build support enables integrating performance testing in continuous integration and automatic build environments. dynaTrace Diagnostics Professional and Enterprise Edition both enable monitoring and diagnosis in 24x7 production environments as well as testing and staging environments. Performance engineers and developers can reconstruct performance issues in production environments making reproduction in testing and staging environments obsolete.
Comparison Matrix
dynaTrace Diagnostics fulfills or surpasses all the requirements for modern application performance diagnostics. The capabilities go far beyond those of Profilers. The following matrix lists the key capabilities required for efficient performance diagnosis and how they are supported by Profilers and dynaTrace Diagnostics.
Key Performance Analysis Capabilities Easy installation and integration into development and testing environments; requires no administration overhead Code level profiling details providing the information developers require to understand performance problems Configuration of profiling rules to limit overhead and restrict data collection to specific code paths Centralized Diagnostics Server for storing and managing configuration and monitoring results to support development teams Predefined configurations for standard technologies like Java EE, ASP.NET, etc. to automatically discover relevant application components Performance metrics for discrete transactions; permits identification of outliners Transaction tracing unveils the actual call tree showing the exact transaction flow Capture contextual diagnosis information (e.g., method arguments, exceptions, SQL calls, etc.) to accelerate root cause identification and error resolution Support tracing across technology and physical boundaries enabling the diagnosis of distributed enterprise applications Profiler dynaTrace Diagnostics Yes
Yes
Yes Limited1
Yes Yes1
No
Yes
No
Yes
No No
Yes Yes
No
Yes
No
Yes
1 Profilers limit configuration to certain level or use configuration files. dynaTrace Diagnostics provides intuitive visual configuration
Conclusion
Todays mission critical business processes rely on high performance software. Performance problems however are much more difficult to find and fix than functional errors. They generally depend on usage characteristics or environmental influences. Increasingly complex and heterogeneous enterprise applications represent an additional challenge to the developer or performance engineer. Profilers have traditionally been the weapon of choice for analyzing performance problems. However they lack important features required for performance analysis in todays complex application environments. dynaTrace Diagnostics provides a unique set of capabilities, which exceeds profilers by far allowing developers, architects and performance engineers to: Quickly isolate performance outliers within a population of thousands of transactions Diagnose the root cause of performance problems immediately by analyzing the exact transaction flow and contextual information Improve team communication by cooperating and coordinating via a centralized dynaTrace Diagnostic Server Diagnose performance problems in 7x24 production environments Diagnose performance problems in heterogeneous enterprise environments Trace live transactions across server boundaries to support even large clustered distributed application environments
dynaTrace Diagnostics PurePath Technology provides the capabilities required for in-depth performance analysis in todays complex heterogeneous applications making it the first choice for solving performance problems
10
Headquarters Headquarters EMEA: dynaTrace software GmbH Freistdter Str. 313, 4040 Linz, Austria/Europe, T+ 43 (732) 908208, F +43 (732) 210100.008 Headquarters Headquarters North America: dynaTrace software software Inc. West Street 200, Waltham, MA 02451, USA, T +1 (339) 9330317 F +1 (781) 2075365 E: takeaction@dynatrace.com All rights reserved dynaTrace is a registered of dynaTrace software GmbH. All other marks and names On software the PurePath Go trademark Beyond Profiling mentioned herein may be trademarks of other respective companies. (071107)
11