该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-27
引用 背景
最初,在06年底由于要帮助几个大型项目进行性能上的优化,有了开发一个专用于profiling组件的想法,于是有了Jwebap,慢慢的到了07年6月份开始有了最初的方案,在11月终于在sourceforge上发布了第一个版本。 Jwebap能带来什么? Jwebap是一个用于J2EE工程(EJB以及WebModule系统)进行性能监控的组件,它有几个特点: 1)基于ASM实现类的静态增强,可以无缝的部署于J2EE系统,对系统的开销几乎可以忽略 2)部署和使用非常的简单,整个Jwebap的部署只需要部署jwebap_core_**.jar以及需要使用的各种plugin_**.jar,然后配置jwebap.xml和web.xml就可以完成所有的部署,比起绝大多数的profiling容易的多。 同时Jwebap提供Web Console进行整个Jwebap的管理和数据展现。在API层提供一套默认的视图框架供plugin开发者使用,可以只用Jar包就开发出相当漂亮的Web界面。 3)Jwebap的开发分为两个部分Jwebap-core部分,Jwebap-plugin部分。core部分基于jdk14提供了类静态增强,轨迹生命管理,Plugin管理,视图框架等等,在这个基础上开发plugin。我觉得,好的profiling应该能够根据不同的人群按需使用,同时在功能不断复杂和强大的过程中仍然能够保证较轻的架子。 目前,0.5.8提供了基于jdk14的三个plugin:method监控,jdbc监控,http监控。这些可以算是基于plugin架构开发的示例。以后会开发更多的plugin,比如memory_monitor_plugin。甚至可以基于一些专属平台开发功能更强的插件。当然,Jwebap也可以不仅仅停留在profiling,日后,可以基于测试人员和质量保证,开发人员等方面开发适用的plugin,做到按需分配。 Jwebap的部署 Jwebap的部署相当简单,0.5.8版本提供了一个把plugin和core打在一起的包:jwebap_0.5.8_all.jar。然后对于jwebap.xml和web.xml的配置可以参看doc目录下的User-Guide。目前,0.5.8版本能够做到的功能有: Jdbc监控:可以监控J2EE系统的所有Jdbc调用,包括Jndi数据源,可以过滤SQL时间,由哪些程序调用,哪些连接泄露。 Method监控:可以通过配置Method Plugin的'detect-class'参数,配置多个想要监控的包或类,Jwebap Console就可以跟踪这些类的方法执行,进行时间过滤,可以统计开销,和方法的调用堆栈,方法打开了多少Jdbc连接等等。 Http监控:可以监控http请求,进行时间过滤,可以进行请求的开销统计,请求打开了多少Jdbc连接等等。 贴几张示例图,有兴趣的朋友可以下载试用(jwebap.sourceforge.net),欢迎在这里进行交流: 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-02-28
大家都对性能分析,不感兴趣吗?没人回帖呀
|
|
返回顶楼 | |
发表时间:2008-02-28
如何部署,有没有小的例子???
|
|
返回顶楼 | |
发表时间:2008-02-28
高度关注,感觉上相当不错啊。
|
|
返回顶楼 | |
发表时间:2008-02-28
wellfuls 写道 如何部署,有没有小的例子???
Jwebap的配置相当简单,只需要把Jar包丢到类路径下,然后配置Jwebap.xml和web.xml。在UserGuide文档中有说明如何配置这两个文件。 另外,在bin目录下,也有对这两个配置文件配置的例子文件,每项配置都有详细说明 |
|
返回顶楼 | |
发表时间:2008-02-29
正在使用, 非常棒,呵呵, 很喜欢,只是使用中有个问题,我是 ssh 的架构,但是却无法监视到jdbc的动作, 不知道该如何配置
|
|
返回顶楼 | |
发表时间:2008-02-29
http://sourceforge.net/project/showfiles.php?group_id=210919
下载地址 |
|
返回顶楼 | |
发表时间:2008-02-29
在下载的解压包下的jwebap_0.5.8_all_2\doc\web site\index.html文件是一个部署的说明,大家可以参考的部署一下
jwebap_0.5.8_all_2\doc\document目录下有有一个中文说明文档 jwebap_0.5.8_all_2\doc\screenshots目录下有些截图 jwebap_0.5.8_all_2\bin目下为jwebap_0.5.8.jar包和配置文件实例 jwebap_0.5.8_all_2\lib为一些支持的jar包 其他目录的为一些源代码 |
|
返回顶楼 | |
发表时间:2008-02-29
根据文档配置 无法监视jdbc动作
|
|
返回顶楼 | |
发表时间:2008-02-29
laukin 写道 正在使用, 非常棒,呵呵, 很喜欢,只是使用中有个问题,我是 ssh 的架构,但是却无法监视到jdbc的动作, 不知道该如何配置
不管什么架构,都可以监控jdbc的,分为下面两种情况: 引用 本地数据源:
直接在jwebap.xml的driver-class参数里面配置数据库的驱动类,即可。比如oracle.jdbc.OracleDriver jndi数据源: 可以配置你项目里面用于获取连接的类作为driver-class参数值。如果是ssh架构,可以配置对应的Datasource类作为参数值。 其原理就是会对你配置的driver-class的所有返回Connection的方法进行字节码注入,这样这些类返回的连接就被代理了。 如果项目中有多数据源driver-class可以配置多个,;号隔开 |
|
返回顶楼 | |