Contributor
Guan Wang

Dubbo GSoC 2023 - Go Observability Improvement


Mentors
Albumen Kevin, Jun, zhaoyunxing, HaoGuo, LiujieQin
Organization
Apache Software Foundation
Technologies
prometheus, go, OpenTelemetry
Topics
microservices, observability, RPC
I am proposing an improvement to the observability capabilities of Apache Dubbo-go, a Dubbo implementation written in Golang used to solve communication and governance problems under the microservice architecture. The current implementation of the observability feature is not comprehensive enough and not aligned with Dubbo-java's implementation. My proposal consists of two major improvements, one for metrics and another for tracing. For metrics, the proposed improvements include adding metric instrumentation for the consumer side of RPC calls, as well as for the registry, configuration, metadata centers, and RPC exception handling. For tracing, the proposed improvements include enhancing the configuration loading and component initialization for tracing, adding support for the B3 standard, aligning the configuration with Dubbo-java, and adding support for other observability backends. The deliverables include feature implementation, tests, samples, and documentation.