精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-03
最后修改:2009-03-03
下载:www.sourceforge.net/projects/jwebap 引用
jwebap0.6.0版本发布。从0.6版本开始,对jwebap核心进行了大量重构,基本实现了插件化管理,同时提供了Plugin部署和配置界
面,实现jwebap的配置完全界面化,先来看看新的plugin界面:
引用
jwebap的plugin管理,目前自己实现,主要涵盖几个方面:
1) plugin采用jar包形式管理,通过标准的plugin定义文件,集成于jwebap plugin包含多个component,由component构建plugin的实际功能,plugin内部component之间内聚,实际运行时,以component为单位进行管理,plugin更像是一个集成包,这样对于plugin的划分粒度较粗,使用起来更为便利和傻瓜化 2) plugin的component在jwebap启动时加载,对于群集应用,jwebap一个应用一个实例,暂未实现群集轨迹容器。 3) component的类加载考虑到目前plugin并不会太多,暂未实现独立的命名空间和类加载管理 4) plugin扩展,实现了基本的视图扩展,目前还只支持菜单级视图扩展点,jwebap提供了包括bytecode,plugin视图框架,轨迹,轨迹容器等基础构件供plugin使用 5) 对于plugin的部署和参数配置,提供后台界面完成 就这么多了,欢迎各位多提意见,后续plugin这块是一定要加强的,现有的模型如下:
引用
说说,jwebap默认的plugin——tracer。基于前期实现的功能,实现tracer插件。包括jdbc调用分析,sql分析,sql调用程序栈跟踪,http分析,应用api调用分析,跟踪方法调用,调用栈,找出瓶颈的开销api。各种分析都可以设置时间阀值,提供清单的分析,和全量的平均时间,最大最小调用时间统计等。值得一提的是,本次新提供了sql分析语法加亮功能,同时修复了前期方法监听内部开启jdbc连接数显示不出的bug。具体插件的使用可以参考手册。
引用
1) 实现jwebap.xml对plugin的配置 2) 修改connection-listner的bug 3) 存储过程监控不到 4) weblogic以war包方式部署会找不到jwebap.xml 5) weblogic下刷新控制台,会打印错误日志BUG 6) 整理出'tracer'插件 7) 增加jdbcComponent的SQL语法加亮显示功能 8) 修改SQL展现html转义BUG 9) jwebap-core核心包结构调整
引用
1)实现内存分析插件
2)实现插件管理视图扩展点配置
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-03
|
|
返回顶楼 | |
发表时间:2009-03-03
刚用上, 想问一下能否配置输出日志的记录..
|
|
返回顶楼 | |
发表时间:2009-03-03
hilor 写道 刚用上, 想问一下能否配置输出日志的记录..
可以,点击Deploy——》plugins——》Tracer——具体component trace-max-size参数,默认1000 |
|
返回顶楼 | |
发表时间:2009-03-04
seekgirl 写道 帮看什么问题?
2009-03-04 09:31:48,640 WARN org.jwebap.startup.JwebapListener.contextInitialized(43) org.jwebap.core.Component.startup(Lorg/jwebap/core/ComponentContext;)V java.lang.NoSuchMethodError: org.jwebap.core.Component.startup(Lorg/jwebap/core/ComponentContext;)V at org.jwebap.core.RuntimeContext.registerComponent(RuntimeContext.java:73) at org.jwebap.startup.Startup.startup(Startup.java:86) at org.jwebap.startup.Startup.startup(Startup.java:54) at org.jwebap.startup.JwebapListener.contextInitialized(JwebapListener.java:36) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 这可能跟你tracer-plugin的部署有关,tracer.jar是否和jwebap**.jar放一起了? |
|
返回顶楼 | |
发表时间:2009-03-04
sorry, 发现了问题,我工程下旧版本jwebap jar没有删除
|
|
返回顶楼 | |
发表时间:2009-03-05
Jwebap JdbcComponent配置注意:
JdbcComponent 对于本地数据源,在配置driver-clazz时不推荐直接配置数据库驱动作为driver-clazz,这和原先配置文档的说明不同,请大家注意! 由于一般应用都采用连接池技术作为数据源,而直接配置数据库驱动作为driver-clazz,会受到连接池影响,监控发现所有的连接都是未关闭的,造成jwebap泄漏检测,时间统计的结果都无效了。所以,这种情况,建议直接配置,连接池的Datasource作为driver-clazz: 1)c3p0:可以配置com.mchange.v2.c3p0.ComboPooledDataSource 2)dbcp:可以配置org.apache.commons.dbcp.BasicDataSource 同时,也可以配置应用自己封装的ConnectionManager之类的类。jwebap对于driver-clazz所返回的Connection和Datasource会做监控。 |
|
返回顶楼 | |
发表时间:2009-04-08
我出现这个错误不知道是为什么? 请楼主帮忙
org.jwebap.toolkit.bytecode.InjectException: test.Test注入失败. at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.injectInternal(ASMInjectorStrategy.java:145) at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.inject(ASMInjectorStrategy.java:117) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:107) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:95) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:82) at org.jwebap.plugin.tracer.method.MethodComponent.injectClass(MethodComponent.java:92) at org.jwebap.plugin.tracer.method.MethodComponent.startup(MethodComponent.java:55) at org.jwebap.core.RuntimeContext.registerComponent(RuntimeContext.java:73) at org.jwebap.startup.Startup.startup(Startup.java:86) at org.jwebap.startup.Startup.startup(Startup.java:54) at org.jwebap.startup.JwebapListener.contextInitialized(JwebapListener.java:36) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.ClassNotFoundException: test.Test not found. at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.defineClass(ASMInjectorStrategy.java:213) at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.injectInternal(ASMInjectorStrategy.java:142) ... 34 more |
|
返回顶楼 | |
发表时间:2009-04-08
fanwenqiang666 写道 我出现这个错误不知道是为什么? 请楼主帮忙
org.jwebap.toolkit.bytecode.InjectException: test.Test注入失败. at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.injectInternal(ASMInjectorStrategy.java:145) at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.inject(ASMInjectorStrategy.java:117) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:107) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:95) at org.jwebap.toolkit.bytecode.ClassEnhancer.createClass(ClassEnhancer.java:82) at org.jwebap.plugin.tracer.method.MethodComponent.injectClass(MethodComponent.java:92) at org.jwebap.plugin.tracer.method.MethodComponent.startup(MethodComponent.java:55) at org.jwebap.core.RuntimeContext.registerComponent(RuntimeContext.java:73) at org.jwebap.startup.Startup.startup(Startup.java:86) at org.jwebap.startup.Startup.startup(Startup.java:54) at org.jwebap.startup.JwebapListener.contextInitialized(JwebapListener.java:36) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.ClassNotFoundException: test.Test not found. at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.defineClass(ASMInjectorStrategy.java:213) at org.jwebap.toolkit.bytecode.asm.ASMInjectorStrategy.injectInternal(ASMInjectorStrategy.java:142) ... 34 more 这个错误是由于MethodComponent配了监控test.Test类,而这个类找不到造成的,你只需你在jwebap console,修改MethodComponent的参数,把监控的类配成你自己的类或包即可。 |
|
返回顶楼 | |
发表时间:2009-04-29
有QQ讨论群吗
|
|
返回顶楼 | |