rajesh created HDDS-17588:
-----------------------------

             Summary: Create tracing proxies for OM components
                 Key: HDDS-17588
                 URL: https://issues.apache.org/jira/browse/HDDS-17588
             Project: Apache Ozone
          Issue Type: Sub-task
            Reporter: rajesh


Wrap OM components with \{{TracingUtil.createProxy(impl, Interface.class, 
SpanKind.INTERNAL)}}, so that every call gets a \{{<ImplClass>.<method>}} span, 
for example \{{OMKeyCreateRequest.validateAndUpdateCache}} or 
\{{KeyManagerImpl.listStatus}}:
* \{{RequestHandler}} (\{{OzoneManagerRequestHandler}}), in the state machine 
and in the server-side translator
* OM client requests, through the new \{{IOMClientRequest}} interface returned 
by \{{OzoneManagerRatisUtils#createClientRequest}}
* \{{KeyManager}}, \{{BucketManager}}, \{{VolumeManager}}, \{{S3SecretManager}} 
and \{{OMMultiTenantManager}}
* \{{IAccessAuthorizer}}

Trivial or very frequently called methods are excluded with \{{@SkipTracing}}.

A JDK dynamic proxy implements only its interface, so the following refactors 
come first (no functional change):
* use the \{{KeyManager}} interface instead of \{{KeyManagerImpl}} casts;
* test read-path datanode sorting through \{{KeyManager#listStatus}};
* move request handler fault injection into a test decorator;
* introduce \{{IOMClientRequest}}.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to