diagnoseIT Research Project
Quality attributes of enterprise software applications such as performance, availability, and reliability have a significant impact on business critical metrics of enterprises such as revenue and total cost of ownership. Application Performance Management (APM) processes and tools are often facilitated and integrated into the application lifecycle to monitor performance-relevant metrics of the enterprise applications (e.g., response time, throughput, or resource utilization). APM is a necessity to detect and solve performance problems early.
Experience shows that comprehensive APM is seldom implemented in industry, resulting in an unsatisfying quality of enterprise applications and detection rate of performance problems. There are major reasons for the low adoption rate of APM: the initial setup and maintenance of APM is error-prone and requires a high manual effort and expertise.
In order to improve this situation, NovaTec Consulting GmbH and the University of Stuttgart (Reliable Software Systems Group) launched the collaborative research project diagnoseIT on “Expert-guided Automatic Diagnosis of Performance Problems in Enterprise Applications”. Formalized APM expert knowledge is used to systematically detect and diagnose performance problems. Therefore, diagnoseIT uses an APM-tool-independent approach to orchestrate available APM solutions, initially focusing on the open-source tools inspectIT and Kieker. diagnoseIT provides a goal-oriented root cause analysis, offering a starting point for problem resolution. The project results will be published under an open-source license.
diagnoseIT started in March 2015 with a duration of two years and a total project size of 743,000.00 EUR, including a project funding of 520,000.00 EUR by the German Federal Ministry of Education and Research (BMBF). NovaTec Consulting GmbH and the Reliable Software Systems Group possess comprehensive experience in APM and performance engineering of enterprise software systems from industry and academia. The diagnoseIT approach will be evaluated with quantitative studies employing laboratory experiments and enterprise software systems used in industry which are provided by two associated partners, namely a large German banking institution and an IT service provider for insurance companies.
diagnoseIT Framework
diagnoseIT provides an easy-to-use system for automated problem/symptom and root cause detection for Java enterprise applications. It defines a well-structured communication interface to common application performance management tools to gather the necessary metric information. Formalized expert knowledge - stored with diagnoseIT - drives the automated symptom detection and root cause identification algorithms.
diagnoseIT also optimizes the maintenance effort in keeping the instrumentation of monitoring tools at high quality. diagnoseIT will monitor the quality of instrumentation points and notify monitoring tools to remove specific instrumentations if they do not provide necessary information for symptom detection or root cause analysis. diagnoseIT will also notify the monitoring tools which specific additional instrumentation points are necessary to improve detection and root cause identification.
Possible performance and functional symptoms are provided as formalized expert knowledge in diagnoseIT. No manual interaction or configuration is necessary to monitor an application. In case of a symptom being detected, the root cause detection is started. Based on formalized expert knowledge, diagnoseIT automatically - and with no user interaction - tries to detect the root cause of the symptom. All this information is provided in a easy-to-understand format to the enduser.
diagnoseIT can be set up as standalone application with monitoring tools sending the necessary metric information to the solution. diagnoseIT will also be released as library and can thus be integrated within monitoring tools to provide these features to the tools.