@Override public void activateObject(ThriftClientKey key, PooledObject<TServiceClient> p) throws Exception { super.activateObject(key, p); ThriftClientPooledObject<TServiceClient> pooledObject = (ThriftClientPooledObject<TServiceClient>) p; Span span = this.tracer .nextSpan() .name(key.getServiceName()) .kind(Span.Kind.CLIENT) .start(); pooledObject.setSpan(span); TTransport transport = pooledObject.getObject().getOutputProtocol().getTransport(); injectTraceHeaders(span, transport); }