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 0ef0415210e6438cb3ba7e7d5f82375b9b31fbf8..c0b5f3eaf355af29aa02c950304c963b58d02365 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" |
@@ -33,22 +34,6 @@ using base::android::JavaParamRef; |
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(); |
-} |
- |
-} // namespace |
- |
// Explicitly register static JNI functions. |
bool CronetUrlRequestAdapterRegisterJni(JNIEnv* env) { |
return RegisterNativesImpl(env); |
@@ -416,20 +401,27 @@ 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(), |
+ MetricsUtil::ConvertTime(start_ticks, start_ticks, start_time), |
+ MetricsUtil::ConvertTime(metrics.connect_timing.dns_start, start_ticks, |
+ start_time), |
+ MetricsUtil::ConvertTime(metrics.connect_timing.dns_end, start_ticks, |
+ start_time), |
+ MetricsUtil::ConvertTime(metrics.connect_timing.connect_start, |
+ start_ticks, start_time), |
+ MetricsUtil::ConvertTime(metrics.connect_timing.connect_end, start_ticks, |
+ start_time), |
+ MetricsUtil::ConvertTime(metrics.connect_timing.ssl_start, start_ticks, |
+ start_time), |
+ MetricsUtil::ConvertTime(metrics.connect_timing.ssl_end, start_ticks, |
+ start_time), |
+ MetricsUtil::ConvertTime(metrics.send_start, start_ticks, start_time), |
+ MetricsUtil::ConvertTime(metrics.send_end, start_ticks, start_time), |
+ MetricsUtil::ConvertTime(metrics.push_start, start_ticks, start_time), |
+ MetricsUtil::ConvertTime(metrics.push_end, start_ticks, start_time), |
+ MetricsUtil::ConvertTime(metrics.receive_headers_end, start_ticks, |
+ start_time), |
+ MetricsUtil::ConvertTime(base::TimeTicks::Now(), start_ticks, start_time), |
// TODO(mgersh): report total bytes sent |
metrics.socket_reused, 0, url_request_->GetTotalReceivedBytes()); |
} |