tt 命令的基本使用 | 学习笔记

简介: 快速学习 tt 命令的基本使用

开发者学堂课程【线上问题排查利器 Alibaba Arthas(下)tt 命令的基本使用】学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/747/detail/13206


tt 命令的基本使用


内容介绍

一.tt 命令的介绍

二.tt 命令使用案例


一.Tt 命令的介绍

(1)tt 含义:time-tunnel 时间隧道

穿越时空隧道,回到过去或到达未来。

(2)作用:记录下指定方法每次调用的入参和返回信息,并能对这些不同时间下调用的信息进行观测

(3)介绍:watch 虽然很方便和灵活,且用 watch 用的更多。但需要提前想清观测表达式的拼写,这对排查问题而言要求太高,因为很多时候并不清楚问题出自何方,只能靠蛛丝马迹进行猜测,且有时并不确定要靠哪个方法没办法写出表达式。

这时如果能记录下当时方法调用的所有入参和返回值,抛出的异常会对整个问题的思考与判断非常有帮助。于是,Timetunnel 命令就诞生了。

Timetunnel 较 watch 更详细,可以通过各种参数比较方便地查询。

调用时,检查所有的入参和返回,抛出的异常,然后再进行思考,于是就有了Timetunne时间通道。

(4)参数解析

Tt 参数         说明

-t              记录某个方法在一个时间段中的调用,这个时间段是它自己确定的,并没有设置它

-l              显示所有已经记录的列表

-n 次数              只记录多少次,如果不记录,就会一直记录下去,数值非常大。

-s 表达式        搜索表达式,记录出来的数据如果想在结果当中去查看一些信息,用-s 表达式

-i 索引号         查看指定索引号的详细调用信息

-p               重新调用指定的索引号时间碎片

输入-h,它会把所有参数写出来

输入-d,删除所有调用列表

-t

tt命令有很多个主参数,-t 是其中之一,这个参数表明希望记录下类Test的 print 方法的每次执行清况。

-n 3

当你执行一个调用量不高的方法时可能你还能有足够的时间用CTRL+C 中断 tt 命令记录的过程,但如果遇到调用量非常大的方法,瞬间就能将 JM 内存撑爆。

比时可以通过- n 参数指定你需要记录的次数,当达到记录次数时 Arthas 会主动中断 tt 命令的记录过程,避免人工操作无法停止的情况。


二.tt 命令使用案例

基本使用

  1. 最基本的使用来说,就是记录下当前方法的每次调用环境现场。
  2. Tt -t demo.MathGame primeFactors

输入[arthas@6523]$tt -t demo.MathGame primeFactors

再按回车,它开始记录,这个索引,它就是记录每次方法的调用环境的现场。

这里有众多参数,第一列是时间片段的编号,如果后面还要调动其它

tt 命令,它都是基于这个索引号的,而且编号是唯一的,不会重复。

如果挑第二次 tt 命令,从1012开始。

INOEX是编号,TIMESTAMP 是执行时间,记录了时间片段所发生

的时间,cost代表方法耗时多久,is-ret 方法是否是正常的形式返

回的,true 代表正常返回,false 代表抛异常,Is-ESP 代表是否抛

出异常,OBJECT 代表对象 hashCode,CLASS 代表执行的类的名

称,METHOD 代表执行的方法名。

image.png

相关文章
|
Serverless 数据处理 索引
Pandas中的shift函数:轻松实现数据的前后移动
Pandas中的shift函数:轻松实现数据的前后移动
2532 0
|
JavaScript Java 测试技术
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
5493 0
|
5月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
46741 11
|
12月前
|
Arthas 监控 前端开发
Arthas tt(方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测)
Arthas tt(方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测)
318 7
|
Arthas 监控 Java
揭秘Arthas:如何轻松查看入参的命令
【Arthas教程】了解阿里开源的Java诊断工具Arthas,用于实时监控和诊断应用。使用`watch`命令查看方法入参和返回值,如`watch 类全名 方法名 "{params, returnObj}" -x 展开层数`。优势在于实时性、易用性、灵活性和高效性。提升使用效果需熟悉基本及高级命令,并多实践。尝试Arthas,提升Java开发效率!我是木头左,一起学习进步!
揭秘Arthas:如何轻松查看入参的命令
|
开发工具 git 开发者
【git merge/rebase】详解合并代码、解决冲突
【git merge/rebase】详解合并代码、解决冲突
3357 0
|
存储 机器学习/深度学习 人工智能
日志分析软件
【10月更文挑战第18天】
1636 7
|
Arthas 监控 Java
【Java虚拟机】JVM诊断神器Arthas入门实操
【Java虚拟机】JVM诊断神器Arthas入门实操
【Java虚拟机】JVM诊断神器Arthas入门实操
|
Oracle 关系型数据库 MySQL
一文了解PostgreSQL MVCC机制
一文了解PostgreSQL MVCC机制
1173 0
|
Java
Java8 Stream流 使用笔记
Java8 Stream流 使用笔记
430 1