OLD | NEW |
1 # Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2016 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 """Represents the trace of a page load.""" | 5 """Represents the trace of a page load.""" |
6 | 6 |
7 import datetime | 7 import datetime |
8 import json | 8 import json |
9 import time | 9 import time |
10 | 10 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 self._PAGE_KEY: self.page_track.ToJsonDict(), | 45 self._PAGE_KEY: self.page_track.ToJsonDict(), |
46 self._REQUEST_KEY: self.request_track.ToJsonDict(), | 46 self._REQUEST_KEY: self.request_track.ToJsonDict(), |
47 self._TRACING_KEY: (self.tracing_track.ToJsonDict() | 47 self._TRACING_KEY: (self.tracing_track.ToJsonDict() |
48 if self.tracing_track else None)} | 48 if self.tracing_track else None)} |
49 return result | 49 return result |
50 | 50 |
51 def ToJsonFile(self, json_path): | 51 def ToJsonFile(self, json_path): |
52 """Save a json file representing this instance.""" | 52 """Save a json file representing this instance.""" |
53 json_dict = self.ToJsonDict() | 53 json_dict = self.ToJsonDict() |
54 with open(json_path, 'w') as output_file: | 54 with open(json_path, 'w') as output_file: |
55 json.dump(json_dict, output_file, indent=2) | 55 json.dump(json_dict, output_file) |
56 | 56 |
57 @classmethod | 57 @classmethod |
58 def FromJsonDict(cls, json_dict): | 58 def FromJsonDict(cls, json_dict): |
59 """Returns an instance from a dictionary returned by ToJsonDict().""" | 59 """Returns an instance from a dictionary returned by ToJsonDict().""" |
60 keys = (cls._URL_KEY, cls._METADATA_KEY, cls._PAGE_KEY, cls._REQUEST_KEY, | 60 keys = (cls._URL_KEY, cls._METADATA_KEY, cls._PAGE_KEY, cls._REQUEST_KEY, |
61 cls._TRACING_KEY) | 61 cls._TRACING_KEY) |
62 assert all(key in json_dict for key in keys) | 62 assert all(key in json_dict for key in keys) |
63 page = page_track.PageTrack.FromJsonDict(json_dict[cls._PAGE_KEY]) | 63 page = page_track.PageTrack.FromJsonDict(json_dict[cls._PAGE_KEY]) |
64 request = request_track.RequestTrack.FromJsonDict( | 64 request = request_track.RequestTrack.FromJsonDict( |
65 json_dict[cls._REQUEST_KEY]) | 65 json_dict[cls._REQUEST_KEY]) |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 """ | 117 """ |
118 self._tracing_json_str = json.dumps(self._tracing_track.ToJsonDict()) | 118 self._tracing_json_str = json.dumps(self._tracing_track.ToJsonDict()) |
119 self._tracing_track = None | 119 self._tracing_track = None |
120 | 120 |
121 def _RestoreTracingTrack(self): | 121 def _RestoreTracingTrack(self): |
122 if not self._tracing_json_str: | 122 if not self._tracing_json_str: |
123 return None | 123 return None |
124 self._tracing_track = tracing.TracingTrack.FromJsonDict( | 124 self._tracing_track = tracing.TracingTrack.FromJsonDict( |
125 json.loads(self._tracing_json_str)) | 125 json.loads(self._tracing_json_str)) |
126 self._tracing_json_str = None | 126 self._tracing_json_str = None |
OLD | NEW |