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

Unified Diff: components/metrics/call_stack_profile_metrics_provider.h

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.h
diff --git a/components/metrics/call_stack_profile_metrics_provider.h b/components/metrics/call_stack_profile_metrics_provider.h
index 5c4f0db7f94e39dd53dd15c84e35df876d8f2852..b4d684929cf91e6c16bfb11f08cd3d9b5a676f90 100644
--- a/components/metrics/call_stack_profile_metrics_provider.h
+++ b/components/metrics/call_stack_profile_metrics_provider.h
@@ -7,6 +7,7 @@
#include <vector>
+#include "base/feature_list.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/profiler/stack_sampling_profiler.h"
@@ -14,6 +15,7 @@
#include "components/metrics/metrics_provider.h"
namespace metrics {
+
class ChromeUserMetricsExtension;
// Performs metrics logging for the stack sampling profiler.
@@ -41,27 +43,27 @@ class CallStackProfileMetricsProvider : public MetricsProvider {
// StackSamplingProfiler, and should not be reused between
// StackSamplingProfilers. This function may be called on any thread.
static base::StackSamplingProfiler::CompletedCallback GetProfilerCallback(
- const CallStackProfileParams& params);
+ CallStackProfileParams* params);
// Provides completed stack profiles to the metrics provider. Intended for use
// when receiving profiles over IPC. In-process StackSamplingProfiler users
// should use GetProfilerCallback() instead. |profiles| is not const& because
// it must be passed with std::move.
static void ReceiveCompletedProfiles(
- const CallStackProfileParams& params,
- base::TimeTicks start_timestamp,
+ CallStackProfileParams* params,
base::StackSamplingProfiler::CallStackProfiles profiles);
+ // Whether periodic sampling is enabled via a trial.
+ static bool IsPeriodicSamplingEnabled();
+
// MetricsProvider:
void OnRecordingEnabled() override;
void OnRecordingDisabled() override;
void ProvideGeneralMetrics(ChromeUserMetricsExtension* uma_proto) override;
protected:
- // Finch field trial and group for reporting profiles. Provided here for test
- // use.
- static const char kFieldTrialName[];
- static const char kReportProfilesGroupName[];
+ // base::Feature for reporting profiles. Provided here for test use.
+ static const base::Feature kEnableReporting;
// Reset the static state to the defaults after startup.
static void ResetStaticStateForTesting();

Powered by Google App Engine
This is Rietveld 408576698