郑昀 创建于2015/6/23 最后更新于2015/6/25
关键词:Google Dapper、窝窝Tracing、鹰眼、天机、性能、调用链分析、散点图、瀑布图
本文档适用人员:技术人员
提纲:
- Google Dapper是怎么做的
- 天机里如何从宏观看到微观
0x00,Google Dapper的交互方式
Google 的 Dapper 是淘宝鹰眼、点评CAT、京东Hydra、eBay CAL、Twitter Zipkin、窝窝Tracing的鼻祖。很多年前,Google 说,大部分用户都是通过这么个控制台来使用 Dapper 的,典型流程如下图所示:
图1 dapper
- 用户输入他感兴趣的服务和时间窗口,选择相应跟踪模式(这里是 span 名称),以及他最关心的某个度量参数(这里是服务延迟)。
- 页面上会展示一个指定服务的所有分布式执行过程的性能摘要,用户可能会对这些执行过程根据需要进行排序,然后选择其中一个看详情。
- 一旦用户选定了某个执行过程后,将会有一个关于该执行过程的图形化描述展现出来,用户可以点击选择自己关心的那个过程。
- 系统根据用户在1中选择的度量参数,以及3中选择的具体过程,显示一个直方图。在这里显示的是有关 getdocs 的延迟分布的直方图,用户可以点击右侧的 example,选择具体的一个执行过程进行查看。
- 显示关于该执行过程的具体信息,上方是一个时间轴,下方用户可以进行展开或折叠,查看该执行过程各个组成部分的开销,其中绿色代表处理时间,蓝色代表花在网络上的时间(注:即我们说的调用链瀑布图)。
这就是 Google 从宏观一路看到微观的操作模式。即,服务(对应于一个或一串集群)的度量指标是宏观,真实的调用链是微观,在图形界面上即可从宏观杀入微观。
0x01,天机系统里如何从宏观看到微观
窝窝也致力于从某个工程的度量指标开始看起,选择自己关心的时段,最终一路点击后,找到可疑的调用链,看到它的瀑布图。下面逐个步骤讲解一下。
Step 1.找到感兴趣的工程
由于所有的 Java 工程都接入了 Dubbo,所以有了服务的注册与发现,也因此天机系统自然而然知道某个工程有多少个节点提供服务。
所以,我们可以在天机的服务调用监控里找到感兴趣的工程。
选择好时间段,我们可以看到这个工程的所有节点调用和被调用情况,如下图所示:
图2 商品中心的调用和被调用情况
Step 2.关注接口响应时长
工程接口的响应时长被我们细分为不同区间:
- 0~200毫秒
- 200~500毫秒
- 500~1秒
- 1~5秒
- 5~10秒
那么,我们优先关注响应时长在 1~5秒 之间的接口,如下图所示:
图3 工程接口被调用时的响应时长统计
Step 3.看 时间-次数 曲线
点击对应的"图表"链接,我们进入服务调用统计图表页面。我们随后选择"1-5s"Tab页,如下图所示,可以看到商品中心 183 节点在6月24日里,接口响应时间在 1秒~5秒 之间的情况:
图4 调用统计图表
看到这里,我们只是知道某个时间点,商品中心有点不正常,但还不知道是哪一个接口不正常。
Step 4.看 时间-次数 曲线
点击上图中的那个红点,从而进入 10点30~10点35 之间接口响应时间在 1秒~5秒 之间的分接口曲线图:
图5 分接口曲线图
这样,我们发现,原来全是 sortGoods 这个方法引发的。
但这还不够。我们还是不知道为什么慢。
Step 5.看散点图
点上图中的那个蓝点,进入 10点30 左右的真实调用散点图,图上的每一个点都代表一个真实的调用:
图6 散点图
Step 6.看瀑布图
点响应时间最大的那个点,进入 10点30 左右、sortGoods 方法响应时间为 1.347 秒的真实调用链的瀑布图:
图7 瀑布图
每一层调用,都可以看到具体参数,如 HostIP、RequestIP、输入参数、SQL语句(假如访问了DB的话)、对缓存是GET还是SET,如果有异常抛出,还能看到堆栈信息。
假如是对 memcached 批量获取,还可以看到具体的 keys 数组,如下图所示:
图8 keys也可以展示
最终,我们找到了 sortGoods 这次调用花了1秒多的原因:
图9 有一个 update 接口操作花了 540 毫秒
那么接下来分析这个方法的代码即可。
如上所示,经过刘奎等同学的努力,天机与鹰眼联手,在没有部门经理、研发经理、工程师的帮助下,我自己就能通过天机系统从宏观看到微观,并最终明确某个性能瓶颈的 Root Cause(当然还不够接触本质)。
这还不够。
还有其他的调用路径分析和调用去向分析场景。以后再讲。
-EOF-
辅助阅读:
延伸阅读:
相关推荐
"布谷鸟算法与电导增量法结合的MPPT仿真:光伏系统中的快速高效追踪技术",光伏MPPT仿真 布谷鸟算法MPPT对照布谷鸟算法结合电导增量法MPPT。 可以看出布谷鸟结合电导增量法,追踪速度更快,波动更小。 ,光伏MPPT仿真;布谷鸟算法MPPT;布谷鸟算法结合电导增量法MPPT;追踪速度;波动,"布谷鸟算法结合电导增量法:提升光伏MPPT仿真追踪效率"
"基于现代控制理论的Buck变换器恒功率负载建模与Simulink仿真实践:亲手搭建与文献参考",恒功率负载下Buck变器的建模与控制simulink仿真文 件 亲手搭建 现代控制理论 附赠参考文献 另有一份word或PDF报告可加价 ,核心关键词:Buck变换器建模;恒功率负载;Simulink仿真;现代控制理论;参考文献;Word或PDF报告。,Buck变换器在恒功率负载下的建模与控制Simulink仿真研究报告
基于Comsol的弱形式求解法:三维光子晶体能带结构研究,Comsol弱形式求解三维光子晶体能带。 ,Comsol;弱形式求解;三维光子晶体;能带,Comsol求解三维光子晶体能带弱形式法
多重法诺共振拟合技术:Comsol方法论及其应用研究,comsol多重法诺共振拟合。 ,comsol; 多重法诺共振; 共振拟合; 拟合方法; 频率分析,COMSOL多重法诺共振拟合技术
第3章 大模型的架构-大语言模型通识(赵建勇).pptx
TDM网主用汇聚节点NE20故障案例分析.pdf
Comsol变压器电路多物理场耦合仿真:磁场、振动规律及固体力学求解,详实学习资料与模型分享,Comsol变压器电路-磁场-振动多物理场耦合仿真,求解了电磁场和固体力学,描述了在磁致伸缩下的变压器铁心的振动规律;提供comsol详细学习资料及模型, ,核心关键词:Comsol变压器电路; 磁场; 振动; 多物理场耦合仿真; 电磁场求解; 固体力学; 磁致伸缩; 变压器铁心振动规律; Comsol学习资料; 模型。,"Comsol仿真:多物理场耦合下的变压器铁心振动规律"
"COMSOL光学仿真中经典平面手性与BIC最大平面效应研究:能带分析、Q因子优化与正斜入射琼斯矩阵透射谱",COMSOL 经典平面手性 光学仿真,BIC 最大平面手性,包含能带,Q因子,正入射斜入射琼斯矩阵透射谱,动量空间(布里渊区)偏振场分布,磁场分布,面上箭头。 ,关键词:COMSOL; 经典平面手性; 光学仿真; BIC; 最大平面手性; 能带; Q因子; 入射(正/斜); 琼斯矩阵透射谱; 动量空间; 布里渊区; 偏振场分布; 磁场分布。,"COMSOL仿真揭示光学平面手性特征:BIC的透射谱与偏振场分布研究"
LianTuYunsetup3-0-6.zip
"FR4介质板,2GHz高增益微带阵列天线,采用HFSS仿真模型,实现高效率低驻波效果",2GHz微带阵列天线,HFSS仿真模型,介质板为FR4,增益4.5dBi,驻波小于1.5。 ,2GHz微带阵列天线; HFSS仿真模型; FR4介质板; 增益4.5dBi; 驻波小于1.5; 关键参数。,2GHz阵列天线:FR4介质板,HFSS仿真,高增益低驻波
电机控制专用集成电路+(PDF格式)
"麦格米特品牌电子凸轮追剪曲线生成算法:跨平台编程语言转换的电机运动控制算法",电子凸轮追剪曲线生成算法。 品牌:麦格米特(算法,理解后可转成其他品牌PLC或任何一种编程语言) 是一种用来控制电机运动的算法,它可以根据给定的剪切曲线生成电子凸轮的运动轨迹。 这种算法可以使用各种编程语言来实现,例如PLC编程语言、C++、Python等。 p ,电子凸轮追剪曲线生成算法; 算法转换; 电机运动控制; 编程语言实现; 麦格米特品牌。,电子凸轮追剪曲线生成算法:跨品牌电机运动控制算法
移相全桥变换器:PI控制与MPC下输出电流模型的预测控制及性能比较仿真研究,移相全桥变器输出电流模型预测控制 输入电压514V,输出电流110A,输出功率由12.1kW突变至24.2kW,输出电流不变,变压器变比2.9 仿真包括PI控制和MPC下输出电流波形对比、移相比变化波形、PI控制和MPC模式切 包括仿真和参考的lunwen ,移相全桥变换器; 输出电流模型预测控制; 输入电压与输出电流; 功率突变; 变压器变比; PI控制; MPC控制; 波形对比; 模式切换; 仿真与参考论文,移相全桥变换器:MPC与PI控制下的输出电流仿真对比研究
NAYUTA:一种基于分组密码的加密算法.pdf
直流电压环境下GIS盆式绝缘子Comsol仿真分析:一种高效模拟方法与应用研究,直流电压下 GIS 盆式绝缘子Comsol仿真 ,直流电压; GIS盆式绝缘子; Comsol仿真,"Comsol仿真直流电压下GIS盆式绝缘子"
人体接近监测
基于分层学习的自适应动态规划.pdf
多种数据补全策略对商超客流量预测影响研究.pdf
"COMSOL仿真超表面复现技术:多级分解通用化模型适配不同形状与阵列研究,视屏演示与模型图示全囊括",comsol仿真超表面复现:多级分解通用,适用各种形状,以下是两篇文献(六面体阵列、圆柱体阵列)的复现都相吻合。 包含视屏讲解及模型,如图所示 ,comsol仿真; 超表面复现; 多级分解通用; 适用各种形状; 六面体阵列复现; 圆柱体阵列复现; 视频讲解; 模型示例。,Comsol仿真超表面复现:多级分解通用法视频讲解与模型展示
内容概要:本文详细介绍了针对 Windows 服务器进行安全配置的最佳实践和基线标准。涵盖的内容包括操作系统的安全基本安装、用户账号口令政策设定、认证授权措施落实、详细的日志记录审计制度、确保协议层面的安全性调整及其他各类增强安全的操作指引。这些基线配置涵盖了从账户管理和密码复杂度到防火墙设置以及自动更新和反病毒保护等多个方面,每一步都有具体的检测方法和评判标准。 适合人群:本文件适用于负责Windows系统的IT专业人员,尤其是服务器管理员及安全维护专员。 使用场景及目标:本文帮助读者评估和部署关键安全配置选项以确保服务器的健壮性与隐私保障能力,具体目标为减少攻击表面,预防潜在威胁,并满足法律法规的要求。此外还包括通过一系列细致入微的规定加强网络防护力度,确保敏感信息不会轻易泄露出去。最终目的是为各机构提供一种系统化的安全框架来进行日常运维。 其他说明:此配置建议不仅涉及硬件和技术层面的问题,还考虑到了物理安全和社会工程学等方面的考量,从而构成了完整的多层次纵深防御策略。它强调了定期审查和调整安全措施的重要性,以适应不断变化的安全态势和技术发展趋势。