Jwebap项目——性能监控工具Jwebap: 0.5.8(转)

news/2024/5/18 22:43:38 标签: 工具, profiling, jdbc, jdk, 框架, ejb

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连接等等。


http://www.niftyadmin.cn/n/1053190.html

相关文章

烂代码

反思一个项目。 进入公司3个多月之后,终于开始做一个整体项目,两个人合作,项目不难、但工作量特别大,其实最主要原因是对公司的产品不熟悉,做的是mysql的数据迁移,从公司一个产品迁移到另一个产品&#xff…

GnuPG Java Wrapper API - Sample code

转自 Following are code examples for the GnuPG Java Wrapper API class. Before you Begin: Create PGP Key Pair Before you can use the class, you will need to create a private/public key pair in GPG. If you already set up the key pair, you can skip this st…

Redis学习笔记(六)有序集合进阶

1、基础操作 ZCARD(获取成员数量) ZINCRBY key_name num member(将member的分数加num) ZCOUNT key_name min max(获取分数在min与max之间的成员数量) ZRANK/ZREVRANK key_name member(获取memb…

jsp+mysqlL+tomcat6.0数据库连接池配置

把mysql驱动包分别放到我的为:E:/tomcat/Tomcat 6.0/lib 和对应项目WEB-INF/lib文件夹下 1、修改conf/server.xml,添加如下内容&#xff08;部分参数&#xff09;&#xff1a; <Context path"/web" docBase"web" debug"0" reloadable"tr…

【Java面试题】28 简述synchronized和java.util.concurrent.locks.Lock的异同 ?

主要相同点&#xff1a;Lock能完成synchronized所实现的所有功能主要不同点&#xff1a;Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁&#xff0c;而Lock一定要求程序员手工释放&#xff0c;并且必须在finally从句中释放。转载于:https://www.…

中科院信工所六室面试经历

中科院信工所六室面试经历: https://github.com/L1B0/RecommendedPostgraduate/blob/master/%E4%B8%AD%E7%A7%91%E9%99%A2%E4%BF%A1%E5%B7%A5%E6%89%80%E5%85%AD%E5%AE%A4%E9%9D%A2%E8%AF%95%E7%BB%8F%E5%8E%86.md 转载于:https://www.cnblogs.com/L1B0/p/11211834.html

关于使用vue时的个人规范

js文件&#xff1a; 公共功能文件&#xff1a;common_功能名.js 例&#xff1a;common_ajax.js 页面级功能文件&#xff08;在不同页面复用&#xff09;&#xff1a;page_功能名.js 放置在html文件中加载的js文件命名&#xff1a;app_html文件名称.js 该页特有的js功能文件&…

sklearn标准化-【老鱼学sklearn】

在前面的一篇博文中关于计算房价中我们也大致提到了标准化的概念&#xff0c;也就是比如对于影响房价的参数中有面积和户型&#xff0c;面积的取值范围可以很广&#xff0c;它可以从0-500平米&#xff0c;而户型一般也就1-5。 标准化就是要把这两种参数的取值范围处于一个相对接…