This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
Screenshot of inspectIT 1.7.7
|Developer(s)||NovaTec Consulting GmbH, inspectIT Community|
18.104.22.168  / 19 May 2017
22.214.171.124  / 15 September 2017
|Type||application performance management|
|License||Apache License, Version 2.0 |
inspectIT is an open-source application performance management (APM) tool, which enables the diagnosis, analysis and monitoring of Java applications. inspectIT is developed by NovaTec Consulting GmbH, an IT consulting company from Stuttgart (Germany), but it has been made open-source in August 2015.
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.
The architecture of inspectIT consists of three main components:
- inspectIT Agent - it is integrated into the system which should be supervised, collects diagnostic information of the integrated measuring points and sends the gathered data to the central inspectIT Server. The agent is designed to introduce as little as possible overhead into the target system, in terms of CPU and memory usage.
- inspectIT Server (also called centralized measurement repository (CMR)) - it receives, processes and stores the diagnostic information sent by the inspectIT agents and provides it to the inspectIT user interface.
- inspectIT User Interface - it is an Eclipse RPC based application and enables the analysis of the diagnostic information provided by the inspectIT Server.
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 (version 1.0) has been released in March 2010. Since then, new versions have been released on a regular basis.
- "java.lang.instrument (Java 2 Platform SE 5.0)". docs.oracle.com. Retrieved 2017-04-26.
- "Java Platform SE 6". docs.oracle.com. Retrieved 2017-04-26.