arthas一次方法追踪记录

记一次通过Arthas定位解决spring-boot中内嵌tomcat的bug问题 背景 公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校验之类的工作,起着一个承上启下的作用。 最近在优化接口的响应时间,优化了代码之后,但是时间还是达不到要求;有一个诡异的100ms左右的耗时问题,在接口中打印了请求处理时间后,和调用方的响应时间还有差了100ms左右。比如程序里记录150ms,但是调用方等待时间却为250ms左右。 下面记录下当时详细的定位&amp... 阅读详情

调研spring-cloud-kubenetes,发现组件底层通过http请求k8s的apiserver服务查询k8s管理的service列表。

在这里插入图片描述
在这里插入图片描述
本地调用跟踪源码的结果url :https://kubernetes.default.svc/api/v1/services,由于未设置namaspace等信息所以url是最简单的url,源码会读取配置,然后最终生成url。然后想看看部署到k8s上的服务生成的url情况,想法是通过aop切这个方法,然后取到返回结果,由于实力有限没成功,所以想想其他方法,后来想到了阿里开源的arthas工具,所以记录一次使用过程。
1、首先去官网下载最新版jar包 version:3.2
2、本地启动并监控本地的服务中方法,通过watch命令,可以查看方法的返回值。命令:

watch com.cnpc.cloud.k8s.demo.controller health "{returnObj,target}"

3、怎么将arthas安装到镜像中
上传zip包到服务器
dockerfile中新增:
ADD arthas-3.2.0-bin.zip /usr/local/arthas/
k8s启动服务后通过命令 kubectl get pods 找到部署的pod
如果是单pod的服务则通过命令:kubectl exec -it [pod] – /bin/bash 进入容器
通过 java -jar arthas-boot.jar 启动服务

Arthas trace命令:追踪方法调用路径(附代码分析) 本文介绍了Arthas诊断工具中trace命令的使用方法。该命令能追踪Java方法调用路径,清晰展示方法间的调用关系和执行耗时。通过示例代码演示了基本用法:trace 类名 方法名,并分析了输出结果的结构。文章还提供了简化输出的技巧(如过滤JDK方法)和结合其他命令分析的思路。掌握trace命令可帮助开发者快速定位方法调用中的性能瓶颈,是Java程序诊断的重要工具。 阅读详情

相关推荐

如何通过arthas打印某个方法的具体执行耗时

(TimeTunnel)命令可以记录方法的调用信息,包括入参、返回值和执行耗时,便于后续分析。命令可以追踪方法的调用路径,并打印每个子方法的执行时间,适合分析方法内部的耗时分布。命令用于监控方法的执行情况,包括调用次数、成功次数、失败次数、平均耗时、最大耗时等。通过这些命令,可以快速定位方法的执行耗时,分析性能瓶颈。命令来打印某个方法的具体执行耗时,其中。更适合查看方法的调用链路和各环节耗时,适合统计方法的执行耗时分布。在Arthas中,可以使用。执行后会记录每次调用,通过。表示对应方法的执行耗时。

青鱼入云的博客 754

Arthas使用教程(8大分类)

1、基础命令。2、JVM相关。3、类与类加载器。4、option全局选项。5、项目中使用案例。

lydms的博客 11万+

LPDDR5X内存技术解析:性能提升与优化策略

内存技术在现代计算系统中扮演着核心角色,其性能直接影响整体系统效率。LPDDR5X作为JEDEC最新标准,通过提升数据传输率至8533Mbps、优化能效比15%以上,并扩展突发长度至32字节,显著提升了移动设备的处理能力。这些改进特别适用于5G通信、AI加速(如昇腾芯片)及8K视频处理等高带宽需求场景。技术原理上,LPDDR5X引入了动态电压频率调整(DVFS)和可编程突发长度等创新机制,有效降低了实际应用中的延迟。在工程实践中,合理的PCB布局和信号完整性验证是确保高速稳定运行的关键。随着AI和8K应用的

weixin_29190169的博客 397

ADS软件操作(10)——DAC控件使用

