• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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