链路跟踪
Kitex 提供接口支持自定义 Tracer 和追踪事件。
背景
Kitex 提供接口,允许开发者通过扩展实现,选择合适的工具来适应他们的监控生态,用户可以轻松地在微服务架构中实现请求的全链路监控。这样的监控对于调试、性能分析以及故障排查是至关重要的。
自定义 Tracer
框架提供了 Tracer 接口,可以实现该接口来自定义 Tracer :
type Tracer interface {
Start(ctx context.Context) context.Context
Finish(ctx context.Context)
}
详细文档请阅读 监控拓展 章节。
自定义跟踪事件
Kitex 提供了一些默认的跟踪事件,例如 RPC 调用开始、RPC 调用结束等,有关内置的跟踪事件请参考 埋点 章节。除此之外,也可以手动添加更多的追踪数据,以收集更详细的链路信息。跟踪事件通过创建和结束 span 来记录,可以使用对应组件的原生 API 来完成。
以 OpenTelemetry 为例,可以这样使用:
ctx, span := otel.Tracer("client").Start(ctx, "root")
defer span.End()
更多内容请参考:OpenTelemetry Creating Spans。
最后修改
February 13, 2025
: docs: update eino doc lambda_guide.md (#1239) (b2524e2)