How Spring Insight Works

Spring Insight captures application events known as traces. A trace represents a thread of execution. It is usually started by an HTTP request but can also be started by a background job. A trace contains operations. Each operation represents a significant point in the execution of the trace, for example, a JDBC query or transaction commit.

Using this data, Spring Insight calculates summary information to lead you to the specifics of why your application may not be performing as well as it could.

Spring Insight uses AspectJ to intercept operations in target web applications. Target web applications are loaded with a special classloader that dynamically instruments web applications at runtime. Spring Insight uses sophisticated algorithms to keep the memory footprint low. However, Spring Insight-enabled servers require more memory (-Xmx) than a standard server.

Spring Insight and applications run together on a single tc Server runtime instance. Spring Insight's lean framework keeps developer requirements to a minimum. Developers can deploy a native application to a Spring Insight Developer-enabled tc Runtime instance and immediately see diagnostics. There is no database to set up, no instrumentation to perform.