链路查看器¶
简介¶
在观测云控制台,您可以在应用性能监测的链路,查看全部链路数据。您可以搜索、筛选、导出链路数据,查看链路详情并通过火焰图、Span 列表等对链路性能进行全量分析,无论是同步或异步的调用,都能够清晰追踪每一个链路性能的数据细节。
链路列表¶
观测云提供三种链路查看列表,分别为所有 Span、服务顶层 Span 和所有 Trace。
Span 表示给定时间段内分布式系统中的逻辑工作单元,多个 Span 会构成一条链路轨迹(trace)。
链路查询和分析¶
时间控件¶
链路查看器默认展示最近 15 分钟的数据,您也可以自定义数据展示的时间范围。
搜索与筛选¶
在链路查看器搜索栏,支持多种搜索方式和筛选方式。
注意:当您切换查看服务或链路查看器时,观测云默认为您保留当前的筛选条件和时间范围。
分析模式¶
在链路查看器分析栏,您可以基于 1-3 个标签进行多维度分析统计,并支持多种数据图表分析方式。
快捷筛选¶
在链路查看器快捷筛选,支持编辑快捷筛选,添加新的筛选字段。
筛选历史¶
观测云支持在筛选历史保存查看器 key:value
的搜索条件历史,应用于当前工作空间不同的查看器。
图表统计¶
在链路查看器图表统计,您可以查看所选时间范围内链路不同状态的请求数、Error 请求数、响应时间,您可以通过筛选同步展示图表统计。
- 请求数/Error 请求数:根据所选时间范围划分为 60 个时间点,用柱状图统计展示链路的请求数以及 Error 请求数。
- 响应时间:根据所选时间范围划分为 60 个时间点,用折线图统计展示四个响应指标,分别为每秒平均响应时间、P75 响应时间、P90 响应时间以及P99 响应时间
自定义显示列¶
在链路列表,默认查看时间、链路 ID、服务、资源以及持续时间,可通过 显示列 自定义添加、编辑、删除、拖动显示列。
链路数据导出¶
在链路查看器,在筛选出想要的链路数据导出后进行查看和分析后,您可以导出到 CSV 文件或者场景仪表板和笔记。
如果需要导出某条数据,打开该条数据详情页,点击右上角 图标即可。
保存快照¶
观测云支持查看历史快照直接保存当前查看器的快照数据,通过快照功能,您可以快速复现即时拷贝的数据副本,将数据恢复到某一时间点和某一数据展示逻辑。
链路详情¶
在链路查看器,您可以通过点击任意链路查看对应的链路详情,包括当前链路发生的时间、持续时间、HTTP 方法、HTTP URL 、HTTP 状态码、TraceId、火焰图、Span 列表、服务调用关系以及关联的日志、主机、指标、网络等等。
若当前的链路属于前端应用(如:browser),您可以在链路详情查看请求耗时分布,包括 Queueing(队列)、First Byte(首包)、Download(下载)的请求耗时占比。
火焰图¶
火焰图可清晰展示整条链路中每个 Span 的流转和执行时间。你可以在火焰图右侧查看对应的服务列表及响应时间。点击火焰图的 Span,在链路详情可查看对应的 Json 内容,通过鼠标滚轴缩放可查看具体 Span 信息。
更多火焰图的应用详情,可参考巧用火焰图分析链路性能。
从上图的火焰图可以看出,此次调用链路包含了两个服务,分别为 CloudCare 和 Mysql,链路从发起 CloudCare 服务的 POST 请求开始,然后执行 ActionResource.executeAction
,最后执行 Mysql 语句,在执行 ActionResource.executeAction
的整个过程中,多次执行 Mysql 语句。CloudCare 和 Mysql 的执行时间计算方式分别为:
- CloudCare 服务的执行时间 = D1+D2+D3+D4+D5+D6+D7+D8+D9+D10+D11
- Mysql 服务的执行时间 = span2+span3+......+span11
具体执行的语句和执行时间详情可以参考 Span 列表。
火焰图中的服务执行时间占比是指这一次调用链路各个服务占总时间的比率。以下图为例,此次调用链路包含了两个服务,分别为 CloudCare 和 Mysql,执行时间占比分别为 42.37% 和 57.63%。CloudCare 服务有 2 个 Span,Mysql 服务有 10 个 Span。
- Mysql 服务执行时间占比计算方式:所有span执行时间相加/当前调用链路总时长。
计算方式说明:下图中 Mysql 服务总共有10个 Span 数量,可以点击每一个 Span 来获取当前 Span 的执行时间,从图中可以看出,该 Span 的执行时间为 5.08ms,然后以同样的方式,获取剩余 9 个 Span 的执行时间并相加。
- CloudCare 服务执行时间占比计算方式:(当前调用链路总时长-mysql服务执行时间)/当前调用链路总时长
计算方式说明:下图中 CloudCare 服务贯穿在当前整个调用链路中,除了mysql服务的执行时间,剩余的时间即为 CloudCare 服务的执行时间(见标红线部分的执行时间)。执行时间占比也可以直接通过 Span 列表来查看每条 Span 的执行时间和执行时间占比。
Span 列表¶
展示该条链路中所有的 Span 列表及其总的 Span 数量,包括资源名、Span 数量、持续时间、执行时间以及执行时间占比。
您可以搜索 Span,点击任一 Span,在链路详情可查看对应的 JSON 内容,切换到火焰图同步展示 Span。若有错误,在 Span 前显示错误提示。
瀑布图¶
在 Span 列表,点击 即可查看各个资源之间的父子关系。
瀑布图按照开始时间先后显示 Span 数据。在左侧列表展示 Span 数据,并展示每个资源的执行时间占比。右侧则按照时间先后显示瀑布图。
您还可以在 🔍栏 搜索 Span。资源(resource
)字段模糊搜索结果会高亮显示。
服务调用关系¶
服务调用关系用来查看各个“服务-资源”之间的调用关系,支持通过 service
、resource
字段搜索筛选查看相关服务调用关系。
快捷操作¶
操作 | 说明 |
---|---|
全屏查看/恢复默认大小 | 您可以点击链路详情右上角全屏查看图标 ,横向展开查看链路火焰图;点击恢复默认大小图标 ,即可恢复详情页。 |
展开/收起小地图 | 您可以点击链路详情左侧展开/收起小地图图标 ,通过在小地图上选择区间、拖拽、滚动来快捷查看火焰图。 |
查看全局 Trace | 您可以点击链路详情左侧查看全局 Trace 图标 ,在火焰图查看全局链路。 |
双击 Span | 在火焰图中间放大展示该 Span,您可以快速定位查看其上下文关联 Span。 |
点击服务名称 | 高亮展示对应 Span,再次点击服务名称,恢复默认全选 Span,您可以通过点击服务名称,快速筛选查看服务对应的 Span。 |
扩展属性¶
在搜索栏,可输入字段名称或值快速搜索定位;
勾选字段别名后,可在字段名后查看;您可按需选择。
在链路详情页,你可以在扩展属性查看当前链路的相关字段属性:
字段 | 属性 |
---|---|
筛选字段值 | 即添加该字段至查看器,查看与该字段相关的全部数据,可在链路查看器筛选查看该字段相关的链路列表。见图一。 |
反向筛选字段值 | 即添加该字段至查看器,查看除了该字段以外的其他数据。 |
添加到显示列 | 即添加该字段到查看器列表进行查看。 |
复制 | 即复制该字段至剪贴板。 |
部分字段不支持筛选聚合等相关逻辑
观测云存在部分字段采用全文索引,这部分字段不支持您做筛选聚合等相关逻辑。全文索引字段范围如下:
分类 | 字段 |
---|---|
对象、自定义对象 | message |
日志、备份日志 | message |
安全 | message / title |
网络 | message |
链路 | error_message / error_stack |
事件 | message / title / df_message / df_title |
RUM 错误 | error_message / error_stack |
RUM 长任务 | long_task_message / long_task_stack |
图一
错误详情¶
在链路详情页,若存在错误链路,即可查看相关的错误详情。
更多错误链路分析,可参考文档 错误追踪。
关联分析¶
在链路详情页,您可以通过日志查看基于当前链路关联的日志(关联字段:trace_id
)。您可以对日志进行关键字搜索和多标签筛选,日志内容默认按照日志查看器的最大显示行数、显示列的配置展示,您可以自定义显示列,若您需要查看更详细的日志内容,可以点击日志内容跳转到日志详情页面,或点击跳转按钮到日志页打开。
若您是管理员及以上权限,您可以自定义关联字段。点击关联字段右侧的设置按钮,在弹出的对话框中选择需要关联的字段,支持手动输入、拖拽顺序等操作,确认即可完成配置。
当应用程序使用 ddtrace 采集器同时开启了 APM 链路追踪和 Profile 性能追踪数据采集后,观测云提供 Span 级别的关联查看分析。在链路详情页,您可以点击火焰图下方的代码热点,查看当前链路关联的代码热点,包括执行耗时、方法以及执行时间占比。
点击查看 Profile 详情,可以跳转到 Profile 详情页查看更多的关联代码。
在链路详情页,您可以通过主机,查看相关主机的指标视图和属性视图(关联字段:host
)。
- 指标视图:可查看相关主机在该链路结束前30分钟到链路结束后 30 分钟内的性能指标状态,包括相关主机的 CPU、内存等性能指标视图。
- 属性视图:帮助您回溯链路产生时主机对象的真实情况,支持查看相关主机在对应时间内产生的最新的一条对象数据,包括主机的基本信息、集成运行情况。若开启云主机的采集,还可查看云厂商的信息。
注意:观测云默认保存主机对象最近 48 小时的历史数据。未找到当前链路时间对应的主机历史数据时,您将无法查看关联主机的属性视图。
在链路详情页,您可以通过容器,查看相关容器的指标视图和属性视图(关联字段:container_name
)。
-
指标视图:支持查看相关容器在该链路结束前30分钟到链路结束后 30 分钟的性能指标状态,包括容器 CPU、内存等性能指标视图。
-
属性视图:帮助您回溯链路产生时容器对象的真实情况,支持查看相关容器在对应时间内产生的最新的一条对象数据,包括容器的基本信息、属性信息。
在链路详情页,您可以通过 Pod,查看相关 Pod 的属性视图和指标视图(关联字段:pod_name
)。
-
指标视图:支持查看相关容器 Pod 在该链路结束前 30 分钟到链路结束后 30 分钟的性能指标状态,包括容器 CPU、内存等性能指标视图。
-
属性视图:帮助您回溯链路产生时容器 Pod 对象的真实情况,支持查看相关容器 Pod 在对应时间内产生的最新的一条对象数据,包括容器的基本信息、属性信息。
观测云支持您通过详情页下方的网络,查看 48 小时内的网络数据连接情况。包括 Host 、Pod 、Deployment 和 Service。
匹配字段:
在详情页中查看相关网络,需要匹配对应的关联字段,即在数据采集的时候需要配置对应的字段标签,否则无法在详情页中匹配查看关联的网络视图。
- Host:匹配字段
host
,支持点击右侧的复制按钮复制关联字段及其值。 - Pod:匹配字段如下,支持点击右侧的复制按钮复制关联字段及其值。
匹配字段优先级 |
---|
namespace、pod_name |
namespace、pod |
pod_name |
pod |
- Deployment:匹配字段如下,支持点击右侧的复制按钮复制关联字段及其值。
匹配字段优先级 |
---|
namespace、deployment_name |
namespace、deployment |
deployment_name |
deployment |
- Service:匹配字段如下,支持点击右侧的复制按钮复制关联字段及其值。
匹配字段优先级 |
---|
namespace、service_name |
namespace、service |
Attention
- 若同时查询到 Host、Pod、Deployment、Service 的关联字段,进入详情页时则按照此顺序显示网络数据;
- 若未查询到关联字段,则排在末端显示为灰色,点击提示未匹配到网络视图。