1#!/usr/bin/env python3 2# Copyright (C) 2020 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16from os import sys 17 18import synth_common 19from synth_common import s_to_ns 20 21trace = synth_common.create_trace() 22 23trace.add_chrome_metadata(os_name="Android") 24 25track1 = 1234 26track2 = 4567 27 28trace.add_process_track_descriptor(track1, pid=0) 29trace.add_process_track_descriptor(track2, pid=2) 30 31trace.add_rail_mode_slice( 32 ts=0, 33 dur=s_to_ns(1), 34 track=track1, 35 mode=trace.prototypes.ChromeRAILMode.RAIL_MODE_RESPONSE) 36trace.add_rail_mode_slice( 37 ts=s_to_ns(1), 38 dur=s_to_ns(2), 39 track=track1, 40 mode=trace.prototypes.ChromeRAILMode.RAIL_MODE_LOAD) 41trace.add_rail_mode_slice( 42 ts=s_to_ns(3), 43 dur=-1, 44 track=track1, 45 mode=trace.prototypes.ChromeRAILMode.RAIL_MODE_IDLE) 46 47trace.add_rail_mode_slice( 48 ts=0, 49 dur=s_to_ns(1), 50 track=track2, 51 mode=trace.prototypes.ChromeRAILMode.RAIL_MODE_ANIMATION) 52trace.add_rail_mode_slice( 53 ts=s_to_ns(1), 54 dur=s_to_ns(2.5), 55 track=track2, 56 mode=trace.prototypes.ChromeRAILMode.RAIL_MODE_IDLE) 57trace.add_rail_mode_slice( 58 ts=s_to_ns(2.5), 59 dur=s_to_ns(1), 60 track=track2, 61 mode=trace.prototypes.ChromeRAILMode.RAIL_MODE_ANIMATION) 62trace.add_rail_mode_slice( 63 ts=s_to_ns(3.5), 64 dur=s_to_ns(1), 65 track=track2, 66 mode=trace.prototypes.ChromeRAILMode.RAIL_MODE_IDLE) 67 68sys.stdout.buffer.write(trace.trace.SerializeToString()) 69