private String getRemoteAddress(TTransport transport) {
        if (transport instanceof SocketFieldAccessor) {
            Socket socket = ((SocketFieldAccessor)transport)._$PINPOINT$_getSocket();
            if (socket == null) {
                return ThriftConstants.UNKNOWN_ADDRESS;
            }
            return ThriftUtils.getHostPort(socket.getRemoteSocketAddress());
        } else {
            if (isDebug) {
                logger.debug("Invalid oprot transport object. Need field accessor({}).", SocketFieldAccessor.class.getName());
            }
        }
        return ThriftConstants.UNKNOWN_ADDRESS;
    }
Starting point for tracing synchronous client calls for Thrift services.
<p>
Note that in order to trace remote agents, trace data must be sent to them. These data are serialized as Thrift fields and attached to the body of the Thrift
message by other interceptors down the chain.
<p>
<b><tt>TServiceClientSendBaseInterceptor</tt></b> -> <tt>TProtocolWriteFieldStopInterceptor</tt>
<p>
Based on Thrift 0.8.0+

@author HyunGil Jeong

@see com.navercorp.pinpoint.plugin.thrift.interceptor.tprotocol.client.TProtocolWriteFieldStopInterceptor TProtocolWriteFieldStopInterceptor
agent-module/plugins/thrift/src/main/java/com/navercorp/pinpoint/plugin/thrift/interceptor/client/TServiceClientSendBaseInterceptor.java