blob: 0886fdfe2f3f938ed231dd032515a50408a9b554 [file] [log] [blame]
[email protected]b2a9bbd2011-10-31 22:36:211// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This is a simple struct with tracking information that is stored
6// with a PendingTask (when message_loop is handling the task).
7// Only the information that is shared with the profiler in tracked_objects
8// are included in this structure.
9
10
11#ifndef BASE_TRACKING_INFO_H_
12#define BASE_TRACKING_INFO_H_
13
14#include "base/time.h"
15
16namespace tracked_objects {
17class Location;
18class Births;
19}
20
21namespace base {
22
23// This structure is copied around by value.
24struct BASE_EXPORT TrackingInfo {
25 TrackingInfo(const tracked_objects::Location& posted_from,
26 base::TimeTicks delayed_run_time);
27 ~TrackingInfo();
28
29 // Record of location and thread that the task came from.
30 tracked_objects::Births* birth_tally;
31
32 // Time when the related task was posted.
33 base::TimeTicks time_posted;
34
35 // The time when the task should be run.
36 base::TimeTicks delayed_run_time;
37};
38
39} // namespace base
40
41#endif // BASE_TRACKING_INFO_H_