Index: tools/telemetry/telemetry/core/backends/chrome/tracing_backend.py |
diff --git a/tools/telemetry/telemetry/core/backends/chrome/tracing_backend.py b/tools/telemetry/telemetry/core/backends/chrome/tracing_backend.py |
index 425b39f37b6ce2c840aa2f827d2df56a2e7e8590..e63a10b788c6eb25bf6b811c5233a556384195bf 100644 |
--- a/tools/telemetry/telemetry/core/backends/chrome/tracing_backend.py |
+++ b/tools/telemetry/telemetry/core/backends/chrome/tracing_backend.py |
@@ -21,9 +21,9 @@ class TracingUnsupportedException(Exception): |
# protocol, where trace data were sent as JSON-serialized strings. DevTools |
# now send the data as raw objects within the protocol message JSON, so there's |
# no need in extra de-serialization. We might want to remove this in the future. |
-class TraceResultImpl(object): |
+class LegacyTraceResult(trace_result.TraceResult): |
def __init__(self, tracing_data): |
- self._tracing_data = tracing_data |
+ super(LegacyTraceResult, self).__init__(tracing_data) |
def Serialize(self, f): |
f.write('{"traceEvents": [') |
@@ -43,25 +43,25 @@ class TraceResultImpl(object): |
f.write(d[i]) |
f.write(']}') |
- def AsTimelineModel(self): |
+ def _CreateTimelineModel(self): |
f = cStringIO.StringIO() |
self.Serialize(f) |
return model.TimelineModel( |
event_data=f.getvalue(), |
shift_world_to_zero=False) |
-# RawTraceResultImpl differs from TraceResultImpl above in that |
+# RawTraceResult differs from LegacyTraceResult above in that |
# data are kept as a list of dicts, not strings. |
-class RawTraceResultImpl(object): |
+class RawTraceResult(trace_result.TraceResult): |
def __init__(self, tracing_data): |
- self._tracing_data = tracing_data |
+ super(RawTraceResult, self).__init__(tracing_data) |
def Serialize(self, f): |
f.write('{"traceEvents":') |
json.dump(self._tracing_data, f) |
f.write('}') |
- def AsTimelineModel(self): |
+ def _CreateTimelineModel(self): |
return model.TimelineModel(self._tracing_data) |
class CategoryFilter(object): |
@@ -135,10 +135,14 @@ class TracingBackend(object): |
self._category_filter = None |
self._nesting = 0 |
self._tracing_data = [] |
+ self._tab_to_marker_map = {} |
def _IsTracing(self): |
return self._thread != None |
+ def AddTabToMarkerMapping(self, tab, marker): |
+ self._tab_to_marker_map[tab] = marker |
+ |
def StartTracing(self, custom_categories=None, timeout=10): |
""" Starts tracing on the first nested call and returns True. Returns False |
and does nothing on subsequent nested calls. |
@@ -188,10 +192,12 @@ class TracingBackend(object): |
def _GetTraceResult(self): |
assert not self._IsTracing() |
if self._tracing_data and type(self._tracing_data[0]) in [str, unicode]: |
- result_impl = TraceResultImpl(self._tracing_data) |
+ result = LegacyTraceResult(self._tracing_data) |
else: |
- result_impl = RawTraceResultImpl(self._tracing_data) |
- return trace_result.TraceResult(result_impl) |
+ result = RawTraceResult(self._tracing_data) |
+ for key, value in self._tab_to_marker_map.iteritems(): |
nduca
2013/10/31 07:32:02
this is not quite right. you should be passing in
|
+ result.AddTabToMarkerMapping(key, value) |
+ return result |
def _GetTraceResultAndReset(self): |
result = self._GetTraceResult() |