70+专家分享实战经验,2024年度AI最佳实践都在AICon北京 了解详情
写点什么

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:40927
用户头像

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

关注

评论

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

为什么HashMap会产生死循环?

王磊

GIS :元宇宙未来发展的有力技术支撑

华为云开发者联盟

AI GIS 虚拟世界 数字孪生 云宇宙

创业老兵李峻的新征程|ONES 人物

万事ONES

龙蜥社区一周动态 | 1.10-1.14

OpenAnolis小助手

Linux 开源 社群

线上流量对比应用实践

得物技术

架构 数据 流量 实践 流量回放

项目管理是做什么

爱吃小舅的鱼

2021 OceanBase 开源半年度报告 | 不忘初心,感恩同行

OceanBase 数据库

开发者 报告 OceanBase 开源 OceanBase 社区版

Hive SQL底层执行原理

五分钟学大数据

Hive SQL 1月月更

我相信:没有解不开的难题|ONES 人物

万事ONES

低代码实现探索(二十二)如何构建一个可以看的懂的系统

零道云-混合式低代码平台

TDSQL | 将企业级分布式数据库做到极致

腾讯云数据库

tdsql 国产数据库

TDSQL PG版企业级分布式数据库技术创新实践

腾讯云数据库

tdsql 国产数据库

ONES CTO 冯斌|如何低成本地做出高质量决策

万事ONES

Serverless 背景下,一部分“前端工程师”会转变为“应用交付工程师”

杨成功

Serverless 架构 前端

ReactNative进阶(二十三):Javascript 严格模式详解

No Silver Bullet

React Native 1月月更

知识库进化论 | 华创资本对话 ONES & 为知笔记创始人

万事ONES

Scrum Master需要具备哪些能力和经验

华为云开发者联盟

Scrum 敏捷 团队 教练 Scrum Master

虎符研究院深入解读Web3.0未来趋势 盘点代表性项目

区块链前沿News

Web Hoo虎符 虎符研究院 虎符平台 3.0

java开发之Redis的使用规范

@零度

redis JAVA开发

前端开发之JQuery的综合应用

@零度

jquery 前端开发

CSS 自适应内容宽度的输入框

编程江湖

架构实战训练营-模块7-作业

温安适

「架构实战营」

软件设计——依赖倒置

苏州程序大白

架构师

1月月更|推荐学java——Spring之AOP

逆锋起笔

spring SSM框架 spring aop 依赖注入 面向切面编程

Chrome插件:摸鱼倒计时、每日摸鱼时间统计,奋斗逼、卷王必备,用于减少摸鱼时间和频率

OBKoro1

效率 开源 效率工具 chrome扩展 高效率

前端使用 zx 库在 Node 中编写 Shell 脚本

devpoint

node.js Shell 1月月更 zx.js

Go 语言快速入门指南:Go 并发初识

宇宙之一粟

golang 并发 Go 语言 1月月更

TDSQL-C for PostgreSQL 主从架构详解

腾讯云数据库

tdsql 国产数据库

Jetpack—LiveData组件的缺陷以及应对策略

vivo互联网技术

android livedata JetPack 移动应用开发

Android技术分享| 自定义View实现使用更方便的SeekBar

anyRTC开发者

android 音视频 移动开发 白板 SeekBar

使用php-amqplib实现RabbitMq

Owen Zhang

php RabbitMQ php-amqplib

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