系统为了接收并处理一个请求,需要多个网络设备和应用协同工作,单个请求会引发不同应用之间产生一串顺序性的调用关系。一个完整的请求链路就是一个Trace,TraceId将整条链路的各个节点进行关联。
APP监控构建一套完整的从APP端到后端的应用系统端到端监控体系,实现问题的快速发现与定位。通过TraceId关联服务端的监控数据,您可以观察APP网络请求调用的完整链路流程。
APMPlus不仅支持客户端与APMPlus的服务端监控打通来实现全链路监控,还支持通过设置您自己的TraceId和业务的服务端监控打通,实现全链路监控。
添加以下代码,在初始化SDK时设置TraceId的key,开启全链路监控。
Android客户端接入代码
ApmInsightInitConfig.Builder builder = ApmInsightInitConfig.builder(); builder.setNetTraceId("xxx");//开启全链路监控,网络监控会从业务网络请求response的header里,获取key为xxx的值,即业务自己的traceid,并上报后在平台展示,业务可以通过traceid去自己的后端监控查询具体链路。 ApmInsight.getInstance().init(context, builder.build());
iOS客户端接入代码
#import <RangersAPM+NetworkPro.h> [RangersAPM setTraceIDKey:@"trace_id_key"];
开启全链路监控后,APMPlus SDK的网络监控会从业务网络请求response的header里获取key的值,即业务自己的TraceId,并随网络监控数据上报。
在APMPlus控制台的网络监控页面获取TraceId。
在服务端监控系统,查询当前网络请求在服务端的链路和耗时。