写点什么

预览“Java 数码录像机”—— Chronon Recording Server

2011 年 8 月 20 日

Chronon System 近期公布了 Chronon Recording Server 的 beta 版本。Chronon Recording Server 可以说是 Chronon 工具箱系列产品中一款远程控制工具,大家可以下载试用一下 8 月 15 日公布的 1.8.7 版本

这个 Chronon Recording Server 可以记录任何 Java 应用在任何机器上运行时的内部状况,完了之后,通过其中的“回放”功能,整个程序的执行过程就一目了然了,这对程序调试来讲非常实用。这种回放式的程序调试可以在运行该 Java 应用的机器上进行,也可以在其它机器上进行。无论是哪台机器,只要能访问纪录文件就都可以。Chronon Systems 一句话概括了 Chronon Recording Server 的实质:它是“ Java 的数码录像机”。

Chronon(core)当中捆绑了一个 Eclipse 插件。正是因为这个插件,大家才能够在类似调试环境的视窗中通过回放纪录文件来检查程序的具体运行状况。跟传统的调试器一样,这个插件提供丰富的视图以助于查看数据,比方说可以追踪程序每一步执行时的状态。此外,插件还附带一些筛选和评估程序执行流程等其他功能。

它的 Time Traveling Debugger 还能显示每个 active 的线程完整的 stack trace,甚至还能追溯当下内存所存储的确切内容。用户可以 _ 立刻 _ 跳到纪录的任何时间点,无论是跳到更早的时间点还是之后的,都没有障碍,因为 Time Travelling Debugger 所做的其实就是像查询数据库那样查询纪录文件而已。

正因为 Chronon 纪录下整个程序运行时候的所有状态,所以它的调试器还能提供一些传统调试器无法实现的功能。比方说,它可以查询某个变量在整个程序运行当中被赋过多少值,都是些什么值,甚至还能直接跳到这个变量被赋予某个特定值的时间点,比如说这个变量是空值的时候。

Chronon recorder可以看作是所需调试的Java 应用的一个Java 代理,这个代理可以在应用程序运行的时候通过分析装载在内存当中的字节码来观察和采集反应该程序运行状况的数据。采集到的数据在经过异步压缩以后作为独立文件保存到硬盘上,之后能够传送到任何计算机(比如工程师的机器)上方便用户通过前面讲到的“Time Traveling Debugger”的回放功能来调试程序。

这个工具对于那些需要长时间运行的服务器程序来说特别有用。尤其是传统的调试工具都需要工程师事先设置断点,想办法重现遇到的问题,然后再等上几个小时直到程序执行到设置断点的地方。用这个工具的话,工程师就只需要在异常抛出以后抓取对应的纪录文件,在纪录中找到异常抛出的时间点,然后通过“step backward”查看在异常抛出前程序每一步的运行情况,从而确认导致异常的原因。

Chronon 在最新的系列产品中还添加了 Chronon Recording Server 组件。这个组件可以远程管理在多个 JVM 上运行的“录像机”,更方便各小组之间共享各自的纪录文件。在最新的这个“服务器模式”下,Chronon recorder 可以动态地启动或停止记录 Java 程序的运行。一旦程序有任何非正常的运行状况,比如 bug,用户可以立刻通过服务器启动 recorder 的记录功能,以记录非正常状况的重现过程。这样一来,用户都不需要追加任何日志记录代码,更无需重新部署或设置远程调试环境。

Chronon Systems 的工程师这样概括他们的产品的优点:

  • 无需解析日志文件:程序运行的全过程都可以完整记录,不需要再去解析冗长的日志文件。
  • 远程记录 Java 程序运行状况:把所有计算机都连到 Recording Server,由服务器统一管理每台机子上的记录。
  • 便利 QA 跟开发工程师之间的协同工作: QA 可以通过 Recording Server 记录所有的测试过程,万一测试发现任何问题,开发工程师都可以从服务器上获取相关的记录,然后利用 Time Traveling Debugger 完成调试。
  • 可以记录需要长时间运行的应用:无论是需要运行几天,几个星期,甚至是几个月的程序,Chronon Recording Server 都可以记录它的运行过程。如果需要记录的时间过长,服务器会自动分多个文件记录,不会因为文件太大而丢失老的纪录。
  • 动态启动或停止记录功能:Recording Server 可以动态地在 Java 应用运行的过程中启动或者停止 Chronon recorder,这样一来,我们可以在应用运行的全程中都开着 Chronon recorder,但只在需要记录的时候启动记录功能。

