Skip to content

Conversation

FAWC438
Copy link

@FAWC438 FAWC438 commented Dec 26, 2023

What is the purpose of the change

This PR is to fix some problems about dynamic proxies in PR #11138

The dynamic proxy solution used in the previous PR has problems with backward compatibility.

In order to solve this problem, this PR turns to inheritance or interface implementation to complete the OpenTelemetry trace packaging of the client's main logic class.

Fix issue #10377

Brief changelog

  • Config
    • ClientWorkerTraceDelegate: Delegate the ClientWorker by inheritance
    • ConfigRpcTransportClientProxyTraceDelegate: Delegate the ConfigRpcTransportClient by implementing ConfigRpcTransportClientProxy since ConfigRpcTransportClient is an anonymous inner class
    • ServerHttpAgentTraceDelegate: Delegate the ServerHttpAgent by inheritance
  • Naming
    • NamingClientProxyTraceDelegate: Delegate all the NamingClientProxy interface
    • NamingGrpcRedoServiceTraceDelegate: Delegate the NamingGrpcRedoService by inheritance

Verifying this change

Unit tests are provided for all delegate classes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants