Elek, Marton created HDDS-1154:
----------------------------------
Summary: Add tracing to the client side of
StorageContainerLocationProtocol and OzoneManagerProtocol
Key: HDDS-1154
URL: https://issues.apache.org/jira/browse/HDDS-1154
Project: Hadoop Distributed Data Store
Issue Type: Sub-task
Reporter: Elek, Marton
Assignee: Elek, Marton
The best way to display the network performance in the tracing server is to
start a new span (=save tracing information) on both of the client and and
server side.
This issue is about improving the client side tracing of OzoneManager and
StorageLocationManager.
The easiest way to turn on tracing for a class which implements an interface is
to create a java proxy with TracingUtil.createProxy. With this utility we can
execute the required tracing methods (create span/close span) around the
original methods without adding any boilerplate code.
Thanks to the current design hadoop rpc calls are create by the
*ClientSideTranslatorPB classes which implements the original protocol
interface (eg. StorageContainerLocationProtocolClientSideTranslatorPB
implements StorageContainerLocationProtocol) which means that it can easily
instrumented by TracingUtil.createProxy.
The only thing what we need is to use the interface everywhere
(StorageContainerLocationProtocol) instead of the implementation
(ClientSideTranslator) as a client.
The only required method which is not published in the ClientSideTranslator is
the close method. With adding the close method to the interface (extends
Closable) we are able to use the interface everywhere which can be instrumented
to send the tracing information.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]