Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
getinfo: add microsecond precise timers for various intervals
Provide a set of new timers that return the time intervals using integer number of microseconds instead of floats. The new info names are as following: CURLINFO_APPCONNECT_TIME_T CURLINFO_CONNECT_TIME_T CURLINFO_NAMELOOKUP_TIME_T CURLINFO_PRETRANSFER_TIME_T CURLINFO_REDIRECT_TIME_T CURLINFO_STARTTRANSFER_TIME_T CURLINFO_TOTAL_TIME_T Closes #2495
- Loading branch information
1 parent
c5fe868
commit ce2140a
Showing
23 changed files
with
585 additions
and
56 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
.\" ************************************************************************** | ||
.\" * _ _ ____ _ | ||
.\" * Project ___| | | | _ \| | | ||
.\" * / __| | | | |_) | | | ||
.\" * | (__| |_| | _ <| |___ | ||
.\" * \___|\___/|_| \_\_____| | ||
.\" * | ||
.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al. | ||
.\" * | ||
.\" * This software is licensed as described in the file COPYING, which | ||
.\" * you should have received as part of this distribution. The terms | ||
.\" * are also available at https://curl.haxx.se/docs/copyright.html. | ||
.\" * | ||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell | ||
.\" * copies of the Software, and permit persons to whom the Software is | ||
.\" * furnished to do so, under the terms of the COPYING file. | ||
.\" * | ||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
.\" * KIND, either express or implied. | ||
.\" * | ||
.\" ************************************************************************** | ||
.\" | ||
.TH CURLINFO_APPCONNECT_TIME_T 3 "28 Apr 2018" "libcurl 7.61.0" "curl_easy_getinfo options" | ||
.SH NAME | ||
CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed | ||
.SH SYNOPSIS | ||
#include <curl/curl.h> | ||
|
||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME_T, curl_off_t *timep); | ||
.SH DESCRIPTION | ||
Pass a pointer to a curl_off_t to receive the time, in microseconds, | ||
it took from the | ||
start until the SSL/SSH connect/handshake to the remote host was completed. | ||
This time is most often very near to the \fICURLINFO_PRETRANSFER_TIME_T(3)\fP | ||
time, except for cases such as HTTP pipelining where the pretransfer time can | ||
be delayed due to waits in line for the pipeline and more. | ||
|
||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. | ||
.SH PROTOCOLS | ||
All | ||
.SH EXAMPLE | ||
.nf | ||
curl = curl_easy_init(); | ||
if(curl) { | ||
curl_off_t connect; | ||
curl_easy_setopt(curl, CURLOPT_URL, url); | ||
res = curl_easy_perform(curl); | ||
if(CURLE_OK == res) { | ||
res = curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME_T, &connect); | ||
if(CURLE_OK == res) { | ||
printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", connect / 1000000, | ||
(long)(connect % 1000000)); | ||
} | ||
} | ||
/* always cleanup */ | ||
curl_easy_cleanup(curl); | ||
} | ||
.fi | ||
.SH AVAILABILITY | ||
Added in 7.61.0 | ||
.SH RETURN VALUE | ||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. | ||
.SH "SEE ALSO" | ||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_APPCONNECT_TIME "(3)" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
.\" ************************************************************************** | ||
.\" * _ _ ____ _ | ||
.\" * Project ___| | | | _ \| | | ||
.\" * / __| | | | |_) | | | ||
.\" * | (__| |_| | _ <| |___ | ||
.\" * \___|\___/|_| \_\_____| | ||
.\" * | ||
.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al. | ||
.\" * | ||
.\" * This software is licensed as described in the file COPYING, which | ||
.\" * you should have received as part of this distribution. The terms | ||
.\" * are also available at https://curl.haxx.se/docs/copyright.html. | ||
.\" * | ||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell | ||
.\" * copies of the Software, and permit persons to whom the Software is | ||
.\" * furnished to do so, under the terms of the COPYING file. | ||
.\" * | ||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
.\" * KIND, either express or implied. | ||
.\" * | ||
.\" ************************************************************************** | ||
.\" | ||
.TH CURLINFO_CONNECT_TIME_T 3 "28 Apr 2018" "libcurl 7.61.0" "curl_easy_getinfo options" | ||
.SH NAME | ||
CURLINFO_CONNECT_TIME_T \- get the time until connect | ||
.SH SYNOPSIS | ||
#include <curl/curl.h> | ||
|
||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME_T, curl_off_t *timep); | ||
.SH DESCRIPTION | ||
Pass a pointer to a curl_off_t to receive the total time in microseconds | ||
from the start until the connection to the remote host (or proxy) was completed. | ||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. | ||
.SH PROTOCOLS | ||
All | ||
.SH EXAMPLE | ||
.nf | ||
curl = curl_easy_init(); | ||
if(curl) { | ||
curl_off_t connect; | ||
curl_easy_setopt(curl, CURLOPT_URL, url); | ||
res = curl_easy_perform(curl); | ||
if(CURLE_OK == res) { | ||
res = curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME_T, &connect); | ||
if(CURLE_OK == res) { | ||
printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", connect / 1000000, | ||
(long)(connect % 1000000)); | ||
} | ||
} | ||
/* always cleanup */ | ||
curl_easy_cleanup(curl); | ||
} | ||
.fi | ||
.SH AVAILABILITY | ||
Added in 7.61.0 | ||
.SH RETURN VALUE | ||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. | ||
.SH "SEE ALSO" | ||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_CONNECT_TIME "(3)" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.