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); |
} |