Skip to content

Commit

Permalink
[Autofill Assistant] Rename and clean up trigger script metric enums.
Browse files Browse the repository at this point in the history
This CL renames LiteScript* to TriggerScript* for consistency. Also,
java-side metrics for trigger script are removed, as they are no longer
necessary. Enum names have been shortened, as the additional LITE_SCRIPT
prefix was unnecessary. Since all enums are defined as enum class, the
global namespace will not be polluted with this change.

Only the strings in ukm.xml and enums.xml still bear the old LiteScript
prefix. Since those are actively used in our analyses, we will hold off
changing them for now.

This is a refactoring/renaming only.

Bug: b/185476714
Change-Id: I60d7a63b06b7f4a383457ed6c160815624d94554
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2864402
Commit-Queue: Clemens Arbesser <arbesser@google.com>
Reviewed-by: Sandro Maggi <sandromaggi@google.com>
Cr-Commit-Position: refs/heads/master@{#880914}
  • Loading branch information
Clemens Arbesser authored and Chromium LUCI CQ committed May 10, 2021
1 parent c864832 commit af0bf6e
Show file tree
Hide file tree
Showing 10 changed files with 486 additions and 541 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.autofill_assistant.metrics.DropOutReason;
import org.chromium.chrome.browser.autofill_assistant.metrics.FeatureModuleInstallation;
import org.chromium.chrome.browser.autofill_assistant.metrics.LiteScriptFinishedState;
import org.chromium.chrome.browser.autofill_assistant.metrics.OnBoarding;
import org.chromium.chrome.browser.autofill_assistant.strings.IntentStrings;
import org.chromium.components.ukm.UkmRecorder;
import org.chromium.content_public.browser.WebContents;

/**
Expand Down Expand Up @@ -59,25 +57,6 @@ public static void recordFeatureModuleInstallation(@FeatureModuleInstallation in
FeatureModuleInstallation.MAX_VALUE + 1);
}

/**
* UKM metric. Records the finish of a lite script.
*
* The events recorded by this call lacks a trigger type. This is appropriate
* when the trigger type is not yet known, because the Trigger protos sent by
* the server have not been processed yet. If trigger protos are available,
* record the metric from C++.
*/
public static void recordLiteScriptFinished(
WebContents webContents, @LiteScriptFinishedState int finishedState) {
if (!areWebContentsValid(webContents)) {
return;
}
new UkmRecorder.Bridge().recordEventWithIntegerMetric(webContents,
/* eventName = */ "AutofillAssistant.LiteScriptFinished",
/* metricName = */ "LiteScriptFinished",
/* metricValue = */ finishedState);
}

/**
* Returns whether {@code webContents} are non-null and valid. Invalid
* webContents will cause a failed DCHECK when attempting to report UKM metrics.
Expand Down
61 changes: 30 additions & 31 deletions components/autofill_assistant/browser/metrics.cc
Original file line number Diff line number Diff line change
Expand Up @@ -149,81 +149,80 @@ void Metrics::RecordPaymentRequestMandatoryPostalCode(bool required,
}

// static
void Metrics::RecordLiteScriptStarted(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
LiteScriptStarted event) {
void Metrics::RecordTriggerScriptStarted(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
TriggerScriptStarted event) {
ukm::builders::AutofillAssistant_LiteScriptStarted(source_id)
.SetLiteScriptStarted(static_cast<int64_t>(event))
.Record(ukm_recorder);
}

// static
void Metrics::RecordLiteScriptStarted(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
StartupUtil::StartupMode startup_mode,
bool feature_module_installed,
bool is_first_time_user) {
LiteScriptStarted event;
void Metrics::RecordTriggerScriptStarted(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
StartupUtil::StartupMode startup_mode,
bool feature_module_installed,
bool is_first_time_user) {
TriggerScriptStarted event;
switch (startup_mode) {
case StartupUtil::StartupMode::FEATURE_DISABLED:
if (base::FeatureList::IsEnabled(
features::kAutofillAssistantProactiveHelp) &&
!feature_module_installed) {
event = LiteScriptStarted::LITE_SCRIPT_DFM_UNAVAILABLE;
event = TriggerScriptStarted::DFM_UNAVAILABLE;
} else {
event = LiteScriptStarted::LITE_SCRIPT_FEATURE_DISABLED;
event = TriggerScriptStarted::FEATURE_DISABLED;
}
break;
case StartupUtil::StartupMode::SETTING_DISABLED:
event = LiteScriptStarted::LITE_SCRIPT_PROACTIVE_TRIGGERING_DISABLED;
event = TriggerScriptStarted::PROACTIVE_TRIGGERING_DISABLED;
break;
case StartupUtil::StartupMode::NO_INITIAL_URL:
event = LiteScriptStarted::LITE_SCRIPT_NO_INITIAL_URL;
event = TriggerScriptStarted::NO_INITIAL_URL;
break;
case StartupUtil::StartupMode::MANDATORY_PARAMETERS_MISSING:
event = LiteScriptStarted::LITE_SCRIPT_MANDATORY_PARAMETER_MISSING;
event = TriggerScriptStarted::MANDATORY_PARAMETER_MISSING;
break;
case StartupUtil::StartupMode::START_BASE64_TRIGGER_SCRIPT:
case StartupUtil::StartupMode::START_RPC_TRIGGER_SCRIPT:
event = is_first_time_user
? LiteScriptStarted::LITE_SCRIPT_FIRST_TIME_USER
: LiteScriptStarted::LITE_SCRIPT_RETURNING_USER;
event = is_first_time_user ? TriggerScriptStarted::FIRST_TIME_USER
: TriggerScriptStarted::RETURNING_USER;
break;
case StartupUtil::StartupMode::START_REGULAR:
// Regular starts do not record impressions for |LiteScriptStarted|.
// Regular starts do not record impressions for |TriggerScriptStarted|.
return;
}

RecordLiteScriptStarted(ukm_recorder, source_id, event);
RecordTriggerScriptStarted(ukm_recorder, source_id, event);
}

// static
void Metrics::RecordLiteScriptFinished(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
TriggerUIType trigger_ui_type,
LiteScriptFinishedState event) {
void Metrics::RecordTriggerScriptFinished(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
TriggerUIType trigger_ui_type,
TriggerScriptFinishedState event) {
ukm::builders::AutofillAssistant_LiteScriptFinished(source_id)
.SetTriggerUIType(static_cast<int64_t>(trigger_ui_type))
.SetLiteScriptFinished(static_cast<int64_t>(event))
.Record(ukm_recorder);
}

// static
void Metrics::RecordLiteScriptShownToUser(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
TriggerUIType trigger_ui_type,
LiteScriptShownToUser event) {
void Metrics::RecordTriggerScriptShownToUser(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
TriggerUIType trigger_ui_type,
TriggerScriptShownToUser event) {
ukm::builders::AutofillAssistant_LiteScriptShownToUser(source_id)
.SetTriggerUIType(static_cast<int64_t>(trigger_ui_type))
.SetLiteScriptShownToUser(static_cast<int64_t>(event))
.Record(ukm_recorder);
}

// static
void Metrics::RecordLiteScriptOnboarding(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
TriggerUIType trigger_ui_type,
LiteScriptOnboarding event) {
void Metrics::RecordTriggerScriptOnboarding(ukm::UkmRecorder* ukm_recorder,
ukm::SourceId source_id,
TriggerUIType trigger_ui_type,
TriggerScriptOnboarding event) {
ukm::builders::AutofillAssistant_LiteScriptOnboarding(source_id)
.SetTriggerUIType(static_cast<int64_t>(trigger_ui_type))
.SetLiteScriptOnboarding(static_cast<int64_t>(event))
Expand Down

0 comments on commit af0bf6e

Please sign in to comment.