一直想写一篇关于Jwebap(jwebap.sourceforge.net)项目的介绍文章,鉴于0.5.8版本的发布,我整理了下发表出来,希望大家感兴趣。
引用
背景
最初,在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),欢迎在这里进行交流:
- 描述: Jdbc Traces 1
- 大小: 148.2 KB
- 描述: Jdbc Traces 2
- 大小: 118.4 KB
- 描述: Method Traces
- 大小: 98.6 KB
分享到:
相关推荐
GPU-Z.0.5.8显卡详细显示工具自己试试
soljson-v0.5.8 commit.23d335f2.js soljson-v0.5.8 commit.23d335f2.js
最新版div+css可视化开发工具,boks-v0.5.8,适用于blueprint css框架的开发,拖拉拽即可导出漂亮的网页架构。
OpenCore是类似于Clover的UEFI的引导器,OpenCore提供了详细的日志系统,帮助黑苹果排错;其次OpenCore以更先进的方法注入第三方Kext,不破坏系统的SIP;再次,OpenCore支持读取NVRAM等一系列特性,可以让黑苹果变得...
版本幽灵: 0.5.8 NodeJS: 0.12.0 Ubuntu: 14.04.01用法克隆存储库 git clone git@github.com:zaiste/docker-ghost.git构建图像 cd docker-ghost sudo docker build -t <your>/ghost:0.5.8 .更新幽灵替换以下行中...
python库。 资源全名:tushare-0.5.8.zip
compile('com.lsjwzh:materialloadingprogressbar:0.5.8-RELEASE') xml: options: java api: show arrow 'CircleProgressBar' will not show arrow by default. You can enable arrow drawing like this: ...
资源分类:Python库 所属语言:Python 资源全名:pycryptopp-0.5.8.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
GPU-Z是提供给我们的一款GPU识别工具,绿色免安装,界面直观,运行后即可显示GPU核心,以及运行频率、带宽等,如同CPU-Z一样,这也是款必备工具
资源分类:Python库 所属语言:Python 资源全名:sovereign-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
殖民地网络 定义的运行殖民地网络的合同 错误赏金计划 ... $ docker pull ethereum/solc:0.5.8 安装 在您选择的工作目录中,克隆最新版本的ColonyNetwork存储库: $ git clone https://github.com/JoinColo
资源分类:Python库 所属语言:Python 资源全名:tribology-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:reprobench-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:pyunicore-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:OLCTools-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
python库。资源全名:dandan-0.5.8.tar.gz
python库。资源全名:BentoML-0.5.8.tar.gz
资源分类:Python库 所属语言:Python 资源全名:JPSLUtils-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:braga-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:anndata-0.5.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059