InspectIT


inspectIT is an open-source application performance management tool, which enables the diagnosis, analysis and monitoring of Java applications. inspectIT is developed by NovaTec Consulting GmbH, an IT consulting company from Stuttgart, but it has been made open-source in August 2015.

Functionality

inspectIT follows a "user-transaction-centered” approach whereby the focus is on the analysis of concrete user requests. For each request against a system which is supervised by inspectIT, a detailed call tree, named invocation sequence, is constructed. The invocation sequences contain the exact execution times of all invocations of instrumented methods. Using this information, user requests can be analyzed and root causes of potential problems can be discovered. Also included in the invocation sequences are all requests against databases which can be used to detect and solve problems in the database access layer or certain queries.
Since version 1.8.1, inspectIT offers functionality for real user monitoring that records user interaction with, for example, a website or web-based application.

Architecture

The architecture of inspectIT consists of three main components:
During the Java class loading process of the JVM, a Java-based agent is integrated into the class loading process which is able to intercept and modify the Java Bytecode of loaded classes. Contrary to profilers, inspectIT injects measurement points only at specific locations to keep the overhead of the measurements at a minimum. Using this approach, it allows the user to transparently inject measurement points into an application without adapting its source code.

History and Naming

The development of inspectIT started in the year 2005 under the name NovaSpy as closed source software. It was renamed into inspectIT in 2008 and the first major release has been released in March 2010. Since then, new versions have been released on a regular basis.