Index: components/rappor/rappor_service.cc |
diff --git a/components/rappor/rappor_service.cc b/components/rappor/rappor_service.cc |
index 7fc4fce7fb4e86f94b330d1e6a94df7927960137..9f1a2d1dd3bf918920d56825752ed4e72874efdc 100644 |
--- a/components/rappor/rappor_service.cc |
+++ b/components/rappor/rappor_service.cc |
@@ -5,6 +5,7 @@ |
#include "components/rappor/rappor_service.h" |
#include "base/metrics/field_trial.h" |
+#include "base/metrics/user_metrics.h" |
#include "base/stl_util.h" |
#include "base/time/time.h" |
#include "components/metrics/metrics_hashes.h" |
@@ -105,6 +106,8 @@ void RapporService::Initialize(net::URLRequestContextGetter* request_context) { |
request_context)), |
internal::LoadCohort(pref_service_), |
internal::LoadSecret(pref_service_)); |
+ |
+ EnableRecordFromUserMetrics(); |
} |
void RapporService::Update(RecordingLevel recording_level, bool may_upload) { |
@@ -183,6 +186,18 @@ void RapporService::OnLogInterval() { |
ScheduleNextLogRotation(base::TimeDelta::FromSeconds(kLogIntervalSeconds)); |
} |
+void RapporService::EnableRecordFromUserMetrics() { |
+ user_metrics_callback_ = base::Bind(&RapporService::OnUserMetricsCallback, |
+ base::Unretained(this)); |
+ base::AddRapporCallback(user_metrics_callback_); |
+} |
+ |
+void RapporService::OnUserMetricsCallback( |
+ const std::string& metric, |
+ const std::string& sample) { |
+ RecordSample(metric, COARSE_RAPPOR_TYPE, sample); |
Steven Holte
2015/03/23 20:34:06
This should probably be ETLD_PLUS_ONE type or just
|
+} |
+ |
bool RapporService::ExportMetrics(RapporReports* reports) { |
if (metrics_map_.empty()) { |
DVLOG(2) << "metrics_map_ is empty."; |