[ 
https://issues.apache.org/jira/browse/HDDS-1154?focusedWorklogId=201835&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-201835
 ]

ASF GitHub Bot logged work on HDDS-1154:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 21/Feb/19 09:57
            Start Date: 21/Feb/19 09:57
    Worklog Time Spent: 10m 
      Work Description: elek commented on issue #507: HDDS-1154. Add tracing to 
the client side of StorageContainerLocationProtocol and OzoneManagerProtocol
URL: https://github.com/apache/hadoop/pull/507#issuecomment-465936555
 
 
   How to test it (after a clean build):
   
   ```
   cd hadoop-ozone/dist/target/ozone-0.4.0-SNAPSHOT/compose/ozonetrace
   docker-compose up -d
   docker-compose scale datanode=3
   #wait a few seconds
   docker-compose exec scm ozone freon rk --numOfKeys=10 --numOfBuckets=10 
--numOfVolumes=10 --factor=THREE --replicationType=RATIS
   ```
   1. Check the jaeger ui from the browser: http://localhost:16686
   2. Choose 'freon' in the 'service' drop down
   3. Click to the 'find traces' button
   4. Click to a 'creon: createKey' record from the results
   
   After this patch you should see the client/server side of the related calls:
   
   eg. 
    * freon: StorageContainerLocationProtocol.getContainerIdWithPipeline
     * StorageContainerManager.getContainerWithPipeline
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 201835)
    Time Spent: 20m  (was: 10m)

> 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
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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]

Reply via email to