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

Unified Diff: chrome/common/stack_sampling_configuration.cc

Issue 2927593002: Make stack sampling profiler sample beyond startup. (Closed)
Patch Set: rebase + PROFILER_TEST_F 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: chrome/common/stack_sampling_configuration.cc
diff --git a/chrome/common/stack_sampling_configuration.cc b/chrome/common/stack_sampling_configuration.cc
index 15d0d8ea8b8f164bedf9fa8216977be08c2386e8..be9ed4b68e1fb975069489fa18cffc29d2e4c376 100644
--- a/chrome/common/stack_sampling_configuration.cc
+++ b/chrome/common/stack_sampling_configuration.cc
@@ -10,6 +10,7 @@
#include "build/build_config.h"
#include "chrome/common/channel_info.h"
#include "chrome/common/chrome_switches.h"
+#include "components/metrics/call_stack_profile_metrics_provider.h"
#include "components/version_info/version_info.h"
#include "content/public/common/content_switches.h"
@@ -49,8 +50,11 @@ bool IsBrowserProcess() {
} // namespace
StackSamplingConfiguration::StackSamplingConfiguration()
- : configuration_(GenerateConfiguration()) {
-}
+ : configuration_(GenerateConfiguration()),
+ profile_params_(metrics::CallStackProfileParams::BROWSER_PROCESS,
+ metrics::CallStackProfileParams::UI_THREAD,
+ metrics::CallStackProfileParams::PROCESS_STARTUP,
+ metrics::CallStackProfileParams::MAY_SHUFFLE) {}
base::StackSamplingProfiler::SamplingParams
StackSamplingConfiguration::GetSamplingParamsForCurrentProcess() const {
@@ -69,6 +73,12 @@ StackSamplingConfiguration::GetSamplingParamsForCurrentProcess() const {
return params;
}
+base::StackSamplingProfiler::CompletedCallback
+StackSamplingConfiguration::GetProfilerCallbackForCurrentProcess() {
+ return metrics::CallStackProfileMetricsProvider::GetProfilerCallback(
+ &profile_params_);
+}
+
bool StackSamplingConfiguration::IsProfilerEnabledForCurrentProcess() const {
if (IsBrowserProcess()) {
switch (configuration_) {

Powered by Google App Engine
This is Rietveld 408576698