dynaTrace software dynaTrace software recently announced the release of dynaTrace 3. dynaTrace software is an Application Performance Monitoring (APM) vendor that provides Java and .NET developers insight into performance problems in both application code as well as environmental configurations (such as thread pools and connections pools.) This release is based upon the following themes:
- Global Transaction Tracing
- Beyond Monitoring with Business Transaction Management
- Greater Automation Across the Application Lifecycle
- Open Framework and Open Source
- Lower Human Resource Investments
First, global transaction tracing allows application administrators to capture performance information from disparate machines working together across the globe to solve a business problem. dynaTrace's aproach is to store data in collectors that reside close to the running components until it needs to transmit that data to the dynaTrace server. If the servers are located far apart, such as across continents, it transmits data through an encrypted and compressed Wide Area Network (WAN) in an attempt to preserve security and minimize bandwidth. Through this strategy, the collectors are able to run in remote locations and still reassemble a transaction that might span several servers across different continents. dynaTrace gathers its traces, or "Pure Paths", by using byte-code instrumentation. As requests pass between tiers, dynaTrace follows the method calls and tags them as the cross server boundaries (or in an HTTP header parameter in the case of a web service call), so that dynaTrace can determine the exact path that a request follows.
dynaTrace implements Business Transaction Management (BTM) through a 24x7 monitoring solution that aims to present a business impact view of the monitored environment. Rather than computing averages from the data it gathers, it operates against percentiles. Their motivation behind this is that they feel that understanding the behavior of an application for a specific percentile of users reveals details that simple averaging might miss. Finally, dynaTrace provides role-based dashboards that present different views of the same data but targeted at the role of the individual using the dashboard. Thus the system administrator may be able to triage a problem to a specific technology, the Java EE administrator may be able to determine whether the problem is a configuration issue or in a specific component, and an architect may be able to then determine the root cause of the problem. The point is that the same data is available, but presented in the most relevant manner for the individual viewing that data.
dynaTrace integrates with various build tools such as Ant, NAnt, and MSBuild as well as continuous integration tools such as Cruise Control, Apache Continuum, and Bamboo. This allows an application to be tested automatically during a build, without requiring developer interaction - developers are able to review the results after the automated tests run. Automation in performance testing is important because manually running performance tests on a regular basis can be too cumbersome for an application of any significant size. Furthermore, running performance tests in a Continuous Integration environment can identify performance problems as they are introduced into an application - when they are easiest to resolve.
dynaTrace has built their product to automatically discover and adapt to virtualized environments such as clouds. The primary benefit of cloud computing is that an application can use resources as they are needed: if an application needs additional resources, new servers can be added to the cluster; when it needs less resources, then servers can be removed from the cluster. This is great for (1) allowing an application to scale as large as it needs to and (2) reducing the cost of purchasing hardware resources that may be rarely used, but it introduces challenges in monitoring because sometimes a server is present and sometimes it is not.
We designed the dynaTrace 3 metrics and dashboard system with the new requirements of virtualized, clustered and dynamic SOA environments in mind. It can auto-discover services, and automatically integrate performance results into its analysis engine as well as into dynamically-adapting dashboards. We call this ‘adaptive metrics and dashboards.
dynaTrace designed version 3 as an open framework that can accept OSGi-based plug-ins and they created a community portal through which companies can share their plug-ins through an open-source agreement. Sometimes a challenge in choosing a monitoring vendor is that their solution does not support a particular technology that a company is using, but opening up a monitoring solution's framework to custom plug-ins allows companies to more completely monitor their environment.
Finally, dynaTrace aims for lower human investment by reusing assets across the application development lifecycle. This means that the same sensors and instrumentation, as well as dashboards and visualizations, are reused in development, performance testing, and production monitoring. This allows anyone familiar with dynaTrace in any step of the performance testing and production performance analysis phases to understand data from any other phase.
In summary, the goal of dynaTrace 3 is to monitor dynamic environments, such as clouds, that may be highly distributed. And if they do not have support for a technology that a company is using, their open framework allows developers to build custom monitoring solutions and integrate them into dynaTrace 3.