Projects:Performance Monitoring Tool
Contents |
Overview
The main goal of this project is to put in place an APM tool:
In the fields of information technology and systems management, application performance management (APM), is the monitoring and managing of performance and availability of software applications. APM strives to detect and diagnose application performance problems to maintain an expected level of service.—Wikipedia, Application_Performance_Management
Requirements
The goal of having an APM tool is mainly to detect possible performance issues in Openbravo.
Monitoring
- This tool should be able to monitor requests taking information about the server time required to serve them.
- Drill down:
- additionally, mainly for slow ones, it should give enough information to understand the specific parameters that caused the request to be slow.
- it should also be possible, for slow request to obtain information about database transactions executed by this request, seeing for each of them their duration.
- JVM Monitoring: it should be possible to see graphs about JVM usage (heap and CPU) along the time.
- It should be possible to define a threshold (global or per request type), when backend time is higher than this limit, the tool should be able to automatically send alerts.
Benchmarking
Based on monitoring information, it will be possible to define what is the "normal" behavior of the application. Both for a concrete instances as well as an average of different application.
Having defined this "normal" behavior. It will be possible to:
- Detect slow instances, for which most of the request are slower than the average. This can indicate incorrect instance configuration such as slow HD, memory incorrectly configured, etc...
- Detect slow periods in concrete instances. This would be possible by comparing requests during a period of time with the same ones along the whole monitoring history.