User:Stefan Siegl/inspectIT

inspectIT

inspectIT (http://www.inspectit.de) is an Open Source Application Performance Management (APM) tool that allows the analysis of a Java application during runtime. inspectIT is developed by the competence area "Application Performance Management" of the Stuttgart-based IT consulting company NovaTec Consulting GmbH.

Features
inspectIT addresses an "user transaction focussed" approach. The main focus is the analysis of user requests. For each request executed on the system under diagnosis (SUD), inspectIT creates a detailed call graph, a so-called invocation sequence. This tree-like structure contains all methods invocations (of instrumented methods) that were executed by the business logic to satisfy the user request. The analyst can thus follow the exact invocations and quickly identify performance problems. Apart from method invocations inspectIT allows to transparently integrate all queries against database systems and integrates them in the invocation sequences. Thus database query problems (still one of the most common performance problems) can be identified easily.

How does it work
inspectIT integrates a small agent in the

Aufbau
inspectIT besteht aus drei Komponenten:
 * Der inspectIT Agent integriert sich in das zu überwachende System, sammelt die Diagnoseinformationen der integrierten Messpunkte und sendet diese an den zentralen inspectIT Server. Der Agent ist hierbei so konzipiert, dass der Overhead in Bezug auf CPU Zeit und Memoryverbrauch möglichst gering ausfällt.
 * Der inspectIT Server, der sogenannte CMR (Centralized Measurement Repository), erhält von den verbundenen Agenten die Diagnoseinformationen und bereitet diese für die Analyse im inspectIT User Interface auf.
 * Das inspectIT User Interface basiert auf der Eclipse RCP und ermöglicht dem Anwender die detaillierte Analyse.

Funktionsweise
Während des Java Classloading der JVM wird ein Java-basierter Agent in den Classloading Prozess integriert, welcher den Java Bytecode der geladenen Klasse erweitern kann. Entgegen Profiler integriert inspectIT Messungen nur an ausgewählten Stellen, so dass der Overhead der Messung gering bleibt. Dieser Ansatz ermöglicht es Messpunkte transparent in die Anwendung zu integrieren ohne dass eine Anpassung des Source Codes notwendig ist.

History
NovaTec GmbH started the development of inspectIT in 2005 (started out as "NovaSpy"). The first public version 1.0 was officially released in March 2010.