tt 命令的案例演示 | 学习笔记

简介: 快速学习 tt 命令的案例演示

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

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


tt 命令的案例演示


内容介绍

一.条件表达式

二.解决方法重载

三,解决指定参数

四.检索

五.查看调用信息


一.条件表达式

Arthas 似乎很难区分出重载的方法

只需要观察特定参数,但是tt却全部都记录了下来

条件表达式也是用OGNL来编写,核心价值观的判断对象依然是Advice对象。除了tt命令外,watch,trace,stack命令也都支持条件表达式。


二.解决方法重载

因为有些方法的方法名相同,参数的个数和类数不同,params是所有参数的速度,length是所有速度的长度,可以通过length知道参数指定的个数

tt-t*Test print params,length==1

通过制定参数个数的形式解决不同的方法签名,如果参数个数一样,你还可以这林写 tt -t* Test print param[1] instanceof Integer


三.解决指定参数

tt-t*lest print params〔0〕].mobile=="13989838402"//第0的参数的属性是一个具体的手机号码,这样可以指定具体的参数来确定调用的方法。


四.检索

查看时间片段,输入[arthas2@6523]$ tt-1,再按回车,进一步往下记录它的索引号是继续往下走的。

image.png

输入[arthas2@6523]$ tt-1就会显示2次记录的结果,基本上是1秒1次,如果只是想看其中的某个方法,可以指定表达式 -s这个参数,搜索。

[arthas2@6523]$ tt -s’method.name==“primeFactors”’这个现在无含义,因为现在检索的全是一个方法,所以这个地方就无含义,预现结果相同。回车,就只是一个方法把它显示出来,相当于在现有的结果里进行搜索。

image.png


五.查看调用信息

比如看1008,看信息是怎样调用,[arthas2@6523]$ tt -i 1008。这时会显示出1008的信息

image.png

INOEX表示编号,GMT-CREATE表示时间,COST是耗时,PARAMETERS[0]表示入参,@Integer表示返回值。

[arthas2@6523]$ tt -i

有时候当代码做了一些调整,那你可能需要前端系统重新触发一次调用,这时候需要别人配合,再次发起一次调用,这是比较麻烦,需要沟通,降低沟通成本。可以自己再调用刚刚的结果。

例如

[arthas2@6523]$ tt -i 1008 -p//-p即重新调用一次

[arthas2@6523]$ tt -i 1008 -p--replay-times

调用一次1 times

调用两次2 times

调用三次3 times

image.png

image.png

还可以指定隔多久调一次,interval表示时间间隔,默认它隔一秒钟调用一次

image.png

也可设置为过两秒调用一次,参数是相同的。

小结:作用:记录指定方法每次调用的入参和返回值,并后期还可以对这些信息进行观测。

-t  记录方法在一个时间段中调用

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

-n次数   只记录多少次

-s搜索表达式  指定搜索表达式

-i索引号   查看它的详细信息

image.png

相关文章
|
关系型数据库 MySQL 数据库
数据安全之路:深入了解MySQL的行锁与表锁机制
数据安全之路:深入了解MySQL的行锁与表锁机制
604 1
|
存储 Linux Shell
Linux基础IO【深入理解文件系统】
Linux基础IO【深入理解文件系统】
194 1
|
canal 消息中间件 存储
手把手告诉你如何监听 MySQL binlog 实现数据变化后的实时通知!
Hello 大家好,我是阿粉。不知道大家在日常的工作中有没有遇到这样的场景,很多时候业务数据有变更需要及时加载到缓存、ES 或者发送到消息队列中通知下游服务。
6945 0
手把手告诉你如何监听 MySQL binlog 实现数据变化后的实时通知!
|
5月前
|
Arthas 监控 前端开发
Arthas tt(方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测)
Arthas tt(方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测)
118 7
|
7月前
|
API 开发工具 Python
阿里云PAI部署DeepSeek及调用
本文介绍如何在阿里云PAI EAS上部署DeepSeek模型,涵盖7B模型的部署、SDK和API调用。7B模型只需一张A10显卡,部署时间约10分钟。文章详细展示了模型信息查看、在线调试及通过OpenAI SDK和Python Requests进行调用的步骤,并附有测试结果和参考文档链接。
3468 11
阿里云PAI部署DeepSeek及调用
|
11月前
|
运维 监控 jenkins
Jenkins有哪些优势和劣势
【10月更文挑战第18天】Jenkins有哪些优势和劣势
415 2
|
人工智能 自动驾驶 架构师
Gartner 首次发布 AI 代码助手魔力象限,阿里云进入挑战者象限,通义灵码产品能力全面领先
通义灵码由阿里云和通义实验室联合打造,上线不到一年就入围 Gartner 挑战者象限,产品能力得到广泛认可。
|
Arthas Prometheus 监控
JVM工作原理与实战(二十九):监控内存泄漏的工具
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了解决内存溢出的步骤、Top命令、VisualVM、Arthas、Prometheus + Grafana等内容。
767 0
|
决策智能
Or-tools调用求解器介绍(三)
Or-tools调用求解器介绍(三)
736 0
|
NoSQL Ubuntu 安全
RedisDesktopManager连接Ubuntu的Redis失败解决办法
通过仔细检查您的系统配置与网络设置,您通常可以解决RDM连接到Ubuntu服务器上的Redis实例的问题。始终牢记在公开或者不信任的网络上,以安全为先,避免泄露敏感信息。
440 2