Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Unified Diff: chrome/browser/android/data_usage/external_data_use_observer_bridge.cc

Issue 1582043002: Add histograms for data usage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed nits Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..57cffd3853fca4ac87b6e6837e9184e2e2d02a91 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"
@@ -36,7 +37,9 @@ namespace chrome {
namespace android {
-ExternalDataUseObserverBridge::ExternalDataUseObserverBridge() {
+ExternalDataUseObserverBridge::ExternalDataUseObserverBridge()
+ : construct_time_(base::TimeTicks::Now()),
+ is_first_matching_rule_fetch_(true) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
// Detach from IO thread since rest of ExternalDataUseObserverBridge lives on
@@ -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(!construct_time_.is_null());
// Convert to native objects.
std::vector<std::string> app_package_name_native;
@@ -117,6 +121,12 @@ void ExternalDataUseObserverBridge::FetchMatchingRulesDone(
if (!data_use_tab_model_)
return;
+ if (is_first_matching_rule_fetch_) {
+ is_first_matching_rule_fetch_ = false;
+ UMA_HISTOGRAM_TIMES("DataUsage.Perf.MatchingRuleFirstFetchDuration",
+ base::TimeTicks::Now() - construct_time_);
+ }
+
data_use_tab_model_->RegisterURLRegexes(
app_package_name_native, domain_path_regex_native, label_native);
}

Powered by Google App Engine
This is Rietveld 408576698