Overview of Spring Insight Operations

Note: Spring Insight templates are no longer supported. The documentation is here for reference only.

Spring Insight Operations gives you real-time visibility into web application and tc Server performance in production environments. Insight Operations graphs the health of applications over time and reveals application and server problems as they occur, with detailed information about contributing events.

For detailed information about what you can do with Insight Operations, see Using Insight Operations.

How Spring Insight Operations Works

Spring Insight Operations captures Web 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, which represent significant points in the execution of the trace, for example, a JDBC query or transaction commit. Insight Operations uses trace data to calculate summary information and to lead you to the specifics of why your application is not performing as well as it should be.

Insight Operations has a two-tiered architecture that consists of Spring Insight Dashboard and Spring Insight Agent; both are web applications. Spring Insight Agent runs in each tc Runtime instance (or other supported container) where web applications you want to monitor run. The agent collects trace data and sends it to a single, dedicated tc Runtime instance running Spring Insight Dashboard. Insight Dashboard enables you to monitor applications across all servers and to get detailed statistics from individual servers. The two-tiered architecture separates the collection of trace data by Insight Agent from the Insight Dashboard user interface, thereby ensuring that minimal overhead is added to tc Runtime instances that execute web applications.

How Insight Operations Controls Data Collection and Reduces Overhead

Insight Operations provides several collection strategies to control what traces an agent collects, so that you can reduce the volume of trace data, and hence reduce the overhead of monitoring:

  • Endpoints only. Limit a certain percentage of traces to resources that are potential endpoints.
  • Prefix instrumentation. Selectively exclude resources from instrumentation at the package, classes, or method level.
  • Minimum operation duration. Exclude operations whose duration is less than a specified threshold.

Collection strategies can be defined for each Insight Agent in its properties file; you can configure global collection strategy settings that affect all agents from the Insight Dashboard user interface. This allows you to temporarily override selected collection settings of all agents at run-time. Upon agent restart, the collection strategies defined in its properties file again take effect. See Enable and Disable Collection Strategies.

Agent - Dashboard Communication

Insight Operations now supports three different transports for agent - dashboard communication: HTTP, which is the default, ActiveMQ, and RabbitMQ. The agent can only use one transport at a time. The dashboard can use two transports, but one must be HTTP transport.

Comparing Spring Insight Operations and Spring Insight Developer

Spring Insight Operations is designed to be deployed over a cluster of tc Runtime instances or other supported containers in production environments. It is commercially supported. You install Insight Agent in each supported container that is running applications you wish to monitor. The Insight Agent can run in supported versions of JBoss, Tomcat, and WebLogic Server, as well as in tc Server. Each agent reports to a single Insight Dashboard instance. This configuration is different from Insight Developer, in which the dashboard, the collection instrumentation, and monitored applications all run in the same container.

Spring Insight Developer, packaged as a template in Pivotal tc Server Developer edition, is designed for application development. It is not appropriate for production deployments. Unlike Insight Operations, Insight Developer does not have a two-tiered architecture: a single Insight application runs in tc Server along with monitored application, and provides both Dashboard and collection functionality. Insight Developer places greater resource demands on the tc Runtime instance than a tc Runtime instance running the Insight Agent component of Spring Insight Operations.

The two Spring Insight products have a similar dashboard user interface and collect similar information, except that Spring Insight Operations also enables you to collect and view performance by server and overall for the cluster.

For details about Spring Insight Developer, see the Spring Insight Developer documentation.