这个工具的 beta 版本 在最近几个星期都可以免费下载,大家不妨试用一下。

查看英文原文:“DVR For Java”, Preview The Chronon Recording Server

2011 年 8 月 20 日 06:512300
用户头像

发布了 71 篇内容, 共 16.7 次阅读, 收获喜欢 3 次。

关注

评论

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

架构师训练营 - 第三周学习总结

joshuamai

【涂鸦物联网足迹】涂鸦云平台全景介绍

IoT云工坊

人工智能 云计算 大数据 物联网平台 物联网

手把手教你如何在Windows安装Anaconda

计算机与AI

Python Anaconda

架构师训练营 - 第 7 周课后作业(1 期)

阿甘

这可能是关于编程指南的最实用指南了

华为云开发者社区

开发者 软件开发 语言

力扣解题:第三题(个人思路整理)

人语驿边桥

力扣

6年Java开发经验,蚂蚁金服面试3+2次,最终有惊无险通过!(已拿offer)

Java架构之路

Java 程序员 架构 面试 编程语言

GrowingIO 响应式编程探索和实践

GrowingIO技术专栏

响应式编程

从广西的新基建耕种,读懂一颗名为智能体的种子

脑极体

1分钟带你解锁Angular

Leo

学习 前端 angular 前端进阶训练营

https 握手失败问题排查全记录

lockdown56

nginx https 网络 HTTP 抓包

合约跟单模式开发,合约跟单系统平台

135深圳3055源中瑞8032

【得物技术】数据分析 - 生活品类社区内容精选池模型

得物技术

数据分析 得物技术部 得物技术 社区内容 精选池模型

8张图带你分析Redis与MySQL数据一致性问题

Java架构师迁哥

干货 | 京东技术中台的Flutter实践之路

京东科技开发者

flutter

GitHub上超牛的Java进阶教程,汇总Java生态圈常用技术框架、开源中间件,系统架构、数据库、大公司架构案例、常用三方类库、项目管理、线上问题排查、个人成长、思考等知识

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营第三周课后作业

天涯若海

解决大中型浏览器(Chrome)插件开发痛点:自定义热更新方案——1.原理分析及构建部署实现

梁龙先森

Java chrome 前端 浏览器 技术方案

WSL还是不错的

孙苏勇

WSL2 工具链 wsl

在Idea中使用JUnit单元测试

jiangling500

单元测试 IDEA JUnit

这份阿里P8整理的新版手抄本,简直把所有Java知识操作都写出来了

Crud的程序员

Java 编程 程序员 程序人生 java面试

应用层软件开发教父教你如何重构,资深程序员必备专业技能

小Q

Java 学习 架构 面试 重构

《高效程序员的45个习惯:敏捷开发修炼之道》.pdf

田维常

电子书

一道比较运算符相关的面试题把我虐的体无完肤

Gopher指北

一周信创舆情观察(10.26~11.1)

统小信uos

第三周作业

丁乐洪

架构师训练营 第三周作业(手写单例模式)

springH₂O

架构训练营

【涂鸦物联网足迹】物联网主流通信方式

IoT云工坊

人工智能 云计算 大数据 物联网 云平台

架構師訓練營第 1 期 - 第 07 周總結

Panda

架構師訓練營第 1 期

阿里P8大牛精心整理,GitHub上超火的《Java工程师成神之路》从基础,到高级、底层、架构、进阶、扩展,囊括了Java体系内的所有知识点。

Java架构之路

Java 程序员 架构 面试 编程语言

屏读时代,我们患上了注意力缺失候群症

脑极体

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

预览“Java数码录像机”—— Chronon Recording Server-InfoQ