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

Unified Diff: components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc

Issue 2911123003: Metrics for feature engagement tracker. (Closed)
Patch Set: Created 3 years, 7 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: components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
diff --git a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
index 5ab8770ba9bf8f625312b910233e9dc79486c4e9..29fc3f595f9b37dfb43a9a0f888e743f91077f3a 100644
--- a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
+++ b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
@@ -10,6 +10,7 @@
#include "base/bind.h"
#include "base/feature_list.h"
#include "base/memory/ptr_util.h"
+#include "base/metrics/user_metrics.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/feature_engagement_tracker/internal/availability_model_impl.h"
#include "components/feature_engagement_tracker/internal/chrome_variations_configuration.h"
@@ -24,6 +25,7 @@
#include "components/feature_engagement_tracker/internal/once_condition_validator.h"
#include "components/feature_engagement_tracker/internal/persistent_store.h"
#include "components/feature_engagement_tracker/internal/proto/availability.pb.h"
+#include "components/feature_engagement_tracker/internal/stats.h"
#include "components/feature_engagement_tracker/internal/system_time_provider.h"
#include "components/feature_engagement_tracker/public/feature_constants.h"
#include "components/feature_engagement_tracker/public/feature_list.h"
@@ -142,20 +144,16 @@ FeatureEngagementTrackerImpl::FeatureEngagementTrackerImpl(
FeatureEngagementTrackerImpl::~FeatureEngagementTrackerImpl() = default;
void FeatureEngagementTrackerImpl::NotifyEvent(const std::string& event) {
- // TODO(nyquist): Track this event in UMA.
model_->IncrementEvent(event, time_provider_->GetCurrentDay());
+ stats::RecordNotifyEvent(event, configuration_.get(), model_->IsReady());
}
bool FeatureEngagementTrackerImpl::ShouldTriggerHelpUI(
const base::Feature& feature) {
- // TODO(nyquist): Track this event in UMA.
- bool result =
- condition_validator_
- ->MeetsConditions(feature, configuration_->GetFeatureConfig(feature),
- *model_, *availability_model_,
- time_provider_->GetCurrentDay())
- .NoErrors();
- if (result) {
+ ConditionValidator::Result result = condition_validator_->MeetsConditions(
+ feature, configuration_->GetFeatureConfig(feature), *model_,
+ *availability_model_, time_provider_->GetCurrentDay());
+ if (result.NoErrors()) {
condition_validator_->NotifyIsShowing(feature);
FeatureConfig feature_config = configuration_->GetFeatureConfig(feature);
DCHECK_NE("", feature_config.trigger.name);
@@ -163,12 +161,13 @@ bool FeatureEngagementTrackerImpl::ShouldTriggerHelpUI(
time_provider_->GetCurrentDay());
}
- return result;
+ stats::RecordShouldTriggerHelpUI(feature, result);
+ return result.NoErrors();
}
void FeatureEngagementTrackerImpl::Dismissed(const base::Feature& feature) {
- // TODO(nyquist): Track this event in UMA.
condition_validator_->NotifyDismissed(feature);
+ stats::RecordUserDismiss();
}
bool FeatureEngagementTrackerImpl::IsInitialized() {

Powered by Google App Engine
This is Rietveld 408576698