zoukankan      html  css  js  c++  java
  • Use Spring Insight Developer to Analyze Code, Install it with Tomcat, and Extend it with Plugins--转载

    原文地址:http://www.tomcatexpert.com/blog/2012/12/05/use-spring-insight-developer-analyze-code-install-it-tomcat-and-extend-it-plugins

    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.

    Let’s take a look at a simple example of tracing your app, viewing the details, and seeing the code in action.

    Step 1: Trace Your App

    In the screen shot below, there are two windows.

    • The top window shows the “Recent Activity” tab within Spring Insight running on localhost. This tab shows the “Trace History” over time. A Trace represents a thread of execution. It is usually started by an HTTP request made up of one or more operations starting with Endpoints (e.g. a GET service or other receptor of requests) but can also be started by a background job.
    • The bottom window shows the VMware vFabric SpringTrader Reference Architecture application running and the button “Get Quote” being pressed. When you press the button, the Trace is captured in the history above along with the operations details.

    Step 2: View the Trace Details

    In the screen shot below, we see the last Trace in the history (top right) highlighted in dark green.  For any user request, Spring Insight shows each Trace organized by Endpoint within an Application.  Below the Trace History, we see the individual traces. We have the QuoteController#findQuote Endpoint highlighted. It took 8ms for the GET /spring-nanotrader-services/api/quote/VMW to run from the Application spring-nanotrader-services. Below this, we see the trace details (including the breakdown of what took the most time in the 8ms trace):

    • Filters for servlet operations like security and authentication
    • The QuoteController#findQuote request/response servlet operation
    • A JDBC SELECT (QUOTE) database call

    Step 3: Seeing the Method Call, Arguments Passed and Returned

    By expanding QuoteController#findQuote, we can see the “VMW” argument passed in from the original GUI interaction, the return value, and the source code location. We could also see the SQL passed or similar details in a SQL transaction. This let’s you quickly drill down into problem areas that take too long.  Keep in mind, Spring Insight Operations let’s you do this in production systems too.  

    How to Install Spring Insight for Tomcat

    Spring Insight comes in two forms, to understand the differences, see the post on Understanding the Difference between Spring Insight Developer & Spring Insight Operations. Neither option will provide an easy mechanism for installing Insight with Tomcat, but the set-up is not terribly difficult.

    • Download vFabric tc Server Developer
    • Create a vFabric tc Server instance which has Insight enabled.
    • Download the latest Apache Tomcat 6.0.x or 7.0.x
    • Copy the following files & folders from the tc Server instance w/Insight
      • bin/setenv.sh
      • bin/insight-bootstrap-tcserver-1.8.3.RELEASE.jar
      • insight
      • lib/*
      • webapps/insight.war
    • Edit conf/server.xml and add the following Valve to the Engine block.
    • <Valve className="com.springsource.insight.collection.tcserver.request.HttpRequestOperationCollectionValve"/&gt;
      • Edit conf/context.xml and add the following before the closing Context tag.
      • <Loader loaderClass="com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader" />
      • <Listener className="com.springsource.insight.collection.tcserver.lifecycle.ApplicationLifecycleCollectionListener" />
    • Start the Tomcat instance.

    Plug-In Architecture Example: Using Spring Insight with RabbitMQ

    As mentioned above, there is a wealth of plugins available. In case you missed it, there is a post on the RabbitMQ Plugin for Spring Insight. This plugin allows for monitoring RabbitMQ Java client libraries at the code-level and allows you to monitor your application's performance around publishing and receiving messages with RabbitMQ. There is a more detail and an example screenshot in this article.

    The entire list of Spring Insight Plugins is available at Github
    You can download Spring Insight on tc Server or with STS.

  • 相关阅读:
    FFmpeg在Linux下搭建 ***
    网络互联参考模型
    Linux的SOCKET编程详解
    [Python爬虫] 之四:Selenium 抓取微博数据
    [Python爬虫] 之三:Selenium 调用IEDriverServer 抓取数据
    [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置
    Windows MongoDB安装配置
    windows10下部署IIS10+Django web服务
    [Python爬虫] 之一 : Selenium+Phantomjs动态获取网站数据信息
    windows10 phantomjs 安装和使用
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4579832.html
Copyright © 2011-2022 走看看