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

相关文章
|
Python
[BlocklyNukkit入门]#4创建命令
Python可以吧function改为方法名 比如
63 0
|
网络协议 测试技术 数据安全/隐私保护
cmd:基本使用
cmd:基本使用
98 0
|
存储 C++ 容器
|
存储 C++ 容器
C++学习笔记(十六)——list
C++学习笔记(十六)——list
C++学习笔记(十六)——list
|
JavaScript 前端开发
v-if与v-show的使用方法以及区别
v-if与v-show的使用方法以及区别 在vue里面有两种方式来控制元素的显示与隐藏,分别是v-if和v-show,这两种方式都可以控制元素的显示与隐藏,那么如何进行使用呢?
|
Arthas 前端开发 测试技术
tt 命令的案例演示 | 学习笔记
快速学习 tt 命令的案例演示
tt 命令的案例演示 | 学习笔记
|
Arthas 测试技术 开发者
Stack 命令的语法和案例 | 学习笔记
快速学习 Stack 命令的语法和案例
Stack 命令的语法和案例 | 学习笔记
|
Go 开发者
switch 基本使用|学习笔记
快速学习 switch 基本使用
switch 基本使用|学习笔记
|
Unix Linux Shell
shift 命令使用方法 | 学习笔记
快速学习 shift 命令使用方法
shift 命令使用方法 | 学习笔记
|
IDE Unix Linux
shift命令使用方法 | 学习笔记
快速学习shift命令使用方法
shift命令使用方法 | 学习笔记