People are still discovering the benefits of the free tool from VMware SpringSource, called Spring Insight Developer. This post provides an explanation of what Spring Insight Developer does, how to set it up with Apache Tomcat, and an example of available plugins. For a better visual, there is also a video of the new Spring Insight 1.8.3 GUI embedded below.
Spring Insight is an extremely useful, time-saving, free tool for Spring developers and also has plugins for Grails, GemFire, Hadoop, Hibernate, JMS, JNDI, LDAP, MongoDB, RabbitMQ, Redis, Spring Batch, Spring Integration, Tomcat, and many more on Github. In the latest release of Spring Insight, VMware introduced a new "split-agent" architecture that will enable this tool to be extended to more runtime languages besides Java, such as .NET, Ruby, PHP, Python, etc. There is also a bounty program where you can get paid to develop new plugin or offer to pay others.
What does Spring Insight Do?
In a nutshell, Spring Insight Developer lets you see what your code is doing. When, as a developer, you press a button in your application’s GUI, you can see what Java code is invoked, how it translates into SQL, and quite a bit more. Before we show it in action, it’s worth mentioning a few of the benefits.
As mentioned, it’s free, and it’s also quite easy to download, set-up, and understand.
Since Spring Insight uses AspectJ and AOP to load-time weave your application, you do not have to make any changes to your application code to use Spring Insight.
It helps you code, test, troubleshoot, and iterate more quickly through development efforts.
As you might expect, it also helps reduce project risk, makes applications more reliable, helps avoid releasing problem code into production, and makes troubleshooting production problems much easier.
It works with Spring Insight Operations (read about the differences here) and vFabric Application Performance Manager within the vFabric Suite so that you can get the same view of code in a test, production, or other “live” system. For DevOps, this means we are all looking at the same information about application performance and problematic code.
There are other benefits, like a plug-in based architecture, and you can read more about the approach to the “split-agent” architecture (i.e. how Spring Insight Operations works) in this article.
Let’s take a look at a simple example of tracing your app, viewing the details, and seeing the code in action.