该控件可以用于为元件定义随频率变换的参数,如放大器的最佳负载阻抗或者源阻抗,需要双频匹配时的优化等,下图是ADS中该控件的模型。

Zhuanzhuyan的博客 4396

1G/2.5G Ethernet PCS/PMA or SGMII

SGMII即Serial GMII,串行GMII,收发各一对差分信号线,时钟频率625MHz,在时钟信号的上升沿和下降沿均采样,所以总的数据速率为1.25Gbps=625Mbps*2。参考时钟RX_CLK由PHY提供,是可选的,主要用于MAC侧没有时钟的情况,一般情况下,RX_CLK不使用。收发都可以从数据中恢复出时钟。在TXD发送的串行数据中,每8比特数据会插入TX_EN/TX_ER 两比特控制信息,同样,在RXD接收数据中,每8比特数据会插入RX_DV/RX_ER 两比特控制信息。

sqzjiayou的博客 1万+

Python爬虫实战:5分钟搞定东方财富网股票数据抓取(附完整代码)

本文详细介绍了如何使用Python爬虫快速抓取东方财富网的股票数据,包括环境配置、API分析、核心代码实现及优化技巧。通过简单的requests和pandas库,5分钟内即可获取高质量股票数据,适合量化交易和数据分析初学者。

weixin_29040367的博客 1183

Mac新手必看:nvm安装全攻略(含常见错误解决方案)

本文为Mac开发者提供nvm安装与使用全攻略,涵盖环境准备、安装步骤、Shell配置优化及常见错误解决方案。详细讲解如何利用nvm管理多Node版本,提升开发效率,特别针对国内用户提供网络问题解决技巧,是Mac新手必备的Node版本管理指南。

weixin_28839699的博客 1610

NVIDIA Isaac Sim 入门教程(二)

Omniverse Isaac Sim 的工作空间非常容易自定义。调整用户界面的大小、停靠、取消停靠、添加和移除面板都非常容易。进入顶部菜单栏,单击下拉菜单最下方的窗口 > 视口 > 视口 2(现在工作区中应该会出现一个名为 "视口 2 "的新视口。如果您想创建更多的视口,请按照相机检查器扩展进行操作。单击并拖动视口 2 的顶部标题以激活停靠部件。拖放到原始视口的右侧,将两个视口并排放置。单击并向左拖动视口 2 的左侧,使视口大小相等。

机器人控制与仿真应用 6545

Unreal从入门到精通之如何绘制用于VR的3DUI交互的手柄射线

之前我写过一篇文章《Unreal5从入门到精通之如何在VR中使用3DUI》,其中讲到使用WidgetComponent和3DUI进行交互。然而,这种方法存在一个问题:为了让射线可视化,我们需要勾选“调试/显示调试”,这样才能在手柄上看到代表其指向的一条红色射线。但最关键的问题是,这个显示调试信息的功能只属于Debug调试模式,也就是说,一旦将项目正式打包发布,这条射线辅助线就没有了。如下图所示:我就觉得Unreal官方真的是有点过分了,这不应该是最基本的功能么?难道我们VR要在Debug模式下发布?

TxNet 1612

游戏引擎定制化:大厂如何玩转性能极限(大白话生动有趣版)

游戏大厂如何深度定制游戏引擎?本文系统解析了商业引擎的局限性及大厂定制化的核心诉求。主要内容包括: 大厂定制引擎的根本原因:性能瓶颈、差异化需求、自有生态整合等 主流引擎的优劣势对比及适用场景 定制化重点领域:渲染管线优化、物理系统重构、网络架构改造等 全流程定制方案:从需求分析到模块重构再到工具链开发 典型案例:如腾讯CF手游的渲染优化、原神的热更新系统等 文章指出,顶级游戏产品必须对引擎核心模块动刀,通过深度定制实现性能突破和创新功能开发。同时提供了风险规避建议和技术演进趋势,为游戏开发者提供了宝贵的实

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 635

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 里氏替换原则与多态的区别
下一篇: spring-cloud-kubernetes 远程访问k8s apiserver
li_a_long
博客等级 码龄9年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值