| Index: base/tracking_info.h
|
| diff --git a/base/tracking_info.h b/base/tracking_info.h
|
| index dacbcea1d2b9d83a4734b5c5b21216f4cac004f7..ba9585e6d9b7d6a8105a9c427d121d038c388b8f 100644
|
| --- a/base/tracking_info.h
|
| +++ b/base/tracking_info.h
|
| @@ -11,6 +11,7 @@
|
| #ifndef BASE_TRACKING_INFO_H_
|
| #define BASE_TRACKING_INFO_H_
|
|
|
| +#include "base/profiler/tracked_time.h"
|
| #include "base/time/time.h"
|
|
|
| namespace tracked_objects {
|
| @@ -27,6 +28,17 @@ struct BASE_EXPORT TrackingInfo {
|
| base::TimeTicks delayed_run_time);
|
| ~TrackingInfo();
|
|
|
| + // To avoid conflating our stats with the delay duration in a PostDelayedTask,
|
| + // we identify such tasks, and replace their post_time with the time they
|
| + // were scheduled (requested?) to emerge from the delayed task queue. This
|
| + // means that queuing delay for such tasks will show how long they went
|
| + // unserviced, after they *could* be serviced. This is the same stat as we
|
| + // have for non-delayed tasks, and we consistently call it queuing delay.
|
| + tracked_objects::TrackedTime EffectiveTimePosted() const {
|
| + return tracked_objects::TrackedTime(
|
| + delayed_run_time.is_null() ? time_posted : delayed_run_time);
|
| + }
|
| +
|
| // Record of location and thread that the task came from.
|
| tracked_objects::Births* birth_tally;
|
|
|
|
|