InspectIT

Last updated
inspectIT
Developer(s) NovaTec Consulting GmbH, inspectIT Community
Stable release
1.7.11.94 [1] / 19 May 2017(5 years ago) (2017-05-19)
Preview release
1.8.4.98 [2] / 15 September 2017(5 years ago) (2017-09-15)
Repository https://github.com/inspectIT/inspectIT
Written in Java
Operating system Cross-platform
Type application performance management
License Apache License, Version 2.0 [3]
Website Website

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.

Contents

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

Architecture

The architecture of inspectIT consists of three main components:

Functioning

During the Java class loading process of the JVM, a Java-based agent [4] [5] 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.

Open source

On August 14, 2015, inspectIT has been made available as open-source software under the Apache License, Version 2.0 (ALv2).

Related Research Articles

<span class="mw-page-title-main">Server-side scripting</span> Technique used in web development

Server-side scripting is a technique used in web development which involves employing scripts on a web server which produces a response customized for each user's (client's) request to the website. The alternative is for the web server itself to deliver a static web page. Scripts can be written in any of a number of server-side scripting languages that are available. Server-side scripting is distinguished from client-side scripting where embedded scripts, such as JavaScript, are run client-side in a web browser, but both techniques are often used together.

<span class="mw-page-title-main">Jakarta EE</span> Set of specifications extending Java SE

Jakarta EE, formerly Java Platform, Enterprise Edition and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web services. Jakarta EE applications are run on reference runtimes, that can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components it is deploying.

<span class="mw-page-title-main">OpenCms</span> Content management system

OpenCms is an open-source content management system written in Java. It is distributed by Alkacon Software under the LGPL license. OpenCms requires a JSP Servlet container such as Apache Tomcat.

Tuxedo is a middleware platform used to manage distributed transaction processing in distributed computing environments. Tuxedo is a transaction processing system or transaction-oriented middleware, or enterprise application server for a variety of systems and programming languages. Developed by AT&T in the 1980s, it became a software product of Oracle Corporation in 2008 when they acquired BEA Systems. Tuxedo is now part of the Oracle Fusion Middleware.

<span class="mw-page-title-main">Dynamic web page</span> Type of web page

A server-side dynamic web page is a web page whose construction is controlled by an application server processing server-side scripts. In server-side scripting, parameters determine how the assembly of every new web page proceeds, and including the setting up of more client-side processing.

<span class="mw-page-title-main">Request Tracker</span> Open source ticket-tracking software

Request Tracker, commonly abbreviated to RT, is a ticket-tracking software written in Perl used to coordinate tasks and manage requests among an online community of users. RT's first release in 1996 was written by Jesse Vincent, who later formed Best Practical Solutions LLC to distribute, develop, and support the package. RT is open source (FOSS) and distributed under the GNU General Public License.

<span class="mw-page-title-main">Dojo Toolkit</span> Open-source modular JavaScript library

Dojo Toolkit is an open-source modular JavaScript library designed to ease the rapid development of cross-platform, JavaScript/Ajax-based applications and web sites. It was started by Alex Russell, Dylan Schiemann, David Schontzler, and others in 2004 and is dual-licensed under the modified BSD license or the Academic Free License.

<span class="mw-page-title-main">Oracle Designer</span>

Oracle Designer was Oracle's CASE tool for designing an information system and generating it. After generating the information system one is able to edit the generated code with Oracle Developer Suite.

Azure DevOps Server is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle, and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

Eclipse OpenJ9 is a high performance, scalable, Java virtual machine (JVM) implementation that is fully compliant with the Java Virtual Machine Specification.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

<span class="mw-page-title-main">WaveMaker</span> Low-code programming platform

WaveMaker is an enterprise grade Java low code platform for building software applications and platforms. WaveMaker Inc. is headquartered in Mountain View, California. For enterprises, WaveMaker is a low code platform that aims to accelerate their app development and IT modernization efforts. For ISVs, it is a consumable low code component that can sit inside their product and offer customizations.

JSONP, or JSON-P, is a historical JavaScript technique for requesting data by loading a <script> element, which is an element intended to load ordinary JavaScript. It was proposed by Bob Ippolito in 2005. JSONP enables sharing of data bypassing same-origin policy, which disallows running JavaScript code to read media DOM elements or XMLHttpRequest data fetched from outside the page's originating site. The originating site is indicated by a combination of URI scheme, host name, and port number.

<span class="mw-page-title-main">Vaadin</span>

Vaadin is an open-source web application development platform for Java. Vaadin includes a set of Web Components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces (GUI) using the Java programming language only, TypeScript only, or a combination of both.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source server environment that can run on Windows, Linux, Unix, macOS, and more. Node.js is a back-end JavaScript runtime environment, runs on the V8 JavaScript Engine, and executes JavaScript code outside a web browser.

<span class="mw-page-title-main">OpenAM</span>

OpenAM is an open-source access management, entitlements and federation server platform. Now it is supported by Open Identity Platform Community.

<span class="mw-page-title-main">Jenkins (software)</span> Open source automation server

Jenkins is an open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat. It supports version control tools, including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase and RTC, and can execute Apache Ant, Apache Maven and sbt based projects as well as arbitrary shell scripts and Windows batch commands.

<span class="mw-page-title-main">RStudio</span> Integrated development environment for R

RStudio is an integrated development environment for R, a programming language for statistical computing and graphics. It is available in two formats: RStudio Desktop is a regular desktop application while RStudio Server runs on a remote server and allows accessing RStudio using a web browser.

<span class="mw-page-title-main">Gatling (software)</span>

Gatling is an open-source load- and performance-testing framework based on Scala, Akka and Netty. The first stable release was published on January 13, 2012. In 2015, Gatling's founder, Stéphane Landelle, created a company, dedicated to the development of the open-source project. According to Gatling Corp's official blog, Gatling was downloaded more than 1,000,000 times (2021). In June 2016, Gatling officially presented Gatling FrontLine, Gatling's Enterprise Version with additional features.

<span class="mw-page-title-main">Visual Studio Code</span> Source code editor developed by Microsoft

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.

References

  1. "Release Version 1.7.11 · inspectIT/InspectIT". GitHub .
  2. "Release Version 1.8.4 · inspectIT/InspectIT". GitHub .
  3. "InspectIT". GitHub . 30 September 2021.
  4. "java.lang.instrument (Java 2 Platform SE 5.0)". docs.oracle.com. Retrieved 2017-04-26.
  5. "Java Platform SE 6". docs.oracle.com. Retrieved 2017-04-26.