Changes between Version 5 and Version 6 of document


Ignore:
Timestamp:
12/28/2012 03:47:29 PM (13 years ago)
Author:
zhongweimin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • document

    v5 v6  
    6666进入 PCWebMonitor 控制台,进入Components菜单,已经在pcwebmonitor.xml中添加了Tracer插件,可以查看后台实际配置Tracer插件的具体组件(Component)的参数配置: 
    6767 
    68 [[Image(components.jpg)]] 
     68[[Image(components.jpg)]][[BR]] 
    6969 
    70 '''HttpComponent''' 
     70 Http Component:: Http Component 在 Jwebap 中是个非常简单的组件,但是却非常有用。它可以抓取所有的 http 请求,进行分析,包括时间阀值,执行次数,平均执行时间,请求清单,对于不想记录的请求,可以配置 exclude url attern,进行滤除。[[BR]][[BR]] 
     71 同时,Http Component可以结合Jdbc Component和Memcached Component,监听请求内执行的sql及访问MemCached的操作,进行统计。[[BR]][[BR]] 
    7172{{{ 
    7273<component name="HttpComponent" type="org.jwebap.plugin.http.HttpComponent"> 
     
    7778</component> 
    7879}}} 
    79 '''MethodComponent''' 
     80 以上是pcwebmonitor.xml中Http Component的配置代码,两个配置参数:[[BR]] 
     81 trace-filter-active-time: (ms)超过该毫秒数的执行轨迹将被记录[[BR]] 
     82 trace-max-size: 最大记录的超时轨迹数[[BR]] 
     83 
     84 Method Component:: Method Component与其说是一项功能,不如说是一种机制。灵活的使用,可以达到更多的监控效果。组件本身可以通过配置java包名或类名,实现对这些包和类的方法进行监控。[[BR]][[BR]] 
     85 一般来说,应用系统实现,会采取分层结构,使用Method Component有针对性的对某个层次或模块进行监控,更能有效帮助找到系统瓶颈,同时又不会因为监控范围过大带来不必要的开销。一般可以使用它,对服务层(比如 EJB,WebService),或者业务层,甚至DAO层进行监控,根据系统实际情况,选取合适的粒度进行分析监控,比泛泛的全量监控,更有助于找到系统瓶颈。[[BR]][[BR]] 
     86 和Http Component一样,Method Component也可以结合Jdbc Component 及 Memcahced Component,实现对方法内执行的sql和访问MemCached的操作进行跟踪统计。[[BR]] 
    8087{{{ 
    8188<component name="MethodComponent" type="org.jwebap.plugin.method.MethodComponent"> 
     
    8996</component> 
    9097}}} 
    91 '''JdbcComponent''' 
     98 以上是pcwebmonitor.xml中Method Component的配置代码,三个配置参数:[[BR]] 
     99 trace-filter-active-time: (ms)超过该毫秒数的执行轨迹将被记录[[BR]] 
     100 trace-max-size: 最大记录的超时轨迹数[[BR]] 
     101 detect-clazzs: 要监控的类,可以配置包名和类名, 如test.*;test.Test,但不支持通配符,多个类名之间通过;分隔[[BR]] 
     102 
     103 Jdbc Component:: Jdbc Component是Jwebap中,最常用的组件。对于一般的企业应用,数据库分析往往能够最直接找到瓶颈所在。Jdbc Component组件能够实现对连接的监控,设置时间阀值,监控连接泄漏,监控连接打开的Statement,和所有执行的sql,同时可以找出执行sql的代码行数,同时可以找出执行sql的代码行数,这点非常有用。[[BR]][[BR]] 
     104 组件对于jdbc的监控,是全范围的,可以支持多个数据源的应用,也可以支持非本地数据源(jndi 数据源)。[[BR]] 
    92105{{{ 
    93106<component name="JdbcComponent" type="org.jwebap.plugin.jdbc.JdbcComponent"> 
     
    123136</component> 
    124137}}} 
    125 '''MemCachedComponent''' 
     138 以上是pcwebmonitor.xml中Jdbc Component的配置代码,三个配置参数:[[BR]] 
     139 trace-filter-active-time: (ms)超过该毫秒数的执行轨迹将被记录[[BR]] 
     140 trace-max-size:最大记录的超时轨迹数[[BR]] 
     141 connection-listener: Connection监听器,可配置多个,以;分隔[[BR]] 
     142 driver-clazzs: 对于本地数据源的配置,driver-clazzs 参数可以配置自己应用的ConnectionManager类,也可以配置连接池的Datasource类,c3p0:com.mchange.v2.c3p0.ComboPooledDataSource;[[BR]] 
     143 dbcp:org.apache.commons.dbcp.BasicDataSource。可以配置,任何用于管理连接的类,jwebap会对 driver-clazzs 方法中返回的所有Connection和Datasource对象进行监控。[[BR]] 
     144 值得注意的是:本地数据源不建议直接配置数据库驱动作为driver-clazzs,由于连接池的缘故,配置数据库驱动作为 driver-clazzs 会造成jwebap误以为所有的连接都泄漏了。[[BR]] 
     145 对于jndi数据源,driver-clazzs 参数配置(很多Jwebap的使用者无法正确配置这点,特此注意)需要配置本地用于获取连接或者数据源的类,举例,应用采用 spring 的 JndiObjectFactory获取jndi 数据源对象,那么 driver-clazzs 就可以设为org.springframework.jndi.JndiObjectFactoryBean;再比如,应用是自己封装获取jndi数据源的方法,那么也可以配置 driver-clazzs 为那个类。Jwebap 会在启动时,对 driver-clazzs 做字节码注入,对driver-clazzs 所有返回 Connection 或者 Datasource 对象的方法进行监控以获取 sql 信息。[[BR]] 
     146 
     147 Memcached Component:: Memcached Component是PC Web Monitor 1.1版本中根据公司web项目的特点新加的一个组件,能够实现对访问MemCached动作的监控,并且把结果集成到Http Component和Method Component中清晰地展现出来。对于公司开发内部最近对web应用作出前台页面一次请求访问MemCached的次数不能超过100次的规定,可以简单方便地把结果显示出来。 
    126148{{{ 
    127149<component name="MemCachedComponent" type="org.jwebap.plugin.memcached.MemCachedComponent"> 
     
    132154</component> 
    133155}}} 
     156 以上是pcwebmonitor.xml中MemCached Component的配置代码,只有一个配置参数:[[BR]] 
     157 memcached-listener: MemCahced监听器,可配置多个,以;分隔[[BR]] 
    134158 
    135159== 界面截图 ==