#if ENABLE_BENCHMARK
{
char *url = NULL;
- double total = 0;
+ double total_as_double = 0;
+ struct GNUNET_TIME_Relative total;
struct UrlRequestData *urd;
CURLcode res;
- res = curl_easy_getinfo (cmsg->easy_handle, CURLINFO_TOTAL_TIME, &total);
+ res = curl_easy_getinfo (cmsg->easy_handle, CURLINFO_TOTAL_TIME, &total_as_double);
GNUNET_break (CURLE_OK == res);
curl_easy_getinfo (cmsg->easy_handle, CURLINFO_EFFECTIVE_URL, &url);
+ total.rel_value_us = total_as_double * 1000 * 1000;
urd = get_url_benchmark_data (url, (unsigned int) response_code);
urd->count++;
- urd->time.rel_value_us += total * 1000 * 1000;
+ urd->time = GNUNET_TIME_relative_add (urd->time, total);
+ urd->time_max = GNUNET_TIME_relative_max (total, urd->time_max);
}
#endif
job->jcc (job->jcc_cls,
for (unsigned int i = 0; i < bd->urd_len; i++)
{
struct UrlRequestData *urd = &bd->urd[i];
- GNUNET_asprintf (&s, "url %s status %u count %llu time_us %llu\n",
+ GNUNET_asprintf (&s, "url %s status %u count %llu time_us %llu time_us_max %llu\n",
urd->request_url,
urd->status,
(unsigned long long) urd->count,
- (unsigned long long) urd->time.rel_value_us);
+ (unsigned long long) urd->time.rel_value_us,
+ (unsigned long long) urd->time_max.rel_value_us);
GNUNET_assert (GNUNET_SYSERR != GNUNET_DISK_file_write_blocking (fh, s, strlen (s)));
GNUNET_free (s);
}