When build a request and call TraceRequest(), two spans will be recorded, a root span and a child span, so why we use two spans to trace one request?