def __init__(self, *args, **kwargs):
     ThriftClient.__init__(self, *args, **kwargs)
     self.trace_context = thread_storage.getTraceContext()
     self.client_ip = socket.gethostbyname(socket.gethostname())
     self.protocol = TMiloProtocol(self.transport)
     self.client_ = self.service.Client(self.protocol)
     self.client_.transport = self.transport
    def handle(self, client):
        itrans = self.inputTransportFactory.getTransport(client)
        otrans = self.outputTransportFactory.getTransport(client)
        iprot = self.inputProtocolFactory.getProtocol(itrans)
        oprot = self.outputProtocolFactory.getProtocol(otrans)

        try:
            while True:
                start_time = time.time() * 1000000
                self.processor.process(iprot, oprot)
                end_time = time.time() * 1000000

                tctx = thread_storage.getTraceContext()
                if tctx.isEnabled():
                    name = span_util.createSpanName(self.service_name, \
                                                    tctx.getRPCMethod())
                    span = span_util.createSpan(name, tctx.getTraceID(), \
                                                tctx.getSpanID(), tctx.getSpanParentID())
                    span.server_host = self.server_ip
                    span.events = [span_util.createEvent(start_time, EventType.SERVER_RECV), \
                                   span_util.createEvent(end_time, EventType.SERVER_SEND)]

                    if self.debug:
                        logging.debug(span)

                    tctx.addSpan(span)
                    self.logSpans(tctx)

        except TTransport.TTransportException, tx:
            pass
 def __init__(self, trans):
   TBinaryProtocol.__init__(self, trans)
   self.strictRead = False
   self.strictWrite = True
   self.trace_context = getTraceContext()