| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 # Copyright (c) 2013 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 class TimelineEvent(object): |  | 
| 6   """Represents a timeline event.""" |  | 
| 7   def __init__(self, name, start_time_ms, duration_ms, args=None): |  | 
| 8     self.name = name |  | 
| 9     self.start_time_ms = start_time_ms |  | 
| 10     self.duration_ms = duration_ms |  | 
| 11     self.children = [] |  | 
| 12     self.args = args |  | 
| 13 |  | 
| 14   @property |  | 
| 15   def end_time_ms(self): |  | 
| 16     return self.start_time_ms + self.duration_ms |  | 
| 17 |  | 
| 18   @property |  | 
| 19   def self_time_ms(self): |  | 
| 20     """Time spent in this function less any time spent in child events.""" |  | 
| 21     child_total = sum( |  | 
| 22       [e.duration_ms for e in self.children]) |  | 
| 23     return self.duration_ms - child_total |  | 
| 24 |  | 
| 25   def __repr__(self): |  | 
| 26     if self.args: |  | 
| 27       args_str = ', ' + repr(self.args) |  | 
| 28     else: |  | 
| 29       args_str = '' |  | 
| 30 |  | 
| 31     return "TimelineEvent(name='%s', start_ms=%f, duration_ms=%s%s)" % ( |  | 
| 32       self.name, |  | 
| 33       self.start_time_ms, |  | 
| 34       self.duration_ms, |  | 
| 35       args_str) |  | 
| 36 |  | 
| 37   @staticmethod |  | 
| 38   def _GetAllChildrenRecursive(events, item): |  | 
| 39     events.append(item) |  | 
| 40     for child in item.children: |  | 
| 41       TimelineEvent._GetAllChildrenRecursive(events, child) |  | 
| 42 |  | 
| 43   def GetAllChildrenRecursive(self, include_self=False): |  | 
| 44     events = [] |  | 
| 45     TimelineEvent._GetAllChildrenRecursive(events, self) |  | 
| 46     if not include_self: |  | 
| 47       del events[0] |  | 
| 48     return events |  | 
| OLD | NEW | 
|---|