写点什么

JProfiler 6.0 支持动态插桩和历史锁视图

  • 2009-12-26
  • 本文字数:1403 字

    阅读完需:约 5 分钟

JProfiler 最新版支持动态插桩,历史锁视图和个别方法运行分析。JProfiler 背后的公司 ej-technologies 最近发布了 Java 应用分析工具 JProfiler V6.0 ,该工具还支持监控分析和线程转存(thread dump)视图。

动态插桩自动调节能够发现负载不相称的方法并在 JProfiler 的 GUI 中建议移除它们。被频繁调用的短运行的方法可能会歪曲整体数据,因为用于度量这些方法所用去的时间要远远大于它们本身的实际运行时间。新版本进行分析时在状态栏中提供了的这类热点通知,使得开发人员能够关注那些较长运行时间的方法。

个别方法运行分析特性帮助开发人员分析选定方法的最慢的执行细节。即一个方法中耗费了最长的时间的那些调用。通常,一个方法在进行大量调用时的行为是非常相似的,但有时花的时间却长得多。这种情况下检查访问树是没用的,因为绝大多数是正常的调用。现在,开发人员可以在访问树视图或方法统计图中将一个方法设定为特别方法,这样访问树将单独显示最慢的调用。

其他 JProfiler 6 的新功能包括:

锁视图:
JProfiler 中扩展了监控分析,增加了显示当前锁状态和所有记录的锁状态的图标。当前锁视图显示了当前等待或阻塞在某监控器上的所有线程以及那些持有竞争监控器的线程。死锁用红色节点标识并由小贴士显示了时间和栈跟踪。

在历史锁视图中,开发人员可以记录监控事件并通过记录的锁状态逐步导航。时间轴视图将事件的分布放在相关上下文中,从而提供了向其他监控事件的另一种导航方式。

线程转存视图:
新的线程转存视图显示了所有的访问帧,而不仅仅是分析类。开发人员可以在同一线程上遍历不同的线程转存以了解栈跟踪的变化。该特征支持多线程转存和单线程转存,并且现在整个线程转存可以拷贝到剪切板中。

监控分析:
由于可能有大量的监控事件,你可以把特定的线程或监控器标定为感兴趣节点。这样,一组独立的导航按钮将仅仅逐步跟踪那些至少有一个感兴趣节点的参与的事件。你可以通过选择时间轴的一段区域收集监控事件。为锁视图中的箭头展示的总体阻塞和等待时间以及栈跟踪列表在显示在工具的贴士窗口中。你可以通过 JProfiler MBean 或控制器(Controller) API 开启和关闭监控事件记录。

方法统计视图:
该视图展示了方法执行时间的分布统计数据,它包括一个称为“偏离系数”的特征用于显示最慢的调用偏离时间中位数的程度。在该视图的下方有一个展示调用时间分布的图。这里的 y 轴展示的是对数,这样能更清晰地显示单个偏离。

树地图视图:
对所有显示访问树的视图中加入了树地图视图模型,在树地图视图中的矩形区域与方法的执行时间成比例。你把鼠标移动到矩形区域上就可以看到方法信息并缩放到合适的大小以显示详细。访问跟踪器的栈跟踪信息也加了进来。每次栈跟踪的信息可以在下面的窗口中看到,这样使用者就能更方便地获得所选跟踪的上下文信息。

对于使用 Java SE v5 或更高的 java 应用,该工具的配置仅需设置一个 VM 参数,即“-agentpath”。对于 Java 6 以上的 JVM,新版本在修改分析设置后不需要重新启动,而且新版本还能从 IDE 集成环境装载快照。支持的 IDE 包括 Netbeans 6.8 (同时支持 Glassfish v3 的分析)和 IntelliJ Idea 9 。该工具也可以与 JBoss 5.1 以及 Oracle Weblogic 11g 这样的应用服务器一起工作。

最新版还支持在两个新平台上的运行,他们是 FreeBSD x86 和 Linux PPC 的 32 位以及 64 位 JVM 的操作系统。


查看英文原文: JProfiler 6.0 Supports Dynamic Instrumentation and Locking History Graphs

2009-12-26 11:40931
用户头像

发布了 184 篇内容, 共 79.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Redis - 主从模式

insight

redis 3月日更

双非怎么了

我是程序员小贱

3月日更

书单|互联网企业面试案头书之数据分析师篇

博文视点Broadview

区块链农产品溯源系统开发,区块链农产品溯源平台的搭建

13828808769

区块链 区块链+ #区块链#

【Axure9百例】47.CSDN的列表样式

zhuchuanming

原型设计 Axure 交互原型

从新手到专家:如何设计一套亿级消息量的分布式IM系统

JackJiang

架构设计 即时通讯 IM

Python API 类型系统的设计与演变

李宇飞

API

go + ffmpeg + goav 实现拉流解码器

张音乐

音视频 ffmpeg Go 语言 goav

算法:求两个单向链表的最早公共交点

程序员架构进阶

算法 链表 28天写作 3月日更 算法解析

Centos7下Docker安装&配置&镜像加速

happlyfox

学习 ,docker 3月日更

PS 进行隐藏图制作

空城机

PhotoShop ps 视觉处理 视觉 隐藏图

史上最全教程:idea将Java项目打包Jar包,并生成exe可执行文件

madison

Java jar包转exe可执行文件 exe4j

AA

郑伟

标签

推进智能变革,HPE让零售业的数字化梦想照进现实

Lily

MySQL主从原理,基于快速学习一门技术的3种方式

博文视点Broadview

Java + opencv实现视频人脸检测

张音乐

OpenCV 人脸识别 视频

工作四年,分享50个让你代码更好的小建议

比伯

Java 程序员 架构 程序人生 计算机

Firebase 命令行工具

HoneyMoose

来,在图片上画个矩形吧,取经之旅第 14 天

梦想橡皮擦

3月日更

2020 年前端技术发展盘点

三钻

发展 大前端 组件化 机会与趋势

万物皆可拆

小匚

图片的黑魔法——GitHub 热点速览 v.21.13

HelloGitHub

GitHub 开源

科普NA公链(Nirvana):NAC公链采用基于NIO的Netty,实现链上应用百万级TPS并发​

区块链第一资讯

华为云副总裁薛浩:云原生视频服务,重塑体验,助力产业升级

华为云开发者联盟

云原生 音视频 视频 华为云 AR/VR

关于Vue权限路由思考

程序员海军

Vue 大前端 vue-router 权限认证 按钮权限

局域网服务器访问外网方案

程序员与厨子

Linux 网络 路由表

记上周双休日的加班

sadhu

加班

缓存不一致、缓存雪崩、缓存击穿、缓存穿透

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

Kafka、RabbitMQ、RocketMQ 之间的区别是什么 ?

AI乔治

Java kafka 架构 消息队列

我还不懂什么是分布式事务

好好学习,天天向上

Java MySQL spring 分布式 事务

无需编程,通过配置零代码生成CRUD RESTful API

crudapi

RESTful 低代码 API crud crudapi

JProfiler 6.0支持动态插桩和历史锁视图_Java_Srini Penchikala_InfoQ精选文章