Chromium Code Reviews| Index: chrome/browser/android/data_usage/external_data_use_observer.cc |
| diff --git a/chrome/browser/android/data_usage/external_data_use_observer.cc b/chrome/browser/android/data_usage/external_data_use_observer.cc |
| index 94e9e0607003bfd3c5f19c56a7f22dae867d9a14..8921b62c002da4b95a7236755e2c33078fdb2439 100644 |
| --- a/chrome/browser/android/data_usage/external_data_use_observer.cc |
| +++ b/chrome/browser/android/data_usage/external_data_use_observer.cc |
| @@ -205,6 +205,9 @@ void ExternalDataUseObserver::OnReportDataUseDone(bool success) { |
| RecordDataUsageReportSubmission(DATAUSAGE_REPORT_SUBMISSION_FAILED, |
| pending_report_bytes_); |
| } |
| + UMA_HISTOGRAM_TIMES( |
|
Raj
2016/01/13 23:33:51
Here again, the duration includes 2 thread hops.
S
tbansal1
2016/01/14 06:59:55
Delay due to thread hop can sometimes be large. I
|
| + "DataUsage.Perf.ReportSubmissionDuration", |
| + base::TimeTicks::Now() - last_data_report_submitted_ticks_); |
| last_data_report_submitted_ticks_ = base::TimeTicks(); |
| pending_report_bytes_ = 0; |
| @@ -212,6 +215,13 @@ void ExternalDataUseObserver::OnReportDataUseDone(bool success) { |
| SubmitBufferedDataUseReport(false); |
| } |
| +void ExternalDataUseObserver::OnFetchMatchingRulesDone() const { |
| + DCHECK(thread_checker_.CalledOnValidThread()); |
| + DCHECK(!last_matching_rules_fetch_time_.is_null()); |
| + UMA_HISTOGRAM_TIMES("DataUsage.Perf.MatchingRuleFetchDuration", |
| + base::TimeTicks::Now() - last_matching_rules_fetch_time_); |
| +} |
| + |
| #if defined(OS_ANDROID) |
| void ExternalDataUseObserver::OnApplicationStateChange( |
| base::android::ApplicationState new_state) { |