Spring tc Server 와 Insight 소개 작성자 : 이동국작성일자 ( 년, 월, 일 ) : 2011.09.27
목차 1. SpringSource tc Server 3 1.1 tc Server 소개 4 1.2 설치하기 5 1.3 설정하기 7 1.4 tc Server 로그 8 2. Spring Insight 10 2.1 설정하기 11 2.2 사용하기 12 2.2.1 BROWSE RESOURCES 12 2.2.2 RECENT ACTIVITY 15 2.2.3 ADMINISTRATION 16
1.SpringSource tc Server
1.1 tc Server 소개 tc Server 는 Apache Tomcat 을개선하고, Spring 애플리케이션의성능과행위를들여다볼수있는기능을추가한제품이다. Apache Tomcat 에대한개선점은애플리케이션리로드지원이가장대표적이고, 성능과행위를들여다보기위해내부에 Spring Insight 콘솔이라는컴포넌트를내장하였다. 리로드기능을통해소스수정후매번 Tomcat 을완전히재시작하는것을방지하여, 개발효율성을높히도록한다. Spring Insight 에대해서는뒤에다시다루도록하겠다. tc Server 에대한추가정보는 http://www.springsource.com/developer/tcserver 에서볼수있다.
1.2 설치하기 SpringSource Tool Suite ( 이하 STS) 를디폴트옵션으로설치하면함께설치된다. A. 선택팝업 Servers View 에서마우스오른쪽버튼을클릭후 New > Server 를선택하면아래와같은화면이뜬다. B. Server Instance 선택 Spring Insight 를사용하기위해, 이미기본으로만들어진 spring-insight-instance 를선택한다.
C. 완료 아래와같은화면이나오면사용하기위한기본설정은된셈이다.
1.3 설정하기 기존에 Tomcat 를사용했다면, Tomcat 설정에서몇가지추가된옵션을볼수있다. A. Server Instance B. Application Reload Behavior Enable Java Agent-based reloading (experimental) 을체크하면, 이후애플리케이션수정된클래스만리로딩하도록해준다. C. Properties
1.4 tc Server 로그 기존의 Tomcat 을사용할때와달리 tc Server 를사용하면몇가지로그를더찍게된다. 특별한내용은아니고참고만하면될것으로보인다. A. 서버 Startup 로그 2011. 9. 27 오후 5:14:32 com.springsource.tcserver.security.propertydecoder <init> 정보 : tc Runtime property decoder using memory-based key 2011. 9. 27 오후 5:14:33 com.springsource.tcserver.security.propertydecoder <init> 정보 : tcserver Runtime property decoder has been initialized in 226 ms 2011. 9. 27 오후 5:14:33 com.springsource.tcserver.serviceability.rmi.jmxsocketlistener init 정보 : Started up JMX registry on 127.0.0.1:6969 in 111 ms 2011. 9. 27 오후 5:14:33 org.apache.coyote.http11.http11protocol init 정보 : Initializing Coyote HTTP/1.1 on http-8080 2011. 9. 27 오후 5:14:33 org.apache.catalina.startup.catalina load 정보 : Initialization processed in 682 ms 2011. 9. 27 오후 5:14:33 org.apache.catalina.core.standardservice start 정보 : Starting service Catalina 2011. 9. 27 오후 5:14:33 org.apache.catalina.core.standardengine start 정보 : Starting Servlet Engine: SpringSource tc Runtime 2.1.1.RELEASE/6.0.29.C.RELEASE 2011. 9. 27 오후 5:14:33 org.apache.catalina.startup.hostconfig deploydescriptor 정보 : Deploying configuration descriptor ROOT.xml ASPECTJ: aspectj.overweaving=true: overweaving switched ON 2011. 9. 27 오후 5:14:35 org.apache.catalina.core.applicationcontext log 정보 : Initializing Spring root WebApplicationContext 2011-09-27 17:14:35 [INFO ](ContextLoader :187) Root WebApplicationContext: initialization started 2011-09-27 17:14:35 [DEBUG](PathMatchingResourcePatternResolver:179) Found Equinox FileLocator for OSGi bundle URL resolution 2011-09-27 17:14:35 [INFO ](XmlWebApplicationContext :456) Refreshing Root WebApplicationContext: startup date [Tue Sep 27 17:14:35 KST 2011]; root of context hierarchy [TomcatWeavingInsightClassLoader@187c12a] warning javax.* types are not being woven because the weaver option '- Xset:weaveJavaxPackages=true' has not been specified... 중략 2011. 9. 27 오후 5:14:40 org.apache.catalina.startup.hostconfig deploywar 정보 : Deploying web application archive insight.war 2011. 9. 27 오후 5:14:41 com.springsource.insight.collection.tcserver.ltw.tomcatweavinginsightclassloader start 정보 : Context [localhost insight] will not be woven 2011. 9. 27 오후 5:14:41 org.apache.catalina.core.applicationcontext log 정보 : Initializing Spring root WebApplicationContext 2011. 9. 27 오후 5:14:46 liquibase.database.template.jdbctemplate comment 정보 : Lock Database 2011. 9. 27 오후 5:14:46 liquibase.lock.lockhandler acquirelock 정보 : Successfully acquired change log lock 2011. 9. 27 오후 5:14:46 liquibase.database.abstractdatabase getranchangesetlist 정보 : Reading from DATABASECHANGELOG 2011. 9. 27 오후 5:14:46 liquibase.database.template.jdbctemplate comment 정보 : Release Database Lock 2011. 9. 27 오후 5:14:46 liquibase.lock.lockhandler releaselock 정보 : Successfully released change log lock
2011-09-27 17:14:48,185 WARN [net.sf.ehcache.hibernate.abstractehcacheprovider][main] - A configurationresourcename was set to /META-INF/ehcache.xml but the resource could not be loaded from the classpath.ehcache will configure itself using defaults. 2011-09-27 17:14:48,595 WARN [org.hibernate.cache.impl.bridge.entityregionadapter][main] - read-only cache configured for mutable entity [com.springsource.insight.repo.metric.persist.persistedmetric] 2011-09-27 17:14:48,601 WARN [org.hibernate.cache.impl.bridge.entityregionadapter][main] - read-only cache configured for mutable entity [com.springsource.insight.repo.tag.persist.persistedtag] 2011-09-27 17:14:52,222 WARN [org.springframework.jmx.support.jmxutils][main] - Found more than one MBeanServer instance. Returning first from list. B. 소스수정시로그 아래와같이, 수정한특정클래스만다시로딩하는것으로볼수있다. 서버를재시작하는경우가있으나, 자세히보면완전히 재시작하기보다는일부만재시작하는것처럼로그가짧은것으로볼수있다 Reloading: Loading new version of kr.pe.ldg.repository.homerepository [NBgXRaw] Reloading: Loading new version of kr.pe.ldg.repository.homerepository [NBgXTxE]
2.Spring Insight
2. Spring Insight 오류! 지정한스타일은사용되지않습니다. 2.1 설정하기 Spring Insight 는 STS 의 tc Server 에기본내장되어있다. tc Server 설정화면하단에보면, Insight 탭이있다. 이탭을클릭한다. Insight 탭에는크게두가지설정을할수있다. 두가지설정모두디폴트로사용하도록한다. 몇번사용해보고익숙해지면 Plugins 목록만수정해서사용하면된다. 11 Spring tc Server 및 Insight 소개
2. Spring Insight 오류! 지정한스타일은사용되지않습니다. 2.2 사용하기 Spring Insight 를사용하기위해서는웹브라우저로 http://localhost:8080/insight 로접속하면된다. 2.2.1 Browse Resources 그러면아래와같은화면이나온다. APPLICATIONS 의각각의값 (HomeController#view, HomeController#list 등 ) 을클릭하면세부정보를보여준다. 세부정보로는응답시간추이, 호출횟수, 에러율, 기준시각대비응답속도 (Health) 등등을보여준다. 12 Spring tc Server 및 Insight 소개
2. Spring Insight 오류! 지정한스타일은사용되지않습니다. 여기서 End Point > Health 의 frustrated 를클릭하면좀더세부정보를보여준다. 기준시각보다느린 URL 요청에대해세부적인메서드별또는쿼리별처리시간을보여주며, 실제문제가된지점을보여준다. 13 Spring tc Server 및 Insight 소개
2. Spring Insight 오류! 지정한스타일은사용되지않습니다. JDBC Statement 의경우, 클릭하면실제쿼리문과셋팅되는파라미터까지모두보여준다. 14 Spring tc Server 및 Insight 소개
2. Spring Insight 오류! 지정한스타일은사용되지않습니다. 2.2.2 Recent Activity 시간대별응답추이를보여준다. 차트의막대바를클릭하면 URL 별응답시간및호출그래프를보여준다. 보여주는데이터형태는앞서본 Browse Resources 의화면과크게다르지않다. 15 Spring tc Server 및 Insight 소개
2. Spring Insight 오류! 지정한스타일은사용되지않습니다. 2.2.3 Administration Administration 에서는몇가지관리적인기능을제공한다. 16 Spring tc Server 및 Insight 소개
2. Spring Insight 오류! 지정한스타일은사용되지않습니다. A. End Point Thresholds URL 별응답시간을표기할때, 느리다 의기준이되는기준시각을설정한다. B. Import Trace 앞서본화면에서 Trace Detail 화면의결과물에대해 export 기능을제공하는데, 다시 import 해서보고자할때사용할수있다. C. Purge Data 리포트하고있는데이터를초기화해서다시수집하고자할때, 초기화기능을제공한다. D. Collection Plug-ins 앞서 tc Server 설정의 Insight 탭의플러그인목록에서본내용을그대로보여준다. E. General Statistics 간단한통계정보를보여준다. 17 Spring tc Server 및 Insight 소개