在X-Ray中查看Trace

本节我们将在X-Ray中查看收集上来的Trace信息

在AWS控制台中进入X-Ray服务,点击左侧的servcie map,能看到整个微服务互相交互的概况,PetAdoptionsHistory也在其中:

image-20230824224015735

当点击PetAdoptionsHistory,可以查看它的细节,比如metric信息有responseTime,Requests数量,5xx错误

image-20230824224220262

点击Response time distribution,能看到它的响应时间具体分布,有助力我们了解这个接口整体的响应时间:

image-20230824224547796

点击View traces,能看到所有的trace:

image-20230824224316890

点击跟GET http://servi-petsi-ybzlrxfsjj62-36219333.us-west-2.elb.amazonaws.com/pethistory相关的trace id(有很多health和metric相关的访问,这里我们不关注),可以得知这次访问每个子步骤的细节:

image-20230824224335352

在分布式链路跟踪中,traceid和spanid是两个重要的标识符,用于标识跨越多个服务的请求和操作。
Traceid是一个唯一的标识符,用于标识整个请求链路。当一个请求进入系统时,会生成一个traceid,并在整个请求链路中传递。每个服务都会将自己的spanid添加到traceid中,形成一个树状结构,用于表示整个请求链路。
Spanid是一个标识符,用于标识单个服务中的一个操作。当一个服务接收到一个请求时,会生成一个spanid,并在处理请求的过程中不断更新。每个spanid都包含了一些元数据,如开始时间、结束时间、操作名称等,用于帮助开发人员定位问题。通过traceid和spanid,开发人员可以追踪整个请求链路,并定位问题所在。这对于分布式系统的调试和优化非常重要