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

Side by Side Diff: base/tracking_info.h

Issue 18083015: Add queued_time_ms trace for events in message loop (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add queue_duration argument into TRACE_EVENT_FLOW_BEGIN Created 7 years, 5 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 unified diff | Download patch
« base/message_loop/message_loop.cc ('K') | « base/tracked_objects.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This is a simple struct with tracking information that is stored 5 // This is a simple struct with tracking information that is stored
6 // with a PendingTask (when message_loop is handling the task). 6 // with a PendingTask (when message_loop is handling the task).
7 // Only the information that is shared with the profiler in tracked_objects 7 // Only the information that is shared with the profiler in tracked_objects
8 // are included in this structure. 8 // are included in this structure.
9 9
10 10
11 #ifndef BASE_TRACKING_INFO_H_ 11 #ifndef BASE_TRACKING_INFO_H_
12 #define BASE_TRACKING_INFO_H_ 12 #define BASE_TRACKING_INFO_H_
13 13
14 #include "base/time/time.h" 14 #include "base/time/time.h"
15 15
16 namespace tracked_objects { 16 namespace tracked_objects {
17 class Location; 17 class Location;
18 class Births; 18 class Births;
19 } 19 }
20 20
21 namespace base { 21 namespace base {
22 22
23 // This structure is copied around by value. 23 // This structure is copied around by value.
24 struct BASE_EXPORT TrackingInfo { 24 struct BASE_EXPORT TrackingInfo {
25 TrackingInfo(); 25 TrackingInfo();
26 TrackingInfo(const tracked_objects::Location& posted_from, 26 TrackingInfo(const tracked_objects::Location& posted_from,
27 base::TimeTicks delayed_run_time); 27 base::TimeTicks delayed_run_time);
28 ~TrackingInfo(); 28 ~TrackingInfo();
29 29
30 // To avoid conflating our stats with the delay duration in a PostDelayedTask,
31 // we identify such tasks, and replace their post_time with the time they
32 // were scheduled (requested?) to emerge from the delayed task queue. This
33 // means that queuing delay for such tasks will show how long they went
34 // unserviced, after they *could* be serviced. This is the same stat as we
35 // have for non-delayed tasks, and we consistently call it queuing delay.
36 TimeTicks EffectiveTimePosted() const {
jar (doing other things) 2013/07/09 16:50:53 Both uses of the return value immediately convert
Xianzhu 2013/07/09 17:22:43 Done. I thought of consistency with the type of t
37 return delayed_run_time.is_null() ? time_posted : delayed_run_time;
38 }
39
30 // Record of location and thread that the task came from. 40 // Record of location and thread that the task came from.
31 tracked_objects::Births* birth_tally; 41 tracked_objects::Births* birth_tally;
32 42
33 // Time when the related task was posted. 43 // Time when the related task was posted.
34 base::TimeTicks time_posted; 44 base::TimeTicks time_posted;
35 45
36 // The time when the task should be run. 46 // The time when the task should be run.
37 base::TimeTicks delayed_run_time; 47 base::TimeTicks delayed_run_time;
38 }; 48 };
39 49
40 } // namespace base 50 } // namespace base
41 51
42 #endif // BASE_TRACKING_INFO_H_ 52 #endif // BASE_TRACKING_INFO_H_
OLDNEW
« base/message_loop/message_loop.cc ('K') | « base/tracked_objects.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698