aboutsummaryrefslogtreecommitdiff
path: root/docs/examples
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2018-05-17 13:37:36 +0200
committerDaniel Stenberg <daniel@haxx.se>2018-05-17 13:41:04 +0200
commitce2140a8c12299f17bee406bad374e310daa94ed (patch)
treed762462ea05f6187ad9e00468b2087ffb2fd80a0 /docs/examples
parentc5fe86804cce21db3b9902a44ea8903b3b211db0 (diff)
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
Diffstat (limited to 'docs/examples')
-rw-r--r--docs/examples/chkspeed.c26
-rw-r--r--docs/examples/fileupload.c12
-rw-r--r--docs/examples/progressfunc.c11
3 files changed, 28 insertions, 21 deletions
diff --git a/docs/examples/chkspeed.c b/docs/examples/chkspeed.c
index f3dd1e944..0b0ba72a0 100644
--- a/docs/examples/chkspeed.c
+++ b/docs/examples/chkspeed.c
@@ -165,33 +165,37 @@ int main(int argc, char *argv[])
res = curl_easy_perform(curl_handle);
if(CURLE_OK == res) {
- double val;
+ curl_off_t val;
/* check for bytes downloaded */
- res = curl_easy_getinfo(curl_handle, CURLINFO_SIZE_DOWNLOAD, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_SIZE_DOWNLOAD_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Data downloaded: %0.0f bytes.\n", val);
+ printf("Data downloaded: %" CURL_FORMAT_CURL_OFF_T " bytes.\n", val);
/* check for total download time */
- res = curl_easy_getinfo(curl_handle, CURLINFO_TOTAL_TIME, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_TOTAL_TIME_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Total download time: %0.3f sec.\n", val);
+ printf("Total download time: %" CURL_FORMAT_CURL_OFF_T ".%06ld sec.\n",
+ (val / 1000000), (long)(val % 1000000));
/* check for average download speed */
- res = curl_easy_getinfo(curl_handle, CURLINFO_SPEED_DOWNLOAD, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_SPEED_DOWNLOAD_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Average download speed: %0.3f kbyte/sec.\n", val / 1024);
+ printf("Average download speed: %" CURL_FORMAT_CURL_OFF_T
+ " kbyte/sec.\n", val / 1024);
if(prtall) {
/* check for name resolution time */
- res = curl_easy_getinfo(curl_handle, CURLINFO_NAMELOOKUP_TIME, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_NAMELOOKUP_TIME_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Name lookup time: %0.3f sec.\n", val);
+ printf("Name lookup time: %" CURL_FORMAT_CURL_OFF_T ".%06ld sec.\n",
+ (val / 1000000), (long)(val % 1000000));
/* check for connect time */
- res = curl_easy_getinfo(curl_handle, CURLINFO_CONNECT_TIME, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_CONNECT_TIME_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Connect time: %0.3f sec.\n", val);
+ printf("Connect time: %" CURL_FORMAT_CURL_OFF_T ".%06ld sec.\n",
+ (val / 1000000), (long)(val % 1000000));
}
}
else {
diff --git a/docs/examples/fileupload.c b/docs/examples/fileupload.c
index 6b05c4cec..8128608c4 100644
--- a/docs/examples/fileupload.c
+++ b/docs/examples/fileupload.c
@@ -33,7 +33,7 @@ int main(void)
CURL *curl;
CURLcode res;
struct stat file_info;
- double speed_upload, total_time;
+ curl_off_t speed_upload, total_time;
FILE *fd;
fd = fopen("debugit", "rb"); /* open file to upload */
@@ -72,11 +72,13 @@ int main(void)
}
else {
/* now extract transfer info */
- curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &speed_upload);
- curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &total_time);
+ curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD_T, &speed_upload);
+ curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &total_time);
- fprintf(stderr, "Speed: %.3f bytes/sec during %.3f seconds\n",
- speed_upload, total_time);
+ fprintf(stderr, "Speed: %" CURL_FORMAT_CURL_OFF_T " bytes/sec during %"
+ CURL_FORMAT_CURL_OFF_T ".%06ld seconds\n",
+ speed_upload,
+ (total_time / 1000000), (long)(total_time % 1000000));
}
/* always cleanup */
diff --git a/docs/examples/progressfunc.c b/docs/examples/progressfunc.c
index ab34ef988..52a3c0834 100644
--- a/docs/examples/progressfunc.c
+++ b/docs/examples/progressfunc.c
@@ -28,10 +28,10 @@
#include <curl/curl.h>
#define STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES 6000
-#define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3
+#define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3000000
struct myprogress {
- double lastruntime;
+ curl_off_t lastruntime;
CURL *curl;
};
@@ -42,16 +42,17 @@ static int xferinfo(void *p,
{
struct myprogress *myp = (struct myprogress *)p;
CURL *curl = myp->curl;
- double curtime = 0;
+ curl_off_t curtime = 0;
- curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &curtime);
+ curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &curtime);
/* under certain circumstances it may be desirable for certain functionality
to only run every N seconds, in order to do this the transaction time can
be used */
if((curtime - myp->lastruntime) >= MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL) {
myp->lastruntime = curtime;
- fprintf(stderr, "TOTAL TIME: %f \r\n", curtime);
+ fprintf(stderr, "TOTAL TIME: %" CURL_FORMAT_CURL_OFF_T ".%06ld\r\n",
+ (curtime / 1000000), (long)(curtime % 1000000));
}
fprintf(stderr, "UP: %" CURL_FORMAT_CURL_OFF_T " of %" CURL_FORMAT_CURL_OFF_T