NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

亚信安慧荣获第二届“鼎信杯”优秀技术支撑奖

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 7 月 PK 榜

搭建 OpenTiny 组件库的 Playground 指导手册

OpenTiny社区

开源 Vue 前端 UI组件库

2023年秋招最新版牛客网Java面试题及答案整理(持续更新)

架构师之道

Java 面试

3种常见的测试自动化类型

汽车之家客户端前端团队

前端 单元测试 集成测试 自动化测试 端到端

记一次容器环境下出现 Address not available

阿里巴巴云原生

阿里云 容器 云原生

MySQL能用OFFSET分页查询吗

fm

MySQL

软件测试 | MySQL字符集的修改步骤

测吧(北京)科技有限公司

测试

第二届粤港澳大湾区(黄埔)国际算法算例大赛正式开启报名

ModelWhale

算法大赛 琶洲 院士 数据科学竞赛 算法赛

容灾切换时间减少 99%,“云边协同”如何提升影演服务效率与稳定性

阿里巴巴云原生

阿里云 云原生

NFTScan | 07.17~07.23 NFT 市场热点汇总

NFT Research

NFT\

第一批AIGC独角兽开始裁员了

Openlab_cosmoplat

人工智能

我也创业了!

Serverless Devs

人工智能 Serverless 云原生

Docker的架构与安装

timerring

Docker

网关改造正当时,跟学 HigressOps 夏季营

阿里巴巴云原生

安卓快速启动,启动速度 285 毫秒的实时安卓操作系统(RTAndroid)或 实时 Linux

winfredy

android Linux 快速启动

可视化逻辑编排工具——低代码/无代码平台

互联网工科生

软件开发 低代码 无代码 JNPF

活动回顾丨云原生技术实践营广州站回放 & PPT 下载

阿里巴巴云原生

阿里云 云原生

MobPush Android SDK 厂商推送限制

MobTech袤博科技

消息推送 Android; 智能推送 推送 推送系统

从单元测试到性能测试:41款工具满足所有的软件测试需求

PingCode

软件测试 PingCode 软件测试工具

故障注入的方法与工具

DevOps和数字孪生

故障注入 汽车行业

10 个处理 JavaScript 对象的实用技巧!

这我可不懂

JavaScript 前端 开发语言

程序化广告还有未来么?——程序化领域变化的底层逻辑和反思

不在线第一只蜗牛

系统架构 系统搭建 程序化

和鲸 ModelWhale 与麒麟系统适配认证,打造自主安全、性能可靠的信创 AI 基础软件

ModelWhale

人工智能 信创 国产 麒麟软件 数据科学平台

可视化开发工具:让软件应用开发变得更轻松

高端章鱼哥

编程 低代码 JNPF

深入理解 Serverless 计算的并发度

阿里巴巴云原生

阿里云 Serverless 云原生

低代码是怎么火起来的?

这我可不懂

软件开发 低代码 JNPF

数字孪生搭高台,温控节能唱新戏

鲸品堂

数字孪生 建模 智慧机房

香港中文大学携手PingCode打造运维管理解决方案

PingCode

PingCode 香港中文大学

一文了解 MySQL 全新版本模型

爱可生开源社区

别再说调试器不好用了!

高端章鱼哥

前端 调试器

LeaRun快速开发框架如何解决低代码劣势?

力软低代码开发平台

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