`
lzj0470
  • 浏览: 1270764 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java开源运行分析工具

    博客分类:
  • java
 
阅读更多
FProfiler
FProfiler是一个非常快的Java profiler.它利用BCEL和log4j来记录每个方法从开始到结尾的日记.FProfiler可以用来在你的应用程序,Servlet,Applet...中找出hotspots.

JRat
JRat是一个Java Runtime分析工具包.它的目的是让开发者更好的明白Java程序动行时的状态.JRat包括但并不只局限于性能剖析.

EJP
EJP(Extensible Java Profiler ) 开源的Java剖析工具,它使用一个可升级的,可扩展的体系结构.一个Java剖析工具是用来优化Java程序性能的开发工具,它帮助你找出并移除运行开销大的部分.EJP基于JVMPI(Java Virtual Machine Profiler Interface )可用来监控Java应用程序一小部分的执行情况并把它用一些突出的元素在分层的树上表示出来.

JMemProf
JMemProf基于Web的内存剖析工具.JMemProf允许你撷取应用程序在运行时内存剖析信息.

P6Spy
P6Spy用来记录JDBC调用的日记信息.

SQL Profiler
SQL Profiler是一个快速剖析工具用来统计SQL查询以便了解在哪里创建索引才能提高效率.

IronEye SQL
IronEye SQL这个轻量级的Java工具提供所有流动在数据库与应用程序之间的SQL统计信息并用多张图表展现.IronEye SQL可以快速优化程序的性能.

JMP
JMP是一个针对Java的剖析器.它被用来追踪对象的使用和计算method的运行时间.它利用JVMPI接口来收集统计信息并与JVM相结合.JMP使用一个GTK+接口来显示运行的状态.

*J
*J一个Java程序动态分析工具。这个工具包是为两个主要的目的服务的,
1.帮助收集Java程序动态执行数据
2.提供一个框架来快速简便地分析这些收集到的数据。

JAMon
JAMon(Java应用程序监视器)是一个免费的,简单,高性能,线程安全的Java API.它让开发者可以方便地监控软件。JAMon用来测定程序的性能瓶颈,程序与用户的互动性和程序的可量测性。JAMon收集概要的统计数据比如执行时间(总的,平均的,最大的,最小的等),并发程序请求等。JAMon把这些统计数据以报表的形式展示出来。

NetBeans Profiler
NetBeans剖析器项目把JFluid(源自Sun实现室)剖析技术结合到NetBeans IDE中.随着Java程序的大小与复杂性的增长,并要保持程序性能的需求变得越来越因难,因此进行软件的剖析必将成为开发周期中自然的一部分。

JTreeProfiler
一个基于JVMPI的Java剖析器。它在一个XML文件中收集所有方法被调用的记录并把它们展示TreeMap中。

JUnitPerf
JUnitPerf是JUnit测试集的一个扩展工具。它包含在JUnit测试中用来完成性能测量与程序功能的可量测性。

Cougaar Memory Profiler
这个工具是用来调试在任何Java应用程序中的内存泄露和耗损.

Atlassian Profiling
一个可在运行期剖析应程序的简单框架.它主要是运用在J2EE Web应用程序.

InfraRED
InfraRED是一个用AspectJ开发的监测J2EE应用程序性能和诊断性能问题的工具。

JBossProfiler
JBossProfiler是一个利用JVMPI系统基于log的剖析器。它使用一个C开发的代理从JVM捕获事件并把它们记录到磁盘中。一个运行在JBoss或其它机器上的Web应用程序可被用来分析这些日记。

JIP
JIP是一个代码剖析工具非常类似于JDK附带的hprof工具。它的特点包括:
1.交互性,允许你在JVM运行过程中随时启动或结束剖析器而hprof是在程序启动时就开启JVM退出时结束。
2.没有本地代码,大部分剖析器都有一些本地组件(native component)因为这些剖析器使用了需要利用本地组件的JVMPI (Java Virtual Machine Profiling Interface),而JIP是纯Java的,它利用了Java5™的一些特性。JIP对需要剖析的每一个类的每一个方法添加aspect拦截,这些aspect能够捕获执行数据。
3.非常低的开销,在很多情况下hprof将会造成一个程序运行变慢20倍,而JIP是轻量级的几乎没有任何开销。
4.JIP能够通过package/class名设置过滤器

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应该能够根据不同的人群按需使用,同时在功能不断复杂和强大的过程中仍然能够保证较轻的架子。

VisualVM
VisualVM是一个集成多个JDK命令行工具的可视化工具。可以作为Java应用程序性能分析和运行监控的工具。开发人员可以利用它来监控,分析,获胜Thread-Dumps,浏览Heap dumps。系统管理员可以利用它来监测,控制Java应用程序横跨整个网络的情况。Java应用程序使用人员可以利用它来创建包含所有必要信息的Bug报告。

Perf4J
Perf4J是一个用于记录、监测和分析Java应用程序性能的开源工具。如同log4j类似于System.out.println()一样,Perf4J类似于System.currentTimeMillis()。
Perf4J提供的功能包括:
用于计时的简单的停止观测(stop watch)机制。
用于解析日志文件的命令行工具,可以生成聚合统计和性能图表
易于与常见的日志框架和facades集成:log4j、java.util.logging、Apache Commons Logging及SLF4J。
运行时自定义log4j appender 产生统计数据和图表
可以将性能统计暴露为JMX属性,当统计超出指定极限时发送通知。
用于展现Web应用性能图表的Servlet。
提供了@Profiled注解和一套客户化的方面(aspect),在处理AOP框架如AspectJ或Spring AOP时可以灵活插入计时语句。

Perfmon4j
Perfmon4j是一套性能监测工具,它能够诊断性能瓶颈,监控吞吐量和servlet响应时间。

jSonde
jSonde能够分析现有Java应用程序,然后生成UML序列图,测量性能(包括CPU和内存)和创建各种报表如:jar包依赖等。jSonde由两个组件组成:一个附加在Java进程中的代理用来收集相关信息,一个GUI程序用于查看由代理组件收集的结果信息。

JavaMelody
JavaMelody能够在QA和实际运行生产环境监测Java或Java EE应用程序服务器。并以图表的形式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。

Basher
Basher是一个针对Java POJOs的分析和性能测试框架。适用于开发人员和测试人员使用,让他们能够快速,简便的进行线程测试,描述和衡量他们的代码在各种预先设定情景下的性能。

CheckThread
CheckThread是一个静态分析工具用于在编译期捕捉Java并发错误(concurrency bugs)。它使用Java注释或XML来为Java代码定制线程策略,能够在在编译时通过静态分析捕获尽可能多的线程错误。支持Ant,Eclipse和其它IDE插件(Intellij、NetBeans)。

JVM Monitor
JVM Monitor是一个Eclipse插件用于监控Java程序运行时的CPU占用,线程和内存的使用情况。它不仅可以监控本地程序的运行情况,还可以监控远程主机中的Java程序运行情况。

BTrace
BTrace是一个实时监控工具,使用了java agent 和jvm attach技术,可以在不停机的情况下实时监控线上程序的运行情况。并且做到最少的侵入,占用最少的系统资源。 Btrace基于动态字节码修改技术(Hotswap)来实现运行时java程序的跟踪和替换。Btrace的脚本是用纯java编写的,基于一套官方提供的annotation,使跟踪逻辑实现起来非常简单。简单来说,就是能在不改动当前程序的情况下,运行时的去监控Java程序的执行状况,例如可以做到内存状况的监控、方法调用的监控等等。

Profiler4j
Profiler4j是一个用于分析Java程序CPU使用情况的开源工具。你可以定义规则来分析选择哪一个包,类和方法。在改变这些规则时不需要重启你的应用程序。易于使用只要添一个JVM参数到你的应用程序中。纯Java实现,没有依赖任何本地类库。它由两部分组成:一个分析代理与你的应用程序运行在同一个JVM中。另一个是一个远程控制台能够连接到远程代码并允许用户查看分析数据和改变设置。

Caliper
Caliper是Google的开源框架用于编写,运行和查看JavaMicrobenchmarks测量的结果。
分享到:
评论

相关推荐

    Java版开源Winzip压缩工具源码

    而这个开源的Java版Winzip工具,其核心目标是模仿Winzip的功能,提供类似的服务,但完全基于Java编写,这使得它可以在任何支持Java的平台上运行,具有跨平台的特性。 Java源码的学习可以帮助开发者深入理解软件的...

    Java开源聊天工具

    Java开源聊天工具是一种基于Java编程语言开发的通讯应用,它为用户提供了一个免费的、可定制化的聊天环境。这种工具通常采用先进的网络通信技术,如Socket编程或者WebSocket,以实现用户之间的实时消息传递。通过...

    Java 性能分析

    在IT行业中,Java性能分析是优化应用程序的关键环节,它涉及到如何...而压缩包中的"Java开源运行分析工具分类列表.mht"文件很可能包含了更多详细的工具信息,进一步研究该文件将为我们的性能分析工作提供更丰富的资源。

    java开源问卷调查系统、表单系统

    总的来说,这款Java开源问卷调查系统是企业和组织进行在线调查、收集反馈的重要工具。其基于JAVA的技术栈确保了系统的稳定性和扩展性,丰富的功能满足了问卷设计、发布、收集和分析的全流程需求,而开源的属性则为其...

    java开源包6

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包8

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包10

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    Java开源企业考勤系统_java_考勤系统开源_企业考勤_

    总结来说,【Java开源企业考勤系统】是一个以Java技术为基础,为企业提供高效、灵活的考勤管理工具。通过开源的方式,它不仅为企业节省了成本,也为开发者提供了学习和实践Java Web开发的机会。对于希望优化内部考勤...

    java开源包9

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    推荐6款常用的Java开源报表制作工具.pdf

    本文将对六款常用的 Java 开源报表制作工具进行详细的介绍和分析,为开发者提供学习和参考的资源。 一、JasperReports JasperReports 是一个基于 Java 的开源报表工具,可以在 Java 环境下像其他 IDE 报表工具一样...

    Java项目开源源码.docx

    这些开源项目涵盖了Java开发的多个领域,从数据库连接池到微服务、从区块链到代码生成工具,提供了广泛的功能选择。对于开发者来说,研究这些源码不仅可以提升技术能力,还可以借鉴其设计思路,应用于自己的项目中。...

    java开源的文件管理系统

    1. **跨平台性**:由于Java的“一次编写,到处运行”特性,Java开源文件管理系统可以在多种操作系统上运行,如Windows、Linux、macOS等。 2. **可扩展性**:Java提供丰富的API和框架,使得系统能够方便地添加新功能...

    java开源web项目

    Java开源Web项目是全球开发者社区中的一个重要组成部分,它们为学习、开发和创新提供了丰富的资源。这些项目通常是基于Java编程语言构建的,旨在提供一个可扩展、高性能、安全且易于维护的Web应用程序框架。通过开源...

    Mac OS java内存分析工具MAT

    MAT是Eclipse项目的一部分,它是一款免费且开源的工具,专门用于分析Java堆转储(Heap Dump)文件,帮助开发者识别内存泄漏、分析内存占用情况以及优化内存使用。MAT提供了丰富的功能和视图,使得复杂的内存问题变得...

    java开源框架实例

    Java开源框架是开发高效、可维护的Java应用的重要工具,它们提供了一系列预定义的结构和组件,帮助开发者快速构建应用程序。本资源包包含了几个与Java开源框架相关的实例,旨在帮助初学者和经验丰富的开发者更好地...

    推荐6款常用的Java开源报表制作工具.doc

    推荐6款常用的Java开源报表制作工具 Java是一种广泛应用于企业级应用的编程语言,其报表制作工具也变得越来越丰富多样。今天,我们将推荐6款常用的Java开源报表制作工具,每个工具都有其特点和优点,下面让我们来...

    四种常用的java代码扫描工具介绍

    PMD 是一个开源的静态代码分析工具,能够检查 Java 代码中的编码风格、命名约定、安全性、性能等方面的缺陷。PMD 提供了大量的规则和配置项,能够满足不同的需求和标准。 Jtest 是一个商业的静态代码分析工具,能够...

    java开源web项目1

    【标题】"java开源web项目1"所涉及的知识点主要集中在Java编程语言和Web应用程序开发领域,这通常意味着这是一个基于Java技术栈的开源Web项目。Java作为一种广泛使用的面向对象编程语言,具有平台无关性、安全性和...

    JAVA开源网上会议系统

    【JAVA开源网上会议系统】是一种基于JAVA技术构建的开放源代码的在线会议平台,它允许用户进行远程协作、沟通和信息共享。这个系统的核心特点在于其开源性,开发者可以自由地查看、修改和分发源代码,从而促进社区的...

    oschina_git_java 开源项目

    综上所述,【oschina_git_java 开源项目】旨在帮助开发者掌握Git和Java的结合使用,提供了一个开源的环境来学习这两个工具的集成应用。通过参与这样的项目,开发者可以提升自己的版本控制能力和Java编程技能,同时...

Global site tag (gtag.js) - Google Analytics