分布式追踪:从基础到异步应用的实践
1. 追踪基础与额外练习
在应用特定更改后,我们仍能获得详细的追踪信息。自动插桩添加了名为 “SQL SELECT” 的跨度(span),检查该跨度会发现其标签包含 ORM 框架执行的完整 SQL 查询,例如:
SELECT people.name AS people_name, people.title AS people_title,
people.description AS people_description
FROM people
WHERE people.name = %(param_1)s
还有一个额外练习,它没有具体的代码示例或建议。你可以去探索 OpenTracing 注册表中大量社区贡献的插桩库,检查你应用中使用的框架是否已被支持并进行尝试。若不支持,可运用所学技能贡献新模块;或者联系框架开发者,让他们添加 OpenTracing 插桩并启用追踪。
另一个获取 “额外加分” 的探索方向是尝试使用不同的 OpenTracing 实现来运行相同的 Hello 应用。可以找到与 Zipkin 等其他追踪系统兼容的 OpenTracing 库,免费和商业的都有。练习中只需更改 InitTracer 函数。
追踪插桩涉及从简单注释到进程内上下文传播,再到使用注入/提取追踪点跨进程传输分布式上下文等常见任务。还可以使用行李 API(baggage API)在分布式调用图中传递额外元数据。使用现成的开源插桩库对流行库进行插桩,对应用的更改极小,甚至可以零更改,且这些插桩完全与供应商无关。
超级会员免费看
订阅专栏 解锁全文
38

被折叠的 条评论
为什么被折叠?



