Report Synthetic Field Trials in Crash Reports
This CL will add support for reporting synthetic field trials in crash reports.
This will help with better triage of bugs related to such experiments.
BUG=728266
Review-Url: https://codereview.chromium.org/2921773002
Cr-Commit-Position: refs/heads/master@{#477645}
diff --git a/components/variations/active_field_trials.cc b/components/variations/active_field_trials.cc
index 07c8b6b5..71ff95d 100644
--- a/components/variations/active_field_trials.cc
+++ b/components/variations/active_field_trials.cc
@@ -11,6 +11,7 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "components/variations/metrics_util.h"
+#include "components/variations/synthetic_trials_active_group_id_provider.h"
namespace variations {
@@ -28,6 +29,15 @@
}
}
+void AppendActiveGroupIdsAsStrings(
+ const std::vector<ActiveGroupId> name_group_ids,
+ std::vector<std::string>* output) {
+ for (const auto& active_group_id : name_group_ids) {
+ output->push_back(base::StringPrintf("%x-%x", active_group_id.name,
+ active_group_id.group));
+ }
+}
+
} // namespace
ActiveGroupId MakeActiveGroupId(const std::string& trial_name,
@@ -54,10 +64,14 @@
DCHECK(output->empty());
std::vector<ActiveGroupId> name_group_ids;
GetFieldTrialActiveGroupIds(&name_group_ids);
- for (size_t i = 0; i < name_group_ids.size(); ++i) {
- output->push_back(base::StringPrintf(
- "%x-%x", name_group_ids[i].name, name_group_ids[i].group));
- }
+ AppendActiveGroupIdsAsStrings(name_group_ids, output);
+}
+
+void GetSyntheticTrialGroupIdsAsString(std::vector<std::string>* output) {
+ std::vector<ActiveGroupId> name_group_ids;
+ SyntheticTrialsActiveGroupIdProvider::GetInstance()->GetActiveGroupIds(
+ &name_group_ids);
+ AppendActiveGroupIdsAsStrings(name_group_ids, output);
}
namespace testing {