APM Tool App Dynamics
Kosuri Suryanarayana Raju
Quality Specialist - Performance Engineer || Quality Assurance - Performance Testing || Application Performance Monitoring || Dynatrace Application Monitoring || Appdynamics Application Monitoring || AWR Reporting
Q) What is an Application Performance Management (APM)?
Sol) APM monitors the any applications continuously and can identify performance issues when they the application behaving normally and abnormally about the performance of application tracing from time to time basis.
Also if something went wrong for an application and it is behaving abnormally, it helps to identify the root cause of the problem quickly even going deeper into application code level. So that it is easy for the application team to fix the issue easily without disturbing the entire application.
Characteristics of APM Tool:
- The physical hardware upon which the application is running
- The virtual machines in which the application is running
- The JVM that is hosting the application environment
- The container (application server or web container/JVM/Nodes) in which the application is running
- The behavior of the application itself
- Supporting infrastructure, such as network communications, databases, caches, external web services, and message queues
App Dynamics Architecture Overview
- When any request is sent to the webserver from user, APM kicks in and looks at all of the communication stream, with the following below details.
- How much time did the request take to process?
- Were there any downstream calls? How many?
- Were there any errors? What were they?
- If a ‘database’ is involved, metrics around database communication and processing can be captured as well.
- Calls to external ‘web services’ are also tracked.
- All of this information is then sent to the controller. Using this information, Appdynamics provides a simple view of live application traffic, and through that we can see how the application behaves and locates where bottlenecks exist.
Q) What is Appdynamics and how it is it working to solve application performance issues?
Sol) Appdynamics is a tool that monitors your Application Infrastructure and gives you code level visibility from the application point of view.
- App Dynamics is supported for all major technologies (Java, .NET, PHP, Node.js, etc.)
- A piece of software called ‘Application Agent’ is installed in the Application to be monitored. Agent collects the performance metrics and sends them to AppD Controller. Controller processes the metrics and presents them users via Web Browser.
- The agent constantly monitors the application. Since it uses byte code instrumentation technology, Agent has hooks to every line of code. This is how Appdynamics is able to provide code level visibility.
- Appdynamics discovers various subsystems and backend’s and draws them beautifully on the browser. At times, you will be surprised to discover about backend’s that you never thought your application was talking to.
- Appdynamics employs the concept of ‘Business Transaction’ (BT). A BT represents a service provided by your application that is invoked by the user. All involved subsystems and back ends for a given BT are tracked and reported by Appdynamics. BTs are automatically discovered.
VP - Technology Lead [ AWS & GCP Certified | √ JAVA √ J2EE √ SpringBoot √ Microservices √ Kubernetes | Openshift √ PCF √ Kafka √ Cloud √ Python √ BigData[PySpark|Hadoop] || System Design & Cloud Enthusiast ]
6 年Nice article..