Skip to content

Instantly share code, notes, and snippets.

@ev1lQuark
Created August 27, 2023 13:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ev1lQuark/7cb8c9fb32bc36fd73b70f0a2037656b to your computer and use it in GitHub Desktop.
Save ev1lQuark/7cb8c9fb32bc36fd73b70f0a2037656b to your computer and use it in GitHub Desktop.
Dubbo GSoC 2023 - Go Observability Improvement Work Summary

Repository worked on

https://github.com/apache/dubbo-go

Pull Request Links

Tip

Hignlighted PRs are the most important ones.

Completed Individual Work

Collaborative Work with Community

Completed Work

Metrics

  • Metrics instrumentation in these parts:
    • Provider and Consumer in RPC
    • Config Center
    • Registry Center
    • Metadata Center
  • Refactor metrics module in event-based pattern
  • Optimize configuration loading of metrics module

Tracing

  • Simplify the initialization process of the tracing module, by configuration instead of programming
  • Support more tracing exporters, include stdout, Jaeger, Zipkin, and Otlp(a bug to be fixed)
  • Support for the W3C standand and the B3 standard of context propagation
  • Allow user to config sampling probability to achieve a more refined sampling strategy

Pending Work

The metrics instrumentation for RPC Exceptions has not been completed yet.

Reason: Dubbo-go supports configuring multiple protocols for RPC communication, and different protocols define different RPC Exceptions. Dubbo has established a unified aspect for handling RPC exceptions, facilitating the metrics tracking work. However, Dubbo-go has not yet formed a unified handling layer, so prior to implementing metrics instrumentation for RPC Exceptions, a comprehensive review of the exception handling aspect related to the communication protocols supported by Dubbo-go is required. This involves abstracting a handling aspect, which must be developed before this part of the work can be accomplished.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment