= PC Web Monitor 用户使用手册 =
== 介绍 ==
'''PC Web Monitor'''是基于开源项目'''Jwebap 0.6.1版'''二次开发出来的一个用于java web application 的profiler工具。主要致力于系统的'''性能分析'''和'''优化'''方面。目的是希望能够'''安全高效'''的部署于生产以及测试应用系统,及时地发现应用系统中存在的'''性能瓶颈''',以及为一些'''动态性很高''','''难于调试和维护'''的应用系统'''提供帮助'''。它不采用JVMPI提供的特性实现监控, 是一个纯粹的JAVA应用,不依赖于OS,JVM,JDK1.4以上用户都可以使用。 同时,它还非常易于使用简单的部署好jar包以后,所有的配置都在 控制台 完成。下面是它的一些特性:
* '''高效:''' 执行非常高效,几乎不给系统带来更多的开销,目前已经应用于中国电信数个省级大型业务系统。
* '''纯Java实现:''' Jwebap是纯java应用,可以方便的部署于JDK1.5和以上,各种中间件环境。
* '''Plugin架构:'''基于plugin架构进行扩展,所有的功能都是通过plugin方式加入,方便按需使用和加载,默认提供Tracer监控插件,完成对J2ee应用的监控,包括,连接池,SQL,方法调用,业务请求,Memcached访问等方面。
* '''使用简单:''' 部署非常简单,对系统没有任何侵入,只需部署完jar包和web.xml后,一切的配置交给控制台完成。
== 快速入门 ==
=== 第一步:部署 ===
* 把pc-web-monitor-1.1.jar和其依赖的jar包放到应用的ClassPath下。 如果你是EJB应用并且需要监控EJB的话,需要放到server lib下。
* 把pcwebmonitor.xml放到工程web module任意目录中,一般可以放在WebRoot/WEB-INF/目录下。
=== 第二步:配置 ===
修改你应用的(如果没有的话可以新建一个空的WebModule和EJB放在一个EAR中)web.xml:
增加context-param指定pcwebmonitor.xml 的路径
{{{
jwebap-config
/WEB-INF/pcwebmonitor.xml
}}}
增加PCWebMonitor启动Listener 注意:配置在所有 listener 之前,以保证 PCWebMonitor 最先启动,这点对于类增强很重要。
{{{
org.jwebap.startup.JwebapListener
}}}
为Tracer插件增加Filter
{{{
PageDetectFilter
org.jwebap.plugin.tracer.http.DetectFilter
excludeUrls
/detect;/detect/*;*.js;*.jpg;*.htm;*.html;*.gif;*.png;*.css;*.swf
PageDetectFilter
/*
}}}
增加Jwebap控制台Servlet
{{{
detect
org.jwebap.ui.controler.JwebapServlet
detect
/detect/*
}}}
=== 第三步:启动!===
启动应用!如果部署正确的话,输入 PCWebMonitor Servlet 对应的地址,就可以看到PCWebMonitro控制台。
=== 第四步:配置tracer插件参数 ===
进入 PCWebMonitor 控制台,进入Components菜单,已经在pcwebmonitor.xml中添加了Tracer插件,可以查看后台实际配置Tracer插件的具体组件(Component)的参数配置:
[[Image(components.jpg)]]
'''HttpComponent'''
{{{
-1
1000
}}}
'''MethodComponent'''
{{{
-1
1000
test.*;
}}}
'''JdbcComponent'''
{{{
-1
1300
org.jwebap.plugin.http.ServletOpenedConnectionListener;
org.jwebap.plugin.method.MethodOpenedConnectionListener
}}}
'''MemCachedComponent'''
{{{
org.jwebap.plugin.tracer.http.ServletMemCachedListener;
org.jwebap.plugin.tracer.method.MethodMemCachedListener
}}}
== 界面截图 ==
=== Jdbc Traces ===
[[Image(jdbctraces.jpg)]]
=== Jdbc Stat ===
[[Image(jdbcstat.jpg)]]
=== Http Traces ===
[[Image(httptraces.jpg)]]
=== Http Stat ===
[[Image(httpstat.jpg)]]
=== Method Traces ===
[[Image(methodtraces.jpg)]]
=== Method Stat ===
[[Image(methodstat.jpg)]]
=== Components ===
[[Image(components.jpg)]]