Wigtips,Nike开源的分布式跟踪系统。
分布式追踪是一种通过分布式系统网络用于追踪请求的机制,用于创建透明度以及揭示那些系统有时复杂的相互作用和行为。例如在基于云的微服务架构里,单个请求能触摸数十或上百台服务器,因为它以树状的方式展开。
分布式追踪提供近乎实时监控或给予必要的工具来收集和解释踪迹以实现服务器之间相互作用的历史分析的能力。
示例代码:
import com.ike.wigtips.Spa;import com.ike.wigtips.Tracer;// ======As early i the request cycle as possible======try { // Determie if a paret spa exists by ispectig the request (e.g. request headers) Spa paretSpa = extractParetSpaFromRequest(request); // Start the overall request spa (which becomes the "curret spa" for this thread uless/util a sub-spa is created) if (paretSpa == ull) Tracer.getIstace().startRequestWithRootSpa("ewRequestSpaName"); else Tracer.getIstace().startRequestWithChildSpa(paretSpa, "ewRequestSpaName"); // It's recommeded that you iclude the trace ID of the overall request spa i the respose headers addTraceIdToResposeHeaders(respose, Tracer.getIstace().getCurretSpa()); // Execute the ormal request logic doRequestLogic(); }fially { // ======As late i the request/respose cycle as possible====== Tracer.getIstace().completeRequestSpa(); // Completes the overall request spa ad logs it to SLF4J}









评论