Index: components/metrics/call_stack_profile_metrics_provider_unittest.cc |
diff --git a/components/metrics/call_stack_profile_metrics_provider_unittest.cc b/components/metrics/call_stack_profile_metrics_provider_unittest.cc |
index c81e23922ac460f6d69b52b7326a8c848e629249..4067a9cf34f9c31ca4d20b964d87654e8a2c0f85 100644 |
--- a/components/metrics/call_stack_profile_metrics_provider_unittest.cc |
+++ b/components/metrics/call_stack_profile_metrics_provider_unittest.cc |
@@ -10,10 +10,10 @@ |
#include <utility> |
#include "base/macros.h" |
-#include "base/metrics/field_trial.h" |
#include "base/profiler/stack_sampling_profiler.h" |
#include "base/run_loop.h" |
#include "base/strings/string_number_conversions.h" |
+#include "base/test/scoped_feature_list.h" |
#include "build/build_config.h" |
#include "components/metrics/call_stack_profile_params.h" |
#include "components/metrics/proto/chrome_user_metrics_extension.pb.h" |
@@ -117,39 +117,35 @@ Profiles ProfilesFactory::Build() { |
namespace metrics { |
-// This test fixture enables the field trial that |
+// This test fixture enables the feature that |
// CallStackProfileMetricsProvider depends on to report profiles. |
class CallStackProfileMetricsProviderTest : public testing::Test { |
public: |
- CallStackProfileMetricsProviderTest() |
- : field_trial_list_(nullptr) { |
- base::FieldTrialList::CreateFieldTrial( |
- TestState::kFieldTrialName, |
- TestState::kReportProfilesGroupName); |
+ CallStackProfileMetricsProviderTest() { |
+ scoped_feature_list_.InitAndEnableFeature(TestState::kEnableReporting); |
TestState::ResetStaticStateForTesting(); |
} |
~CallStackProfileMetricsProviderTest() override {} |
// Utility function to append profiles to the metrics provider. |
- void AppendProfiles(const CallStackProfileParams& params, Profiles profiles) { |
+ void AppendProfiles(CallStackProfileParams* params, Profiles profiles) { |
CallStackProfileMetricsProvider::GetProfilerCallback(params).Run( |
- std::move(profiles)); |
+ std::move(profiles), nullptr); |
} |
void VerifyProfileProto(const ExpectedProtoProfile& expected, |
const SampledProfile& proto); |
private: |
- // Exposes field trial/group names from the CallStackProfileMetricsProvider. |
+ // Exposes the feature from the CallStackProfileMetricsProvider. |
class TestState : public CallStackProfileMetricsProvider { |
public: |
- using CallStackProfileMetricsProvider::kFieldTrialName; |
- using CallStackProfileMetricsProvider::kReportProfilesGroupName; |
+ using CallStackProfileMetricsProvider::kEnableReporting; |
using CallStackProfileMetricsProvider::ResetStaticStateForTesting; |
}; |
- base::FieldTrialList field_trial_list_; |
+ base::test::ScopedFeatureList scoped_feature_list_; |
DISALLOW_COPY_AND_ASSIGN(CallStackProfileMetricsProviderTest); |
}; |
@@ -343,12 +339,11 @@ TEST_F(CallStackProfileMetricsProviderTest, MultipleProfiles) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingEnabled(); |
- AppendProfiles( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE), |
- std::move(profiles)); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
+ AppendProfiles(¶ms, std::move(profiles)); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |
@@ -428,12 +423,11 @@ TEST_F(CallStackProfileMetricsProviderTest, RepeatedStacksUnordered) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingEnabled(); |
- AppendProfiles( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE), |
- std::move(profiles)); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
+ AppendProfiles(¶ms, std::move(profiles)); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |
@@ -515,11 +509,11 @@ TEST_F(CallStackProfileMetricsProviderTest, RepeatedStacksOrdered) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingEnabled(); |
- AppendProfiles(CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::PRESERVE_ORDER), |
- std::move(profiles)); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::PRESERVE_ORDER); |
+ AppendProfiles(¶ms, std::move(profiles)); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |
@@ -559,12 +553,11 @@ TEST_F(CallStackProfileMetricsProviderTest, UnknownModule) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingEnabled(); |
- AppendProfiles( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE), |
- std::move(profiles)); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
+ AppendProfiles(¶ms, std::move(profiles)); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |
@@ -593,12 +586,11 @@ TEST_F(CallStackProfileMetricsProviderTest, ProfilesProvidedOnlyOnce) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingEnabled(); |
- AppendProfiles( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE), |
- std::move(profiles)); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
+ AppendProfiles(¶ms, std::move(profiles)); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |
@@ -624,12 +616,11 @@ TEST_F(CallStackProfileMetricsProviderTest, |
ASSERT_EQ(1U, profiles.size()); |
- AppendProfiles( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE), |
- std::move(profiles)); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
+ AppendProfiles(¶ms, std::move(profiles)); |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingEnabled(); |
@@ -652,12 +643,11 @@ TEST_F(CallStackProfileMetricsProviderTest, ProfilesNotProvidedWhileDisabled) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingDisabled(); |
- AppendProfiles( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE), |
- std::move(profiles)); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
+ AppendProfiles(¶ms, std::move(profiles)); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |
@@ -670,12 +660,12 @@ TEST_F(CallStackProfileMetricsProviderTest, |
ProfilesNotProvidedAfterChangeToDisabled) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingEnabled(); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
base::StackSamplingProfiler::CompletedCallback callback = |
- CallStackProfileMetricsProvider::GetProfilerCallback( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE)); |
+ CallStackProfileMetricsProvider::GetProfilerCallback(¶ms); |
provider.OnRecordingDisabled(); |
Profiles profiles = ProfilesFactory() |
@@ -683,7 +673,8 @@ TEST_F(CallStackProfileMetricsProviderTest, |
.NewSample() |
.AddFrame(Frame::kUnknownModuleIndex, 0x1234) |
.Build(); |
- callback.Run(std::move(profiles)); |
+ base::StackSamplingProfiler::SamplingParams sampling_params; |
+ callback.Run(std::move(profiles), &sampling_params); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |
@@ -696,12 +687,12 @@ TEST_F(CallStackProfileMetricsProviderTest, |
ProfilesNotProvidedAfterChangeToDisabledThenEnabled) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingEnabled(); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
base::StackSamplingProfiler::CompletedCallback callback = |
- CallStackProfileMetricsProvider::GetProfilerCallback( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE)); |
+ CallStackProfileMetricsProvider::GetProfilerCallback(¶ms); |
provider.OnRecordingDisabled(); |
provider.OnRecordingEnabled(); |
@@ -710,7 +701,8 @@ TEST_F(CallStackProfileMetricsProviderTest, |
.NewSample() |
.AddFrame(Frame::kUnknownModuleIndex, 0x1234) |
.Build(); |
- callback.Run(std::move(profiles)); |
+ base::StackSamplingProfiler::SamplingParams sampling_params; |
+ callback.Run(std::move(profiles), &sampling_params); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |
@@ -723,12 +715,12 @@ TEST_F(CallStackProfileMetricsProviderTest, |
ProfilesNotProvidedAfterChangeFromDisabled) { |
CallStackProfileMetricsProvider provider; |
provider.OnRecordingDisabled(); |
+ CallStackProfileParams params(CallStackProfileParams::BROWSER_PROCESS, |
+ CallStackProfileParams::UI_THREAD, |
+ CallStackProfileParams::PROCESS_STARTUP, |
+ CallStackProfileParams::MAY_SHUFFLE); |
base::StackSamplingProfiler::CompletedCallback callback = |
- CallStackProfileMetricsProvider::GetProfilerCallback( |
- CallStackProfileParams(CallStackProfileParams::BROWSER_PROCESS, |
- CallStackProfileParams::UI_THREAD, |
- CallStackProfileParams::PROCESS_STARTUP, |
- CallStackProfileParams::MAY_SHUFFLE)); |
+ CallStackProfileMetricsProvider::GetProfilerCallback(¶ms); |
provider.OnRecordingEnabled(); |
Profiles profiles = ProfilesFactory() |
@@ -736,7 +728,8 @@ TEST_F(CallStackProfileMetricsProviderTest, |
.NewSample() |
.AddFrame(Frame::kUnknownModuleIndex, 0x1234) |
.Build(); |
- callback.Run(std::move(profiles)); |
+ base::StackSamplingProfiler::SamplingParams sampling_params; |
+ callback.Run(std::move(profiles), &sampling_params); |
ChromeUserMetricsExtension uma_proto; |
provider.ProvideGeneralMetrics(&uma_proto); |