| Index: components/metrics/profiler/tracking_synchronizer_observer.h
|
| diff --git a/components/metrics/profiler/tracking_synchronizer_observer.h b/components/metrics/profiler/tracking_synchronizer_observer.h
|
| index b9301bb268e4d0c97319916752f2d31dd231834e..a1141dbc87f47ebed6dfce465bd115ca3d5f08de 100644
|
| --- a/components/metrics/profiler/tracking_synchronizer_observer.h
|
| +++ b/components/metrics/profiler/tracking_synchronizer_observer.h
|
| @@ -5,21 +5,41 @@
|
| #ifndef COMPONENTS_METRICS_PROFILER_TRACKING_SYNCHRONIZER_OBSERVER_H_
|
| #define COMPONENTS_METRICS_PROFILER_TRACKING_SYNCHRONIZER_OBSERVER_H_
|
|
|
| +#include <vector>
|
| +
|
| +#include "components/metrics/proto/chrome_user_metrics_extension.pb.h"
|
| +
|
| +namespace base {
|
| +class TimeDelta;
|
| +}
|
| +
|
| namespace tracked_objects {
|
| -struct ProcessDataSnapshot;
|
| +struct ProcessDataPhaseSnapshot;
|
| }
|
|
|
| namespace metrics {
|
|
|
| +// Set of profiling events, in no guaranteed order.
|
| +typedef std::vector<ProfilerEventProto::ProfilerEvent> ProfilerEventsSet;
|
| +
|
| // Observer for notifications from the TrackingSynchronizer class.
|
| class TrackingSynchronizerObserver {
|
| public:
|
| - // Received |profiler_data| from a single process of |process_type|.
|
| + // Received |process_data_phase| for profiling phase |profiling_phase| from a
|
| + // single process of |process_type|. The phase start and finish times,
|
| + // relative to the start time are |profiling_phase_start| and
|
| + // |profiling_phase_finish|. |past_profiler_events| is the set of events that
|
| + // caused finishing prior profiling phases.
|
| // The observer should assume there might be more data coming until
|
| // |FinishedReceivingData()| is called.
|
| virtual void ReceivedProfilerData(
|
| - const tracked_objects::ProcessDataSnapshot& profiler_data,
|
| - int process_type) = 0;
|
| + const tracked_objects::ProcessDataPhaseSnapshot& process_data_phase,
|
| + int process_id,
|
| + int process_type,
|
| + int profiling_phase,
|
| + const base::TimeDelta& profiling_phase_start,
|
| + const base::TimeDelta& profiling_phase_finish,
|
| + const ProfilerEventsSet& past_profiler_events) = 0;
|
|
|
| // The observer should not expect any more calls to |ReceivedProfilerData()|
|
| // (without re-registering). This is sent either when data from all processes
|
|
|