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

Unified Diff: components/metrics/call_stack_profile_metrics_provider_unittest.cc

Issue 2927593002: Make stack sampling profiler sample beyond startup. (Closed)
Patch Set: Address some comments. Created 3 years, 6 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/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(&params, 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(&params, 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(&params, 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(&params, 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(&params, 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(&params, 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(&params, 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(&params);
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(&params);
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(&params);
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);

Powered by Google App Engine
This is Rietveld 408576698