diff options
Diffstat (limited to 'base/tracking_info.h')
-rw-r--r-- | base/tracking_info.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/base/tracking_info.h b/base/tracking_info.h index dacbcea..ba9585e 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; |