Thursday, August 2, 2012

AppDynamics ? What, Why & How


If you ask me what is "AppDymamics", in my own words, it is real-time web application profiler and monitoring tool, reason i called it in such way is the features i used most in the free version. 


Actually, AppDynamics call itself Application Performance Management (APM) product and has more features then i blogged here. This post is just a jump-start and personal experience of AppDymamics Lite (vs Commercial version) in my development experience.


Two most important reasons made me to try it out: 

- Easy to install
My team is so busy in development and no time to setup individual application profiler on their IDEs. 

With few minutes' effort, i setup one from our DEV server and allow all my developers to use with no wait. 

- Easy to use 
Very intuitive GUI and allow to drill down all the way to JDBC and SQL query with detail call stack (call graph) and time spending.

No training required, just follow the color code and double-click and click, click until I found the root cause in minutes.

So, When should use application Profiler instead of AppDynamics? Here is a short answer:    


WHEN TO USE A PROFILERWHEN TO USE APPDYNAMICS LITE
You need to troubleshoot high CPU usage and high memory usageYou need to troubleshoot slow response times, slow SQL, high error rates, and stalls
Your environment is Development or QAYour environment is Production or performance load-test
15-20% overhead is okayYou can't afford more than 2% overhead


Now, let me walk you through how to start & use the AppDynamics


- Download the appdynamics and install it in 4 steps


- Open web browser and browse through the slow web pages or the processes you intend to monitor and profile


- Open web browser and login AppDynamics (Be patient, if you don't see any data. AppDynamics need a short while to build and load up the analytic info) 


^Landing page will show list of recent transactions (web request) and highlight the response time in different color code depending on the settings (slow, very slow and stalling) which you can change at your own will. 


- Double-click the page name (URL) in red color and until you see the full call graph & timing of each spending.


    * First, it will drill down to all sampling of the same transaction (web request) 
   * Chose one of them and double-click to drill down to call graph
    ^you can filter the graph by method timing spending and class type (servlet, pojo, spring bean, ejb and etc)  
    
   *Click and click ... until you see something you are familiar 
    ^Take note of color code, don't confuse the total time spending (ORANGE) with method self time spending (BLUE)

As recent transactions are not good enough, we need to check out long transaction in past 30 minutes or 1 hours. Never mind, go and visit SnapShot page.

   * Click on SnapShot Tab
   ^ Too much info in the page, never mind, enable filter to view less and more concerned transactions.

    * Double-click the long transaction to pull out the call graph
   ^ There is JDBC call in this transaction

    * Right click on slow method to further expend the graph

   * Click on JDBC to check out list of executed SQL & time spending 

    * Scroll Up & Down and check what are the SQL and how much they spend in the total timing. 
    
   * Save the call graph for offline or offsite study by other developers  

    * Save to local disc and sent it to developers for further study. 
    ^ This file also includes list of executed SQL and timing of each.   

That is all, it is sweet & easy experience. In fact, i have put it up behind an Apach Server so that our offsite team can access and check out root cause of long transaction. 

7 comments:

lakshman said...

Hi Li Hai Tao's,

i am using AppDynamics Lite i downloaded from:http://info.appdynamics.com/Lite2013.html,i am using jdk

1.6,jboss4.2,eclipse juno in my pc(localhost).

i done the steps to Install the the Viewer:-
1.I Extract the Viewer files from the LiteViewer.zip file.
2.i given all rights as a Windows file properties to LiteViewer folder.
3.i used this command(java -jar adlite-viewer.jar) in command prompt from the directory of adlite_viewer.jar.
4.when i run above command connector was connected then shows the Viewer Lite Shell console opens.
4.iam using same default port no:8990


i done the steps to Install the Agent :-
1. Extract the Agent files from the AppServerAgentLite.zip file.
2.i given all rights as a Windows file properties to AppServerAgentLite folder.
3.i configured only one line in the run.bat file of jboss4.2 server: set JAVA_OPTS=%JAVA_OPTS%

-javaagent:"D:\AppServerAgentLite\javaagent.jar"
4.i m using jboss4.2 port no is :8080.
5.after i was restarted the application server.
6.open browser with 8990 port
no and login un,pwd are admin,admin. then i saw "unable to connected agent" on top of the dashboard in browser.

please Tao's could you please help me.i done above configuration steps but where i done mistake iam unable to find out what is the problem....

Unknown said...

Excellent!! You provided very useful information in this article. I have read many articles in various sites but this article is giving in depth explanation about Appdynamics Corporate training . Recently, I also took training on this “Appdynamics Corporate training'' from Excelr.
Appdynamics Corporate training

devi said...
This comment has been removed by the author.
saketh said...

Just saying thanks will not just be sufficient, for the fantasti c lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates. ExcelR Digital Marketing Training In Pune

dataexpert said...

This was really one of my favorite website. Please keep on posting. Digital Marketing Class In Pune

dataexpert said...

I like this post,And I figure that they having a great time to peruse this post,they might take a decent site to make an information,thanks for sharing it to me Pretty good post. ExcelR Digital Marketing Class In Pune

ppc fame said...

This Digital Marketing Course in Mohali transforms you into a complete Digital Marketer with expertise in modules like SEO, Social Media Marketing, PPC, Analytics, Content, Mobile, and Email marketing.
We provide the Best training for Social Media Marketing and PPC course in Mohali and have trained over 10k students.
Become industry-ready learning the latest tools, working on real-world projects, and attending Master classes from the Google and Facebook certified Team.
Digital Marketing Course in Chandigarh

´