User:Stefan Siegl/inspectIT

inspectIT

inspectIT
Stable release
1.6.3 / 08/14/2015
Written inJava[1]
Operating systemCross-platform: Linux, Mac OS X, Solaris, Windows
PlatformJava
Available inEnglish
TypeSoftware development
LicenseOpen Source [2]
Websiteinspectit.rocks

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

edit

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

edit

inspectIT integrates a small agent in the

Aufbau

edit

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

edit

Während des Java Classloading der JVM wird ein Java-basierter Agent [3] [4] 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

edit

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.

References

edit
  1. ^ Lextrait, Vincent (July 2010). "The Programming Languages Beacon, v10.3". Archived from the original on 2012-05-30. Retrieved 5 September 2010.{{cite web}}: CS1 maint: date and year (link)
  2. ^ https://github.com/inspectIT/inspectIT/blob/master/LICENSE.txt
  3. ^ java.lang.instrument JDK5 Oracle Beschreibung der Verwendung des javaagent für Java 5.
  4. ^ java.lang.instrument JDK6 Oracle Beschreibung der Verwendung des javaagent für Java 6.
edit