`
leadyu
  • 浏览: 51579 次
  • 性别: Icon_minigender_1
  • 来自: 广州,福州
文章分类
社区版块
存档分类
最新评论

Jwebap项目(三)——plugin视图框架设计(1)

阅读更多
虽然本篇的重点不在整体的介绍,但是还是先简单的介绍下jwebap的架构。

一,jwebap架构

jwebap是一个针对于j2ee应用的profiler tools,它可以对Web application以及EJB application进行监控,
从而有效的帮助您找到系统的性能瓶颈。目前,它提供了方法调用轨迹,SQL抓取,http请求等方面的监控功能。
相比其他profiler,它具有一些自己的优势:

引用
1)纯java,不依赖于平台
很多采用jvmpi的profiler,本身会对应用带来极大的性能负担,甚至应用会因此慢上10-20倍。相比来说纯Java
实现的profiler在性能消耗上非常低。另一方面,纯Java实现的profiler在部署上会简单很多。

2)运行轨迹容器
jwebap采用运行轨迹的集中管理分发方式进行运行时的监控,各个监控分析组件通过核心框架提供的bytecode静态增强,
采集应用中有用的运行信息(堆栈,执行时间,内存,SQL等等)包装成轨迹,丢给轨迹容器,由容器管理轨迹的生命周期,
再由容器分发轨迹到各个监控分析组件,进行分析,再以视图方式显示出分析报表。

这种管理方式,在profiler自身性能提高,以及分析组件扩展,视图分发,群集等方面都会有很明显的优点。

3)高效率
jwebap对于应用带来的开销非常之少,而且部署方便,使之能够被运用在生产系统环境,这对性能分析有极大的帮助。
试想,只能在测试环境和开发环境跑跑的profiler,能够发现什么问题呢?

4)部署非常简单
jwebap核心只有一个jar,以及需要用到的监控分析plugin的jar包,另外还有一个xml配置文件,可以不用做任何的环境设置,
就可以把jwebap部署于ejb,web应用当中,对系统完全没有侵入。

5)plugin架构
应该来说,这点是jwebap最大的优势。jwebap分为core和plugin两部分,core部分提供了轨迹容器,框架,视图框架,配置,部署
bytecode静态增强等诸多特性。而所有最终的分析功能,都是plugin。在运行时加入框架,提供分析功能,目前实现了方法调用轨迹,
SQL抓取,http请求三个plugin,但是很明显,jwebap能够做到的远不止如此。

得益于Plugin架构,jwebap完全可以根据用户环境开发针对性的功能更强的plugin,比如memory_monitor_for_jdk15_plugin.jar,
而jwebap-core依然保持在jdk14。这样用户就可以根据需要选择合适的plugin。这样,jwebap不仅仅可以作为profiler,甚至可以开发
一些用于debug,测试等等方面的plugin。

6)web console
这也是本篇要重点介绍的东西,呵呵,废话了那么多。jwebap,为了部署方便没有采用客户端实现视图,而是依赖于当前中间件,提供
web控制台,在控制台可以看到各plugin的统计视图,以及部署信息。

同时为了部署方便,并没有采用jsp实现视图,而是通过模版引擎技术,把视图放到了jar包,因此jwebap设计一套默认的plugin视图框架
plugin的实现者可以通过该框架开发自己的Plugin视图,同时也可以采用自己的视图技术,这点,并不强作要求,具体的介绍在下面一篇说明,呵呵,写得太长了。





分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics