Because I am constantly busy working on something, I have never had time to actually put everything in words and pictures. But, since you got here, then you must have already seen some part of my work - and this is the way I’m talking.I'm 23, born in Romania, student at UPG Romania in software development field. I started from 0, mostly with basic stuff, and I’m evolving every day to an expert. I'm focused on freelancing projects, from small websites, to really heavy stuff. I know that I look and act differently from most developers, but this is why you will love to work with me! Constantin has posted 42 posts at DZone. You can read more from them at their website. View Full User Profile

Introducing AppDynamics - Application Management for the Cloud Generation

  • submit to reddit

This post is just a discovery point of a great tool named AppDynamics, therefore major content is taken from the official site. AppDynamics does not reinvent the wheel, but it brings some cool stuff into application performance management solutions. First, I was impressed of how easy it is to install, configure and start working with it. Try it yourself!

What's unique about AppDynamics ?

AppDynamics has developed a next-generation Application Performance Management solution that's distinct in four ways:
• We are the first product built from the ground up for highly distributed service-oriented environments.
• We enable fast root cause diagnostics at the method/class level, but create no more than 2% overhead-even in high-volume production deployments.
• We are able to not only manage applications, but dynamically scale them in cloud and virtual environments.
• We cost a fraction of legacy old-school Application Performance Management solutions

Watch these short 2 minute videos to learn more about some of AppDynamics' capabilities:

1. Application Mapping - Auto-discover and map entire distributed applications

2. Transaction Flow Monitoring - Follow transaction requests from tier to tier, and enable instand troubleshooting of performance problems

3. Deep Diagnostics - Drill-down at the code level - find code hot spots, slow SQL calls, deadlocks, etc.

4. Policy Engine - Intelligent real-time analysis and proactive alerting

5. Cloud orchestration - Automate remediation and leverage the cloud for dynamic capacity

The unzipped AppDynamics archive contains two main tools, the Lite Viewer and Application Server Agent.

• The Lite Viewer is started by double-click on adlite-viewer.jar, and after it starts it is accessible by default on http://localhost:8990 (authenticate with admin/admin).
• The Application Server Agent can be installed on different application servers (Weblogic, Tomcat, JBoss, Websphere, Glassfish, Jetty, OSGi Containers, Tanuki service wrapper). You can find details about how to configure the agent on each of these servers on, under Install the Application Server Agent section.

I have installed the Agent on Tomcat 6 in a few minutes. After I extracted the, I just edit the Tomcat Catalina.bat, by adding these lines:

rem ----- Configure AppDynamics Lite Application Server Agent
if "%1"=="stop" goto skip_agent
set JAVA_OPTS=%JAVA_OPTS% -javaagent:

That’s all! When I start Tomcat the Agent was successfully configured!

Next, I have been started the Viewer, and fire requests from some of my web applications under Tomcat. Here are some screenshots of the viewer:

• AppDynamics Dashboard
• AppDynamics Business Transactions (1)
• AppDynamics Business Transactions (2)

If you decide to download and play with AppDyanamics, it is a good idea to check, Use Lite for the first time section – there you will more detailed screenshots.

Notice that in this post I have introduce AppDynamics Free, but it is also available as Pro version (30 days trial version). The Pro version brings new:

• Service level management for response times and infrastructure.
• Proactive monitoring with real-time alerting based on performance policies.
• Single-pane distributed visibility into transactions with the ability to go deep
into all tiers for user requests.
• Historical data retention (spanning years).
• Self-learning performance baselines for all performance-related data.
• Automatic triggering of deep-dive diagnostics based on recent performance.
• Centralized configuration management for agents spread across the application
• Automatic remediation of common performance problems, dynamic scaling and cloud
• Manage the performance of mission-critical production Java applications in cloud
or physical-cloud hybrid environments.
• Automatic remediation for common performance problems like JVM/machine restarts.
• Capacity allocation using cloud/virtualization technologies based on application
semantics like Business Transaction load/service levels.
• Cloud bursting combining physical and cloud/virtualization infrastructures.

Official site:



Published at DZone with permission of its author, Constantin Alin.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Liran Mendelovich replied on Thu, 2011/03/31 - 7:03am

I try to start it. On Jetty, embedded, so in my program I have: Server jettyServer = new Server... jettyServer.start(); I tried to add JAVA_OPTS to jvm args through run configurations at Eclipse (is that what needed?) and it did not work. Because there is only one JVM running on embedding Jetty, so I think I need to add the args to my main project running. How can I install and configure it to my project running with the embedded Jetty server ?

William Jimenez replied on Thu, 2011/03/31 - 12:13pm

Good stuff, AppDynamics is also a great tool for building scalable applications that leverage on-demand cloud infrastructure. This blog article on the site tells more about it:

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.