inspectIT

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
InspectIT

Logo von inspectIT

Screenshot von inspectIT (v.1.7.7)
Basisdaten

Entwickler Open Source – pushed by NovaTec Consulting GmbH
Aktuelle Version 1.7.11.94[1]
(19. Mai 2017)
Aktuelle Vorabversion 1.8.4.98[2]
(15. September 2017)
Betriebssystem plattformunabhängig
Programmiersprache Java
Kategorie APM Werkzeug
Lizenz Apache License, Version 2.0[3]
deutschsprachig nein
https://www.inspectit.rocks/

inspectIT ist ein Open-Source-Application-Performance-Management-Werkzeug, das eine Diagnose von Java-basierten Anwendungen zur Laufzeit ermöglicht. inspectIT wird von der Competence Area „Application Performance Management“ der Stuttgarter IT-Consultingfirma NovaTec Consulting GmbH entwickelt.

Funktionalität[Bearbeiten | Quelltext bearbeiten]

inspectIT verfolgt einen „benutzertransaktionsfokussierten Ansatz“. Das Hauptaugenmerk wird auf die Analyse von konkreten Benutzeranfragen gelegt. Für jede Anfrage an das überwachte System erstellt inspectIT einen detaillierten Aufrufsbaum, eine sogenannte invocation sequence. Diese invocation sequence enthält für jeden Aufruf einer instrumentierten Methode die konkreten Laufzeiten. Dadurch lässt sich der Benutzerrequest bis zum Auslöser des potentiellen Performanceproblems nachvollziehen. Durch die automatische und transparente Integration von Anfragen an die Datenbank können auch Probleme in der Datenbankzugriffslogik erkannt und verbessert werden.

inspectIT bietet ab Version 1.8.1 Funktionalität zur Real User Monitoring (RUM) an, mit dem die Interaktion von Endnutzern, mit beispielsweise einer Webseite oder webbasierten Anwendung, überwacht werden können.

Aufbau[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

Während des Java Classloading der JVM wird ein Java-basierter Agent[4][5] in den Classloading-Prozess integriert, welcher den Java Bytecode der geladenen Klasse erweitern kann. Anders als 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.

Entwicklung und Namensgebung[Bearbeiten | Quelltext bearbeiten]

Die Entwicklung von inspectIT begann in der NovaTec GmbH im Jahre 2005, damals noch unter dem Namen NovaSpy. Die erste offizielle Version 1.0 wurde im März 2010 veröffentlicht. Seitdem werden regelmäßig neue Versionen veröffentlicht.

Open Source[Bearbeiten | Quelltext bearbeiten]

Am 14. August 2015 wurde inspectIT offiziell Open Source gestellt.

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. github.com
  2. github.com
  3. github.com
  4. java.lang.instrument JDK5 Oracle Beschreibung der Verwendung des javaagent für Java 5.
  5. java.lang.instrument JDK6 Oracle Beschreibung der Verwendung des javaagent für Java 6.