虽然本篇的重点不在整体的介绍,但是还是先简单的介绍下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视图,同时也可以采用自己的视图技术,这点,并不强作要求,具体的介绍在下面一篇说明,呵呵,写得太长了。
分享到:
- 2007-12-26 18:26
- 浏览 3097
- 评论(0)
- 论坛回复 / 浏览 (0 / 2275)
- 查看更多
相关推荐
11. ** strut2-struts1-plugin**:如果项目中还包含Struts1的遗留代码,可以通过Struts2提供的Struts1插件无缝集成两个框架。 12. ** strut2-dojo-plugin**:Struts2还提供了Dojo插件,便于与Dojo JavaScript库集成...
在API层提供一套默认的视图框架供plugin开发者使用,可以只用Jar包就开发出相当漂亮的 Web界面。 3)Jwebap的开发分为两个部分Jwebap-core部分,Jwebap-plugin部分。core部分基于jdk14 提供了类静态增强,轨迹生命...
core部分基于jdk14提供了类静态增强,轨迹生命管理,Plugin管理,视图框架等等,在这个基础上开发plugin。我觉得,好的profiling应该能够根据不同的人群按需使用,同时在功能不断复杂和强大的过程中仍然能够保证较轻...
Struts2.1引入了Convention Plugin,以实现框架的零配置目标,替代之前的Codebehind Plugin。这个插件通过约定优于配置的原则简化了Struts2的应用开发,减少了XML配置文件的需求。以下是对Convention Plugin主要特性...
6. **扩展性**:Tangram Plugin Framework的开放架构使得开发者可以方便地扩展框架功能,以适应特定项目的需求。 在实际开发过程中,通过Tangram Plugin Framework,开发者可以创建高度定制化的应用程序,同时保持...
本文将详细介绍这两个版本的Hadoop Eclipse Plugin——1.2.1和2.8.0。 首先,Hadoop-Eclipse-Plugin 1.2.1是针对较早期的Hadoop版本设计的。这个版本的插件支持Hadoop 1.x系列,适配的是Hadoop MapReduce的旧版API...
5. **修复Visual Studio安装**:如果MayaPluginWizard未显示在Visual Studio的“新建项目”对话框中,可能是因为VS安装出现问题。尝试修复或重新安装VS2010,确保选择了"Visual C++"工作负载,因为插件开发通常涉及...
本项目是基于Java的smart-doc-maven-plugin官方maven插件设计源码,包含43个文件,其中包括27个Java源文件、7个Markdown文档、2个JSON文件、1个gitignore文件、1个LICENSE文件、1个NOTICE文件、1个PNG图片文件、1个...
《DroidPlugin插件化框架源码解析》 DroidPlugin,由360公司研发,是一款针对Android系统的强大插件框架。它以其创新性的插件机制,使得应用程序无需安装或修改即可运行APK文件,这在提升大型APP的可维护性、扩展性...
该项目为基于Cocos Creator 3.x开发的oops-plugin-framework插件式游戏框架设计源码,包含533个文件,其中包括207个元数据文件、184个TypeScript源代码文件、124个HTML文件、6个JavaScript文件、4个JSON文件、2个...
这个插件是针对Hadoop 2.6.0版本设计的,主要目标是集成Eclipse IDE,使得开发者可以在本地环境中便捷地创建、调试和管理Hadoop MapReduce项目。 一、插件功能详解 1. **项目创建与导入**:通过Hadoop Eclipse插件...
DroidPlugin框架是一款针对Android平台设计的插件化框架,旨在实现应用的模块化和动态加载功能。在Android开发中,插件化技术允许开发者将应用程序拆分成多个独立的模块,这些模块可以在运行时动态加载,提高代码...
MyBatis_Plugin是一款专为IntelliJ IDEA(简称IDEA)设计的插件,尤其适用于那些使用MyBatis框架进行开发的程序员。这个插件在2018.1版本中得到了很好的支持,意味着它与IDEA的这一特定版本兼容,可以为开发人员提供...
在本文中,我们将深入探讨这两个插件的用途以及它们在实际项目中的交互问题,特别是当它们同时使用时可能出现的问题——site plugin无法删除target目录下的OSGI-INF/serviceComposite目录。 首先,让我们了解maven-...
本文将重点探讨NotePad++的一款重要插件——AnalysePlugin,帮助用户更高效地分析和处理复杂日志。 AnalysePlugin是一款专门针对NotePad++设计的插件,旨在提高开发者对大型复杂日志文件的分析能力。在处理大量系统...
本文将深入探讨两个在开源世界中备受推崇的构建工具插件——Gradle CSS Plugin 1.8.3和Hogan Compile Maven Plugin,了解它们的功能特性以及如何在项目中应用。 首先,我们关注的是Gradle CSS Plugin 1.8.3。Gradle...
1. **打印与打印设计**:hiprint允许用户自定义打印内容,不仅仅局限于简单的页面输出,而是可以设计复杂的布局和格式。这对于企业内部的报告、发票、证书等文档的生成非常有帮助,用户可以根据自己的需求定制打印...
Tangram Plugin Framework是一款专为Delphi设计的插件框架,它能够帮助开发者轻松地构建可扩展的应用程序。本文将详细介绍如何在Delphi XE2环境中安装并配置Tangram Plugin Framework。 #### 二、安装与配置步骤 #...
在实际应用中,TMS Plugin Framework 6.0.5 支持 Delphi 的多个版本,包括 XE 至 10.4 Sydney,这使得开发者可以充分利用此框架在各种项目中实现插件化。同时,由于框架的跨平台特性,开发的插件可以应用于Windows、...