| Index: components/cronet/android/cronet_url_request_adapter.cc
|
| diff --git a/components/cronet/android/cronet_url_request_adapter.cc b/components/cronet/android/cronet_url_request_adapter.cc
|
| index 75362cde1e468b071d890d58324fb6d554b3a485..7072793b179f761f27f3f272ba179c9b84093b04 100644
|
| --- a/components/cronet/android/cronet_url_request_adapter.cc
|
| +++ b/components/cronet/android/cronet_url_request_adapter.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/logging.h"
|
| #include "components/cronet/android/cronet_url_request_context_adapter.h"
|
| #include "components/cronet/android/io_buffer_with_byte_buffer.h"
|
| +#include "components/cronet/android/metrics_util.h"
|
| #include "components/cronet/android/url_request_error.h"
|
| #include "jni/CronetUrlRequest_jni.h"
|
| #include "net/base/load_flags.h"
|
| @@ -36,18 +37,6 @@ namespace cronet {
|
|
|
| namespace {
|
|
|
| -// Converts timing metrics stored as TimeTicks into the format expected by the
|
| -// Java layer: ms since Unix epoch, or -1 for null
|
| -int64_t ConvertTime(const base::TimeTicks& ticks,
|
| - const base::TimeTicks& start_ticks,
|
| - const base::Time& start_time) {
|
| - if (ticks.is_null() || start_ticks.is_null()) {
|
| - return -1;
|
| - }
|
| - DCHECK(!start_time.is_null());
|
| - return (start_time + (ticks - start_ticks)).ToJavaTime();
|
| -}
|
| -
|
| // Returns the string representation of the HostPortPair of the proxy server
|
| // that was used to fetch the response.
|
| std::string GetProxy(const net::HttpResponseInfo& info) {
|
| @@ -421,20 +410,28 @@ void CronetURLRequestAdapter::MaybeReportMetrics(JNIEnv* env) const {
|
| base::Time start_time = metrics.request_start_time;
|
| base::TimeTicks start_ticks = metrics.request_start;
|
| Java_CronetUrlRequest_onMetricsCollected(
|
| - env, owner_.obj(), ConvertTime(start_ticks, start_ticks, start_time),
|
| - ConvertTime(metrics.connect_timing.dns_start, start_ticks, start_time),
|
| - ConvertTime(metrics.connect_timing.dns_end, start_ticks, start_time),
|
| - ConvertTime(metrics.connect_timing.connect_start, start_ticks,
|
| - start_time),
|
| - ConvertTime(metrics.connect_timing.connect_end, start_ticks, start_time),
|
| - ConvertTime(metrics.connect_timing.ssl_start, start_ticks, start_time),
|
| - ConvertTime(metrics.connect_timing.ssl_end, start_ticks, start_time),
|
| - ConvertTime(metrics.send_start, start_ticks, start_time),
|
| - ConvertTime(metrics.send_end, start_ticks, start_time),
|
| - ConvertTime(metrics.push_start, start_ticks, start_time),
|
| - ConvertTime(metrics.push_end, start_ticks, start_time),
|
| - ConvertTime(metrics.receive_headers_end, start_ticks, start_time),
|
| - ConvertTime(base::TimeTicks::Now(), start_ticks, start_time),
|
| + env, owner_.obj(),
|
| + metrics_util::ConvertTime(start_ticks, start_ticks, start_time),
|
| + metrics_util::ConvertTime(metrics.connect_timing.dns_start, start_ticks,
|
| + start_time),
|
| + metrics_util::ConvertTime(metrics.connect_timing.dns_end, start_ticks,
|
| + start_time),
|
| + metrics_util::ConvertTime(metrics.connect_timing.connect_start,
|
| + start_ticks, start_time),
|
| + metrics_util::ConvertTime(metrics.connect_timing.connect_end, start_ticks,
|
| + start_time),
|
| + metrics_util::ConvertTime(metrics.connect_timing.ssl_start, start_ticks,
|
| + start_time),
|
| + metrics_util::ConvertTime(metrics.connect_timing.ssl_end, start_ticks,
|
| + start_time),
|
| + metrics_util::ConvertTime(metrics.send_start, start_ticks, start_time),
|
| + metrics_util::ConvertTime(metrics.send_end, start_ticks, start_time),
|
| + metrics_util::ConvertTime(metrics.push_start, start_ticks, start_time),
|
| + metrics_util::ConvertTime(metrics.push_end, start_ticks, start_time),
|
| + metrics_util::ConvertTime(metrics.receive_headers_end, start_ticks,
|
| + start_time),
|
| + metrics_util::ConvertTime(base::TimeTicks::Now(), start_ticks,
|
| + start_time),
|
| metrics.socket_reused, url_request_->GetTotalSentBytes(),
|
| url_request_->GetTotalReceivedBytes());
|
| }
|
|
|