1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved. 2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)# found in the LICENSE file. 4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)import json 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)from telemetry.timeline.timeline_data import TimelineData 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 96e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class TracingTimelineData(TimelineData): 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def __init__(self, event_data): 12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) super(TracingTimelineData, self).__init__() 13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) self._event_data = event_data 14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def Serialize(self, f): 16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """Serializes the trace result to a file-like object""" 17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) if 'traceEvents' in self._event_data: 186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) json.dump(self._event_data, f, indent=4) 19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) else: 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) json.dump({'traceEvents' : self._event_data}, f, indent=4) 21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def EventData(self): 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return self._event_data 24