HOME

TheInfoList



OR:

inspectIT is an open-source
application performance management In the fields of information technology and systems management, application performance management (APM) is the monitoring and management of the performance and availability of software applications. APM strives to detect and diagnose complex appl ...
(APM) tool, which enables the diagnosis, analysis and monitoring of
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
applications. inspectIT is developed by NovaTec Consulting GmbH, an IT consulting company from Stuttgart (
Germany Germany,, officially the Federal Republic of Germany, is a country in Central Europe. It is the second most populous country in Europe after Russia, and the most populous member state of the European Union. Germany is situated betwe ...
), 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
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases s ...
s 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 Real user monitoring (RUM) is a passive monitoring technology that records all user interaction with a website or client interacting with a server or cloud-based application. Monitoring actual user interaction with a website or an application is i ...
that records user interaction with, for example, a website or web-based application.


Architecture

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''.


Functioning

During the Java class loading process of the
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
, a Java-based agent is integrated into the class loading process, which is able to intercept and modify the
Java bytecode In computing, Java bytecode is the bytecode-structured instruction set of the Java virtual machine (JVM), a virtual machine that enables a computer to run programs written in the Java programming language and several other programming langua ...
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 In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
.


History and naming

The development of inspectIT started in the year 2005 under the name NovaSpy as
closed source software Proprietary software is software that is deemed within the free and open-source software to be non-free because its creator, publisher, or other rightsholder or rightsholder partner exercises a legal monopoly afforded by modern copyright and inte ...
. 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.


Open source

On August 14, 2015, inspectIT has been made available as
open-source software Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
under the Apache License, Version 2.0 (ALv2).


References

{{Reflist


External links


Official website

Documentation

Website of founding developer
System software Software testing Quality management Software performance management