@@ -43,8 +43,8 @@ fn format_host_port(host: &str, port: u16) -> String {
4343
4444#[ derive( Debug , Clone , Copy ) ]
4545pub struct ConnectionTime {
46- pub dns_lookup : std:: time:: Instant ,
47- pub dialup : std:: time:: Instant ,
46+ pub dns_lookup : std:: time:: Duration ,
47+ pub dialup : std:: time:: Duration ,
4848}
4949
5050#[ derive( Debug , Clone ) ]
@@ -698,7 +698,10 @@ impl Client {
698698 self . client_http1 ( & self . url , & mut client_state. rng ) . await ?;
699699 let dialup = std:: time:: Instant :: now ( ) ;
700700
701- connection_time = Some ( ConnectionTime { dns_lookup, dialup } ) ;
701+ connection_time = Some ( ConnectionTime {
702+ dns_lookup : dns_lookup - start,
703+ dialup : dialup - start,
704+ } ) ;
702705 send_request
703706 } ;
704707 while send_request. ready ( ) . await . is_err ( ) {
@@ -709,7 +712,10 @@ impl Client {
709712 self . client_http1 ( & self . url , & mut client_state. rng ) . await ?;
710713 send_request = send_request_;
711714 let dialup = std:: time:: Instant :: now ( ) ;
712- connection_time = Some ( ConnectionTime { dns_lookup, dialup } ) ;
715+ connection_time = Some ( ConnectionTime {
716+ dns_lookup : dns_lookup - start,
717+ dialup : dialup - start,
718+ } ) ;
713719 }
714720 match send_request. send_request ( request) . await {
715721 Ok ( res) => {
@@ -787,6 +793,7 @@ impl Client {
787793 url : & Url ,
788794 rng : & mut R ,
789795 ) -> Result < ( ConnectionTime , SendRequestHttp2 ) , ClientError > {
796+ let start = std:: time:: Instant :: now ( ) ;
790797 if let Some ( proxy_url) = & self . proxy_url {
791798 let http_proxy_version = if self . is_proxy_http2 ( ) {
792799 http:: Version :: HTTP_2
@@ -838,17 +845,35 @@ impl Client {
838845 tokio:: spawn ( conn) ;
839846 let dialup = std:: time:: Instant :: now ( ) ;
840847
841- Ok ( ( ConnectionTime { dns_lookup, dialup } , send_request) )
848+ Ok ( (
849+ ConnectionTime {
850+ dns_lookup : dns_lookup - start,
851+ dialup : dialup - start,
852+ } ,
853+ send_request,
854+ ) )
842855 } else {
843856 let send_request = stream. handshake_http2 ( ) . await ?;
844857 let dialup = std:: time:: Instant :: now ( ) ;
845- Ok ( ( ConnectionTime { dns_lookup, dialup } , send_request) )
858+ Ok ( (
859+ ConnectionTime {
860+ dns_lookup : dns_lookup - start,
861+ dialup : dialup - start,
862+ } ,
863+ send_request,
864+ ) )
846865 }
847866 } else {
848867 let ( dns_lookup, stream) = self . client ( url, rng, self . http_version ) . await ?;
849868 let send_request = stream. handshake_http2 ( ) . await ?;
850869 let dialup = std:: time:: Instant :: now ( ) ;
851- Ok ( ( ConnectionTime { dns_lookup, dialup } , send_request) )
870+ Ok ( (
871+ ConnectionTime {
872+ dns_lookup : dns_lookup - start,
873+ dialup : dialup - start,
874+ } ,
875+ send_request,
876+ ) )
852877 }
853878 }
854879
0 commit comments