阅读更多

22顶
0踩

编程语言
项目名称: Jwebap
发起时间: 2007年11月
网站:http://jwebap.sourceforge.net
代码托管:http://www.sourceforge.net/projects/jwebap

项目介绍:
Jwebap是一个面向J2EE应用,基于jdk1.4以上环境的profiling工具。你可以应用它对系统内部method,jdbc & http 的执行情况进行监控和统计,然后通过jwebap提供的Web控制台查看它们。Jwebap不仅可以应用于测试和开发系统,同样由于它部署非常简单,同时高效,几乎没有额外的开销,使得它可以应用于生产系统,这对寻找系统瓶颈非常有帮助。


产品信息:
运行平台: 操作系统无关(OS Independent)
开发语言: Java
开源协议: Apache License V2.0

项目成员:
俞立德 软件工程师 广州


是什么促使你们发起/开始这个项目?
最初,在06年底由于要帮助几个大型项目进行性能上的优化。在此之前,公司已经投入的很多精力,却始终没有很好的解决系统的瓶颈问题。而阻扰我们的关键的问题,是在于无法很精确的定位到瓶颈所在,所以后面也试用了一些profiling工具,试图找到这些问题,但总是感觉不是很能满足要求,当时我试图自己实现监控系统的功能,在接下来的2个月试了很多办法,最终取得了不错的效果,虽然,那时做的东西还不能说是一个profiling 工具,他还太零散,太具侵入性,没有形成完整的设计,但是这些经验成了后面Jwebap的基础。

后面,我看到了许多项目中都有类似问题,迫切需要一个能真正解决问题的工具。所以,我决定把这些零散的经验汇总起来,尝试着开发一个通用的,无侵入的profiling工具,于是有了Jwebap,在07年11月,Jwebap终于有了第一个版本。


该项目面向哪些使用群体?
对于采用Java技术的项目来说,Jwebap都可以使用,它本身没有太多对环境的要求,也没有太多使用协议上的限制。另外,由于Jwebap的plugin体系的设计以及后面更多的plugin的发布,jwebap可以不仅仅用于解决系统性能问题,也同样可以提供给测试人员,开发人员,作为测试和debug的工具。

举个例子说明下用户使用您的软件能做什么?
目前,主要是针对性能监控方面。你可以简单的部署jwebap于你的系统,而只需修改2个配置文件。它可以对系统的jdbc连接,方法调用,http请求等数据进行监控,比如:你可以分析哪些sql执行的太慢,是哪段程序调用了它,哪些连接泄漏了,哪些类的方法执行过慢,哪些请求存在问题,等等,Jwebap提供了漂亮的视图界面把这些数据展现给你。

您在该项目中遇到的最大挑战是什么?
如何合理的安排开发计划和时间,毕竟工作已经占据了我大部分的时间。

您在该项目中认为获得成功的要素有哪些?
部署和使用非常的简单,同时环境无关,得益于Plugin体系的设计,jwebap能做到按需使用。

如果您能对项目进行修改,您会改善哪些地方?
Plugin的管理,字节码的生成,动态类加载机制,我想还有不少的改进空间,还有就是需要开发更强的Plugin。

你们把所有精力都投入在这个软件上,还是有其他的什么工作?
Jwebap主要是在业余时间进行开发,其他时间则放在了工作上。

那你们一般花多长时间在这个项目上?
不是特别多,工作不忙的时候,每周10小时或者更多。

你们用的开发环境是什么
OS: Windows
IDE: Eclipse

项目里程碑
0.5.2:jwebap对外发布的第一个版本
0.5.9:进行了整体改造,提供了基本的plugin管理,开发了jdbc,method,http三个plugin,提供了全新的视图界面等等。

其他人如何给你们提供建议?
主要通过邮件(yu-lead at 163 dot com)

对JavaEye的印象
JE是一个很好的交流和宣传的平台,这是很多其他类似网站都没有的,我很喜欢这里,同时,我也希望JE能够为开源项目,特别是国内的开源项目,提供更多的包括技术手段,交流,宣传和推广的支持。
22
0
评论 共 25 条 请登录后发表评论
5 楼 hetylei 2008-09-11 17:32
发现问题:http监控中文支持不好,提交的中文参数变成了乱码
4 楼 hetylei 2008-09-11 16:57
试用了一下 不错

方法监控好像不能监控到子包

