Use Cases for Spring Insight Developer and Spring Insight Operations

Spring Insight Developer and Spring Insight Operations have specific use cases throughout the application development and production cycle.

Agile Development

While developing Web applications, using Spring Insight Developer allows the Web application developer to gain a substantial increase in productivity as they make changes and see the effect immediately. Typically, a developer makes changes to HTML or JSP and reloads the browser to verify that the modified application renders the Web page appropriately. However, developers often lack a centralized tool that shows how their changes affect the following factors:

  • JDBC queries

  • Spring bean interaction

  • Calls to external services

Large, popular frameworks such as Hibernate and Spring Web push much of the code that developers formerly wrote manually into a convenient library. This process saves time and improves maintenance. The downside is relinquished control of code, which means that the developer might not know exactly what is going on behind the scenes:

  • How many database transactions did a Web request create?

  • How expensive is it to use complex Web parameter binding?

  • What HTTP headers are sent to the developer's REST application?

The Spring Insight Trace answers these questions so that developers make changes and verify their effectiveness immediately.

Developers who are developing Web applications to be deployed on a cluster can use Spring Insight Operations to test, diagnose, and tune their applications running on a cluster. The cluster introduces interactions and performance factors that are not present when developing and testing on a single tc Runtime instance. Spring Insight Operations provides an opportunity for developers to quickly diagnose issues related to clustering and tune the application for a multi-server platform before deployment.

QA Rear-View Mirror

Using Spring Insight Developer or Spring Insight Operations gives QA a richer picture of an application's performance and eliminates much of the work required to diagnose problems. As QA tests an application, problems arise:

  • Slow-loading pages

  • Database grinding

  • Stack traces

As these problems occur, QA engineers can browse to the Spring Insight Dashboard and review all recent operations. Engineers can access in-depth information that helps them track down bugs:

  • Database queries and their performance

  • Detailed description of the web request, its parameters, and headers

  • Component method calls and their parameters

  • All Spring components and their performance

QA forwards this information to the developer and improves the turnaround time for identifying and resolving root causes.

Testing Load and Performance

Spring Insight Operations works with your existing load-testing tools to observe how your application behaves under load on a cluster before deploying to a production setting. You can use Spring Insight Operations to:

  • View graphs of overall application health on the cluster and on individual servers

  • View relative throughput and response times among servers in the cluster as load varies

  • Detect any application performance degradation or failure during long-running tests

  • Drill down into a trace on a specific server to see what exactly happened under heavy load

  • Discover resource contention or bottlenecks

Repeated load and performance testing with Spring Insight Operations helps you to diagnose performance issues and to tune and harden your clustered application.

Extended Customization with the Spring Insight Developer Kit

Spring Insight uses a plug-in architecture to collect, correlate, and analyze performance metrics from your application and from different pieces of third-party software and libraries that interact with the application. With the Spring Insight Development Kit., you can create plug-ins that are tailored to the needs of your application and that extend Insight functionality:

  • Collect trace details such as Hibernate flush times and JSP render times.

  • Render custom HTML for an operation detail frame.

  • Analyze traces to produce new types of Endpoints, such as a JMS message queue.

The Developer Kit is a separate download. It includes a copy of the source code for all plug-ins shipped with Spring Insight and a sample plug-in that serves as a starting point for creating your own plug-ins.

For details about the Development Kit, see Spring Insight Developer.

Browser Performance Data from Integration with Google SpeedTracer

SpeedTracer is a Google Chrome extension that analyzes how your application is performing inside the browser. It measures how long the browser takes to render, transform CSS, show images, and so on. VMware partners with Google to integrate Spring Insight data into SpeedTracer and tie browser performance to backend performance with a robust client-server application performance tool. If your Web application uses Ajax and other rich open Web technologies, try SpeedTracer with Spring Insight.

For details, see Spring Insight Developer.

Production Application Monitoring and Troubleshooting

When Web applications move to production, Spring Insight Operations helps administrators monitor and troubleshoot the health of the applications and the servers running them. Spring Insight Operations collects trace information from multiple servers and presents information for the entire cluster.

When you start Spring Insight Operations Dashboard, you can see a graph of application health for the entire cluster. Explore the applications by clicking a single application or by expanding an application and clicking on its endpoints. You see any problems immediately, including which particular applications and endpoints are problematic.

Spring Insight Operations has a Servers section beneath the Applications section that lets you display health and detail information for each server in the cluster. You can quickly identify servers that experience errors and that underperform. You can see trace details for specific events and exceptions, so that when problems occur you have easily accessible, detailed information to help you pinpoint the cause.