| Index: components/metrics/profiler/profiler_metrics_provider.h
|
| diff --git a/components/metrics/profiler/profiler_metrics_provider.h b/components/metrics/profiler/profiler_metrics_provider.h
|
| index 5b79b8889d7b5fccc83bcd7574d0f8e6cb9dcb56..7740cb80b1a0d2faa18e0a2f6713632fbd1f2fd5 100644
|
| --- a/components/metrics/profiler/profiler_metrics_provider.h
|
| +++ b/components/metrics/profiler/profiler_metrics_provider.h
|
| @@ -8,10 +8,12 @@
|
| #include "base/basictypes.h"
|
| #include "base/callback.h"
|
| #include "components/metrics/metrics_provider.h"
|
| +#include "components/metrics/profiler/tracking_synchronizer_observer.h"
|
| #include "components/metrics/proto/chrome_user_metrics_extension.pb.h"
|
| +#include "content/public/common/process_type.h"
|
|
|
| namespace tracked_objects {
|
| -struct ProcessDataSnapshot;
|
| +struct ProcessDataPhaseSnapshot;
|
| }
|
|
|
| namespace metrics {
|
| @@ -32,8 +34,13 @@ class ProfilerMetricsProvider : public MetricsProvider {
|
| // Records the passed profiled data, which should be a snapshot of the
|
| // browser's profiled performance during startup for a single process.
|
| void RecordProfilerData(
|
| - const tracked_objects::ProcessDataSnapshot& process_data,
|
| - int process_type);
|
| + const tracked_objects::ProcessDataPhaseSnapshot& process_data,
|
| + base::ProcessId process_id,
|
| + content::ProcessType process_type,
|
| + int profiling_phase,
|
| + base::TimeDelta phase_start,
|
| + base::TimeDelta phase_finish,
|
| + const ProfilerEvents& past_events);
|
|
|
| private:
|
| // Returns whether current connection is cellular or not according to the
|
| @@ -41,12 +48,10 @@ class ProfilerMetricsProvider : public MetricsProvider {
|
| bool IsCellularConnection();
|
|
|
| // Saved cache of generated Profiler event protos, to be copied into the UMA
|
| - // proto when ProvideGeneralMetrics() is called.
|
| - ProfilerEventProto profiler_event_cache_;
|
| -
|
| - // True if this instance has recorded profiler data since the last call to
|
| - // ProvideGeneralMetrics().
|
| - bool has_profiler_data_;
|
| + // proto when ProvideGeneralMetrics() is called. The map is from a profiling
|
| + // phase id to the profiler event proto that represents profiler data for the
|
| + // profiling phase.
|
| + std::map<int, ProfilerEventProto> profiler_events_cache_;
|
|
|
| // Callback function used to get current network connection type.
|
| base::Callback<void(bool*)> cellular_callback_;
|
|
|