GoFrame 实现了标准化的分布式链路跟踪( Distributed Tracing)特性。
📄️ 链路跟踪-背景知识
OpenTelemetry项目的背景和重要概念,包括TracerProvider、Tracer、Span、Attributes、Events、SpanContext和Propagator等组件,并说明了GoFrame框架在这些技术上的支持,以及如何使用gtrace模块实现链路跟踪。此外,还列举了支持OpenTelemetry标准的GoFrame核心组件,如HTTP客户端、HTTP服务端、gRPC客户端和服务端、Logging、ORM和NoSQL Redis等。
📄️ 链路跟踪-准备工作
介绍在 GoFrame 框架中使用 Jaeger 实现链路追踪的准备工作。包括 Jaeger 的基本介绍和快速部署方法(使用 Docker all-in-one 镜像)、GoFrame 框架中示例代码的位置、以及已封装好的 Jaeger、OTLP HTTP、OTLP GRPC 注册模块的使用方法,帮助开发者快速搭建 OpenTelemetry 分布式链路追踪环境。
📄️ 链路跟踪-基本示例
介绍如何在单进程中使用GoFrame进行链路跟踪。通过创建Root Span来追踪方法调用链,展示如何使用gtrace.NewSpan在方法间创建Span记录方法调用过程。详细的示例代码演示了main函数创建root span、GetUser/GetInfo/GetDetail/GetScores等方法间的span调用关系和context传递。最后在Jaeger UI中查看链路追踪结果,包括span的调用顺序、调用关系、执行时间轴、Attributes和Events信息,帮助用户快速定位系统异常和发现性能瓶颈。
🗃️ 链路跟踪-HTTP示例
2 个项目
📄️ 链路跟踪-GRPC示例
使用GoFrame框架开发一个简单的GRPC服务端和客户端,并为GRPC微服务增加链路跟踪特性。示例代码说明了如何初始化Jaeger,用Redis适配器实现缓存,以及在客户端与服务端间进行链路信息传递。
🗃️ 链路跟踪-最佳实践
1 个项目