Chromium Code Reviews| Index: chrome/browser/android/data_usage/external_data_use_observer_bridge.cc |
| diff --git a/chrome/browser/android/data_usage/external_data_use_observer_bridge.cc b/chrome/browser/android/data_usage/external_data_use_observer_bridge.cc |
| index 71ad96c18be6d3cd2446dc2be470b42e046d6195..6fbf32c2efe6788a55131d9eac8f82d1dea7bb62 100644 |
| --- a/chrome/browser/android/data_usage/external_data_use_observer_bridge.cc |
| +++ b/chrome/browser/android/data_usage/external_data_use_observer_bridge.cc |
| @@ -10,6 +10,7 @@ |
| #include "base/android/jni_string.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "base/metrics/field_trial.h" |
| +#include "base/metrics/histogram_macros.h" |
| #include "base/single_thread_task_runner.h" |
| #include "base/time/time.h" |
| #include "chrome/browser/android/data_usage/data_use_tab_model.h" |
| @@ -81,8 +82,10 @@ void ExternalDataUseObserverBridge::Init( |
| FetchMatchingRules(); |
| } |
| -void ExternalDataUseObserverBridge::FetchMatchingRules() const { |
| +void ExternalDataUseObserverBridge::FetchMatchingRules() { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| + if (matching_rules_first_fetch_time_.is_null()) |
|
tbansal1
2016/01/14 06:59:55
make it a const variable, and set it in the constr
Raj
2016/01/15 06:23:24
Done.
|
| + matching_rules_first_fetch_time_ = base::TimeTicks::Now(); |
| JNIEnv* env = base::android::AttachCurrentThread(); |
| Java_ExternalDataUseObserver_fetchMatchingRules( |
| @@ -96,6 +99,7 @@ void ExternalDataUseObserverBridge::FetchMatchingRulesDone( |
| const base::android::JavaParamRef<jobjectArray>& domain_path_regex, |
| const base::android::JavaParamRef<jobjectArray>& label) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| + DCHECK(!matching_rules_first_fetch_time_.is_null()); |
| // Convert to native objects. |
| std::vector<std::string> app_package_name_native; |
| @@ -117,6 +121,10 @@ void ExternalDataUseObserverBridge::FetchMatchingRulesDone( |
| if (!data_use_tab_model_) |
| return; |
| + UMA_HISTOGRAM_TIMES( |
| + "DataUsage.Perf.MatchingRuleFetchDuration", |
| + base::TimeTicks::Now() - matching_rules_first_fetch_time_); |
|
tbansal1
2016/01/14 06:59:55
How do we know this is the first fetch? Seems like
Raj
2016/01/15 06:23:24
Fixed
|
| + |
| data_use_tab_model_->RegisterURLRegexes( |
| app_package_name_native, domain_path_regex_native, label_native); |
| } |