code: func TraceRequest(ctx context.Context, name string, req *http.Request) (context.Context, *Trace) {
  	tx := NewRequestTx(name, req.URL.String())
  	ctx = WithTx(ctx, tx)
  	err := tx.Start()
  
  	return ctx, &Trace{
  		err: err,
  		done: func() error {
  			return tx.End()
  		},
  	}
  }
docs: // TraceReqest traces an http request. It returns a new context with the transaction
  // included in it, and a trace object.
  //
  // Usage:
  //
  //     ctx, t := TraceRequest(ctx, name, req)
  //     defer t.Done()