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

Unified Diff: tools/android/loading/loading_trace.py

Issue 1848203003: clovis: Add a method to slim a trace by dropping large objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/android/loading/loading_trace.py
diff --git a/tools/android/loading/loading_trace.py b/tools/android/loading/loading_trace.py
index 6dbd13deb9f12075a812f2f1a7fc97b5e7238673..7630bcc07cff699482928a6eb80a2e00d6e5d88f 100644
--- a/tools/android/loading/loading_trace.py
+++ b/tools/android/loading/loading_trace.py
@@ -34,7 +34,8 @@ class LoadingTrace(object):
self.metadata = metadata
self.page_track = page
self.request_track = request
- self.tracing_track = tracing_track
+ self._tracing_track = tracing_track
+ self._tracing_json_str = None
def ToJsonDict(self):
"""Returns a dictionary representing this instance."""
@@ -94,3 +95,23 @@ class LoadingTrace(object):
else categories))
connection.MonitorUrl(url, timeout_seconds=timeout_seconds)
return cls(url, chrome_metadata, page, request, trace)
+
+ @property
+ def tracing_track(self):
+ if not self._tracing_track:
+ self._RestoreTracingTrack()
+ return self._tracing_track
+
+ def Slim(self):
+ """Slims the memory usage of a trace by dropping the TraceEvents from it.
+
+ The tracing track is restored on-demand when accessed.
+ """
+ self._tracing_json_str = json.dumps(self._tracing_track.ToJsonDict())
+ self._tracing_track = None
+
+ def _RestoreTracingTrack(self):
+ assert self._tracing_json_str
+ self._tracing_track = tracing.TracingTrack.FromJsonDict(
+ json.loads(self._tracing_json_str))
+ self._tracing_json_str = None
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698