security/sandbox/chromium/base/tracking_info.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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
     3 // found in the LICENSE file.
     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.
    11 #ifndef BASE_TRACKING_INFO_H_
    12 #define BASE_TRACKING_INFO_H_
    14 #include "base/base_export.h"
    15 #include "base/profiler/tracked_time.h"
    16 #include "base/time/time.h"
    18 namespace tracked_objects {
    19 class Location;
    20 class Births;
    21 }
    23 namespace base {
    25 // This structure is copied around by value.
    26 struct BASE_EXPORT TrackingInfo {
    27   TrackingInfo();
    28   TrackingInfo(const tracked_objects::Location& posted_from,
    29                base::TimeTicks delayed_run_time);
    30   ~TrackingInfo();
    32   // To avoid conflating our stats with the delay duration in a PostDelayedTask,
    33   // we identify such tasks, and replace their post_time with the time they
    34   // were scheduled (requested?) to emerge from the delayed task queue. This
    35   // means that queuing delay for such tasks will show how long they went
    36   // unserviced, after they *could* be serviced.  This is the same stat as we
    37   // have for non-delayed tasks, and we consistently call it queuing delay.
    38   tracked_objects::TrackedTime EffectiveTimePosted() const {
    39     return tracked_objects::TrackedTime(
    40         delayed_run_time.is_null() ? time_posted : delayed_run_time);
    41   }
    43   // Record of location and thread that the task came from.
    44   tracked_objects::Births* birth_tally;
    46   // Time when the related task was posted.
    47   base::TimeTicks time_posted;
    49   // The time when the task should be run.
    50   base::TimeTicks delayed_run_time;
    51 };
    53 }  // namespace base
    55 #endif  // BASE_TRACKING_INFO_H_

mercurial