View Full Version : Spring Insight outside of tc server?
stu2
May 26th, 2010, 03:50 PM
Spring Insight looks incredible. We're using the Spring stack but not running on tc server. Should it be possible for me to explicitly pass the right jvm parameters to add SI instrumentation on WebSphere 6.1 (jdk 1.5 based)?
Thanks,
Stu
jtravis
May 26th, 2010, 04:00 PM
You won't be able to use it outside of tc Server for the time being. We rely on Tomcat's classloader for a few of our tricks.
stu2
May 26th, 2010, 04:05 PM
Thanks for the quick response. It saved me from wasting time trying to get it to work.
Is that something you see SI moving towards at some point in the future, or is the vision that this would be a part of the value of using tc?
jtravis
May 26th, 2010, 04:10 PM
I wouldn't rule it out in the future, as we want people who are writing Spring applications to have this valuable tool irrespective of how it's deployed. However, at this time we are focusing our energy on the Tomcat container -- specifically tc Server. As you can imagine, it makes our death matrix much smaller which allows us to move much more quickly.
Are you not able to try your app out on tc Server? What ties you to websphere?
stu2
May 26th, 2010, 04:26 PM
Makes sense, and you guys are certainly moving quickly.
The apps I'm interested in for this are EARs, fairly integration-heavy with plenty of JNDI stuff configured in WebSphere already. Ideally we'd be able to just run them on tc, but I suspect this would be quite a bit of work in reality.
stu2
May 26th, 2010, 04:33 PM
We've generally been using Jamon with Spring-injected timing aspects for high level performance data. We're looking seriously at OSGi for future apps, and I suspect that approach will hit problems, as I think Jamon holds it's data within a single classloader. Works great in JEE, but what about when there are many bundles and each with it's own classloader? I need to dig to see if this is really a problem, but that's my hunch.
SI looks like it holds timing info in it's own WAR, and gathers data in the target by instrumenting bytecode within the same JVM. ...currently moot point since tc isn't OSGi based, but if it were, would this approach work to capture timings in OSGi apps?
Apologies if this is a dumb question. I'm still trying to sort out all of the implications of OSGi.
metamorph
May 31st, 2010, 03:00 PM
I wouldn't rule it out in the future, as we want people who are writing Spring applications to have this valuable tool irrespective of how it's deployed. However, at this time we are focusing our energy on the Tomcat container -- specifically tc Server. As you can imagine, it makes our death matrix much smaller which allows us to move much more quickly.
Are you not able to try your app out on tc Server? What ties you to websphere?
Hey Jon,
Just wondering if its a possibility to use Insight on plain vanilla Tomcat. Considering tc is using Tomcat and as you mentioned earlier you are using the Tomcat classloader is there a way to deploy Insight in standard Tomcat.
My app uses JDK 1.6 and Tomcat 6.x
Thanks
- Kam
jtravis
May 31st, 2010, 04:42 PM
Yes, it would be possible to run Insight with vanilla Tomcat, as tc Server is pretty much just that with some additional niceties. Does tc not fit your needs?
metamorph
May 31st, 2010, 04:48 PM
Tc fits my need as Dev but not for production/commercial use. Right now our production stack is all tomcat and/or approaching tomcat as part of our migration effort to make it consistent operational environment across the board.
And that is the reason for asking. Considering that you have said yes, what do I need to do to get Insight running on Tomcat 6.x.
jtravis
May 31st, 2010, 06:31 PM
There are a few things that the Insight tc Server template does that you'll need to replicate in Tomcat:
- context.xml -- You will need to use the same configuration as we use (namely changing the valve and adding the weaving classloader)
- setenv.sh -- To get weaving information from the items in tomcat's /lib directory, you'll need to use our standard classloader.
- lib/* -- We have a variety of libs that must be in the tomcat top-level classloader to properly process traces.
Obviously the plugin and configuration for insight exists in insight/*, so you'll need all that as well. Let me know how it works out for you.
chesteric31
Feb 7th, 2011, 09:12 AM
Is it now possible to install/deploy Insight on a simple Tomcat 5.5.x or a simple Tomcat 6.x.x? Also outside a TcServer...
I've done few tests with the Insight.war, *.jar and the context.xml but I've again some issues to view the localhost:8080/insight page...
Thanks in advance,
chesteric31
Feb 8th, 2011, 03:15 AM
Finally, I've succeeded to install Insight into a Apache tomcat 6.0.20, to do this, follows these steps:
Copy of *.jar from the tc server lib folder to the original tomcat lib folder, WARNING do not overwrite the .jar from the original tomcat
Copy the web.xml from tc server conf folder to the original tomcat conf folder, overwrite can be permit
Copy the context.xml from tc server conf folder to the original tomcat conf folder, overwrite can be permit
Copy the folder: webapps-lib from tc server to the original tomcat root folder
Good luck ;)
notallowed
Apr 1st, 2011, 02:44 PM
Hello, i have tried to do the steps you have described. Unfortunately i have some problem. Maybe you can help me.
So i have done this steps :
I have done the step 1 to 3 without any problems.
I had some problems with step 4 because there is no webapps-lib folder in tc server so i supposed you talked about the lib folder in the insight instance of tc.
But i receive an error :
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
01-Apr-2011 22:36:53 org.apache.catalina.loader.WebappLoader start
SEVERE: LifecycleException
java.lang.NullPointerException
at java.io.File.<init>(File.java:222)
at com.springsource.insight.collection.tcserver.ltw.T omcatWeavingInsightClassLoader.readInsightConfig(T omcatWeavingInsightClassLoader.java:67)
at com.springsource.insight.collection.tcserver.ltw.T omcatWeavingInsightClassLoader.start(TomcatWeaving InsightClassLoader.java:50)
at org.apache.catalina.loader.WebappLoader.start(Weba ppLoader.java:656)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4303)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescr iptor(HostConfig.java:630)
at org.apache.catalina.startup.HostConfig.deployDescr iptors(HostConfig.java:556)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:491)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:722)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:443)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:516)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
01-Apr-2011 22:36:53 org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
LifecycleException: start: : java.lang.NullPointerException
at org.apache.catalina.loader.WebappLoader.start(Weba ppLoader.java:676)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4303)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescr iptor(HostConfig.java:630)
at org.apache.catalina.startup.HostConfig.deployDescr iptors(HostConfig.java:556)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:491)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:722)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:443)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:516)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
01-Apr-2011 22:36:53 org.apache.catalina.startup.HostConfig deployDescriptor
SEVERE: Error deploying configuration descriptor host-manager.xml
java.lang.IllegalStateException: ContainerBase.addChild: start: LifecycleException: start: : java.lang.NullPointerException
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:795)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescr iptor(HostConfig.java:630)
at org.apache.catalina.startup.HostConfig.deployDescr iptors(HostConfig.java:556)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:491)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:722)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:443)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:516)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
01-Apr-2011 22:36:53 org.apache.catalina.loader.WebappLoader start
SEVERE: LifecycleException
java.lang.NullPointerException
at java.io.File.<init>(File.java:222)
at com.springsource.insight.collection.tcserver.ltw.T omcatWeavingInsightClassLoader.readInsightConfig(T omcatWeavingInsightClassLoader.java:67)
at com.springsource.insight.collection.tcserver.ltw.T omcatWeavingInsightClassLoader.start(TomcatWeaving InsightClassLoader.java:50)
at org.apache.catalina.loader.WebappLoader.start(Weba ppLoader.java:656)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4303)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescr iptor(HostConfig.java:630)
at org.apache.catalina.startup.HostConfig.deployDescr iptors(HostConfig.java:556)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:491)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:722)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:443)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:516)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
01-Apr-2011 22:36:54 org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
Any ideas?
Thx.
chesteric31
Apr 7th, 2011, 02:59 AM
The tc-server-6.0.20.C from springsource has a folder webapps-lib, that's mandatory.
Without this folder has its jars, that's not possible to launch Tomcat with Insight inside :)
Otherwise, download once again the tc server from the springsource website and retry...
Keep me in touch,
garyskon
May 18th, 2011, 09:50 AM
Hi,
Are you able to see JDBC level drill downs when you deploy insight in normal tomcat ?
cheers !
gary
garyskon
May 18th, 2011, 10:35 AM
I configured this with an external tomcat and still can't see jdbc drill downs.
I rest my case !
chesteric31
May 19th, 2011, 02:19 AM
Please see in attachment a JDBC output graphics (tomcat6 and spring insight).3796
garyskon
May 19th, 2011, 03:11 AM
Thanks
I configured the way you had suggested and Insight does come up but JDBC drill downs don't
I have started to wonder if it has something to do with my jars or the DB we are using. In this case all the jars are unders WEB-INF/lib . . .
We are using MySQL and use Spring JDBC templates to query the DB . . . .
chesteric31
May 19th, 2011, 03:34 AM
It's important to signal that I'm using for now the version 1.0.0.M2 of Insight, I've seen that exists now a new version (1.5.0) but I've not yet tested with this one.
An another important thing to say is that we are using Tomcat 6.0.20 and not Tomcat 5.x.x.
We re using Oracle here, but it doesn't seemed to be an explanation of success...
garyskon
May 19th, 2011, 06:59 AM
Thanks - So far I am on almost similar versions.
Tomcat 6.x and Insight 1.0.0.M2
javed
Jun 5th, 2012, 07:59 AM
Hi All,
Just wondering has there be any updates since the first post to enable Spring Insight to be deployed on other application servers such as IBM Websphere 6.1 / 8 ?
kind regards,
Javed
edvir
Jun 29th, 2012, 01:05 AM
Yes, we're adding Oracle Weblogic 10.3 and 12.1 support in Insight's up coming 1.9 release.
JBoss support has been around for quite some time now.
-Eran
javed
Jun 29th, 2012, 01:17 AM
Yes, we're adding Oracle Weblogic 10.3 and 12.1 support in Insight's up coming 1.9 release.
JBoss support has been around for quite some time now.
-Eran
That looks very promising and interesting Eran thanks for sharing !
Is there any guide on how to port to other application servers say IBM Websphere by any chance?
edvir
Jul 1st, 2012, 02:03 AM
Unfortunately, porting to application containers that are not yet support is nontrivial.
In a nutshell, each container, and sometimes even versions of the same container, implements a slightly different class loading mechanism and class loaders. This requires us to adjust Insight's load-time weaving, and possibly a bunch of other stuff as well, separately for the supported containers.
IBM Webshpere support is in our backlog. But at this point we have no ETA for it.
kumara
Sep 13th, 2012, 04:42 AM
Hi,
I do read from the above discussion that Insight does have support for Tomcat 6. But I could not find the steps to configure Insight with Tomcat. I cant use TC server because our deployment team decided to stay with Tomcat 6. I downloaded tc server 2.7.1RELEASE(vfabric-tc-server-developer-2.7.1.RELEASE). What all things I need to change for my Tomcat 6.0.35?
The tc server I downloaded does not have webapp-lib directory as was mentioned in the previous posts. Can some one PLEASE point me to some documentation on how I can configure my tomcat to integrate Spring Insight 1.5. Any pointers will be really appreciated.
Thanks,
Anuj
edvir
Sep 15th, 2012, 04:28 AM
Hi,
To install a Spring Insight agent on a Tomcat see http://pubs.vmware.com/vfabric51/topic/com.vmware.vfabric.tc-server.2.7/operations/install-agents.html. Basically you run the agent installer and let it walk you through the install procedure.
The Insight dashboard has to be installed on tc-server. We currently do not officially support any other container. Here's the link to the dashboard installation procedure: http://pubs.vmware.com/vfabric51/topic/com.vmware.vfabric.tc-server.2.7/operations/install-dashboard.html.
Restavrator
Sep 20th, 2012, 04:36 PM
Hi,
Guys, can I use Spring Insight (which is included to tcServer Developer Edition) with Apache Tomcat in production environment?
Thanks.
edvir
Sep 20th, 2012, 04:50 PM
Yep. Check out the Spring Insight supported configurations page.
http://pubs.vmware.com/vfabric51/index.jsp?topic=/com.vmware.vfabric.tc-server.2.7/operations/suppconfigsinsight.html
Restavrator
Sep 21st, 2012, 02:10 AM
I apologize for not exact question :(
Now Spring Insight available in 2 versions:
1) free Spring Insight as part of tcServer Developer Edition (but which can be used only for development / performance testing)
2) paid Spring Insight Operations as part of tcServer Spring Edition
I wanted to ask the following:
Can I use free version of Spring Insight with Apache Tomcat in production environment?
Thanks.
Restavrator
Sep 25th, 2012, 04:06 PM
Representatives of the SpringSource, can you assist with my previous question?
Also, I have following questions:
1) Maybe someone measured - what percentage of the CPU/time spent on gathering statistics for insight?
2) Spring Insight (Open Source) and Spring Insight Operations differ only by the capacity of administration?
3) Can Spring Insight works with SQL database like MySQL or PostgreSQL?
Thanks.
edvir
Sep 27th, 2012, 06:07 PM
1) The data collection overhead (i.e., the overhead the agent adds to the application server) is less than 5%.
2) By Spring Insight (Open Source) I guess you refer to the dev edition. If so, Insight Ops is designed for production environments while the dev edition is for dev ops. As such the main difference is:
Insight Ops is shipped preconfigured to collect only 10% of the data (configurable) to impose less overhead on the container
3) You can monitor all JDBC queries regardless of the DB type and vendor.
Restavrator
Sep 28th, 2012, 04:17 AM
1) ok
2) ok
3) I mean the following: can Spring Insight store metrics/jdbc queries/etc. to any SQL database like MySQL/PostgreSQL instead current H2 database?
If true, how I can generate a database schema for Insight.
Thanks.
Powered by vBulletin® Version 4.2.1 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.