数据库监控JNDI那块没搞明白
3 楼 fabulous 2008-09-11 16:16
支持国内开源 加油!!!
2 楼 ssuupv 2008-09-11 13:27
我想加入这个团队
1 楼 mhhtj 2008-09-11 12:16
很不错的一个东西,已经试用了。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 跨平台的socket库,windows-linux-socket

    跨平台的socket库,windows-linux-socket

  • unix/linux socket设置非阻塞

    UNIIX/linux下SOCKET主要是同步的,但有阻塞和非阻塞两种方式。 阻塞方式定义与前面定义相同,要解决阻塞有两种方法: 一种是设置SOCKET属性,设置为非阻塞(fcntl()函数), sockfd = socket(AF_INET, SOCK_STREAM, 0);  fcntl(sockfd, F_SETFL, O_NONBLOCK);    通过设置套接字为非阻塞,你能够

  • Unix/Linux编程:socket阻塞式读写再理解

    建立连接的根本目的是为了数据的收发。拿我们常用的网络场景举例子,我们在浏览商品或者购买货品的时候,并不会感觉到网络连接的存在,但是我们可以真切感觉到数据在客户端和服务端有效的传送,比如浏览商品信息的不断刷新,购买货品时显式购买成功的消息等。 首先我们来看一下发送数据 发送数据 发送数据时常用的有三个函数,分布是write、send、sendmsg ssize_t write (int socketfd, const void *buffer, size_t size) ssize_t send (int s

  • UNIX 原始Socket 的缺陷

     原始套接口有很多缺陷:易错、过度复杂、不可移植……看下面的例子: 0 // This example contains bugs! Do not copy this example! 1 #include 2 #include 3 4 const int PORT_NUM = 10000; 5 6 int echo server() 7 { 8  

  • 3.3 Windows Sockets 与 UNIX 套接口编程实例

    3.3 Windows Sockets 与 UNIX 套接口编程实例 下面是一个简单的基于连接的点对点实时通信程序.它由两部分组成,服务器在主机UNIX下 直接运行, 客户机在Windows下运行. 介绍 3.3.1 SERVER 由于SERVER是在UNIX下运行的,它对套接口的使用都是BSD的标准函数,程序也比较简 单, 只有一段程序,下面简要解释一下. 首先,建立自己的套接口

  • Unix和Windows跨系统通讯编程

    本文介绍了套接字(Socket)的基本概念及编程技术,并结合实例说明在Unix和Windows下如何用套接字实现客户/服务器方式的通讯编程。摘 要 本文介绍了套接字(Socket)的基本概念及编程技术,并结合实例说明在Unix和Windows下如何用套接字实现客户/服务器方式的通讯编程。关键词 Berkeley Sockets Windows Sockets 通讯编程 一、 前言  随着Inter

  • 跨进程通信: Unix Domain Socket 创建实例。 Windows和MacOS代码已适配兼容

    具体使用到的Socket方法介绍可以查看本文中的server和client的代码可以直接 复制粘贴到 Windows 或 MacOS 的命令行程序中直接运行。由于 Windows 平台下的创建文章比较少,所以创建了这个demo。可直接在跨平台程序中使用。

  • Windows socket基础

    Windows socket 基础        Windows socket是一套在Windows操作系统下的网络编程接口。它不是一种网络协议,而是一个开放的、支持多个协议的Windows下的网络编程接口 。      Windows socket是以Unix socket为基础,因此Windows socket中的许多函数名与Unix都是一样的。除此之外它还允许开发人员充分利用Wind

  • Windows网络编程中Socket与WSASocket区别

    这2个函数的主要功能都是创建一个SOCKET,函数定义分别如下: SOCKET WSAAPI socket( _In_ int af, _In_ int type, _In_ int protocol ); SOCKET WSASocket( _In_ int af, _In_ int type, _In_ int protocol, _In_ LPWSAPROTOCOL_INFO lpP

  • socket实现进程间通信

    使用socket实现进程间通信:(UNIX domain中面向连接通信)    使用套接字除了可以实现网络间不同主机间的通信外,还可以实现同一主机的不同进程间的通信,且建立的通信是双向的通信。man unix内容如下:NAME( 名称)    unix, PF_UNIX, AF_UNIX, PF_LOCAL, AF_LOCAL ? 用于本地内部进程通讯的套接 字。SYNOPSIS( 总览 )    #include     #include     unix_socket = socket(PF_UNIX,

  • UNIX Domain Socket使用

    Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流,又可以使用数据队列,而管道通信则只能使用字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。

  • 将Socket应用程序从Unix向Windows移植中应注意的几点问题

    将Socket应用程序从Unix向Windows移植中应注意的几点问题 套接字(socket)当今已成为最流行的网络通信应用程序接口。套接字最初是由加利福尼亚大学Berkeley分校为Unix操作系统开发的网络通信接口,后来它又被移植到DOS与Windows系统,特别是近几年来互联网络在全世界范围内被广泛普及并且增长迅猛,进一步奠定了它在网络通信程序开发领域的主宰地位。跨系统网络互联的呼声在我国也

  • 本地socket unix domain socket

    socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIXDomain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进

  • python linux脚本转windows_将Linux上的Python脚本交叉编译为Windows可执行文件

    I have a Python script that I'd like to compile into a Windows executable. Now, py2exe works fine from Windows, but I'd like to be able to run this from Linux. I do have Windows on my development mach...

Global site tag (gtag.js) - Google Analytics