• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2023 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  */
16 
17 package android.tools.testutils
18 
19 import android.tools.Timestamps
20 import android.tools.traces.TraceConfig
21 import android.tools.traces.TraceConfigs
22 
23 object TestTraces {
24     object LayerTrace {
25         private const val ASSET = "layers_trace.perfetto-trace"
26         val START_TIME = Timestamps.from(systemUptimeNanos = 1618663562444)
27         val SLICE_TIME = Timestamps.from(systemUptimeNanos = 1618715108595)
28         val END_TIME = Timestamps.from(systemUptimeNanos = 1620770824112)
29         val FILE
30             get() = readAssetAsFile(ASSET)
31     }
32 
33     object WMTrace {
34         private const val ASSET = "wm_trace.perfetto-trace"
35         val START_TIME = Timestamps.from(elapsedNanos = 1618650751245)
36         val SLICE_TIME = Timestamps.from(elapsedNanos = 1618730362295)
37         val END_TIME = Timestamps.from(elapsedNanos = 1620756218174)
38         val FILE
39             get() = readAssetAsFile(ASSET)
40     }
41 
42     object LegacyWMTrace {
43         private const val ASSET = "wm_trace.winscope"
44         val START_TIME = Timestamps.from(elapsedNanos = 1618650751245)
45         val SLICE_TIME = Timestamps.from(elapsedNanos = 1618730362295)
46         val END_TIME = Timestamps.from(elapsedNanos = 1620756218174)
47         val FILE
48             get() = readAssetAsFile(ASSET)
49     }
50 
51     object EventLog {
52         private const val ASSET = "eventlog.winscope"
53         // from CUJ event
54         val START_TIME = Timestamps.from(unixNanos = 100)
55         val SLICE_TIME = Timestamps.from(unixNanos = 1670594384516466159)
56         val END_TIME = Timestamps.from(unixNanos = 1670594389958451901)
57         val FILE
58             get() = readAssetAsFile(ASSET)
59     }
60 
61     object TransactionTrace {
62         private const val ASSET = "transactions_trace.perfetto-trace"
63         val START_TIME =
64             Timestamps.from(systemUptimeNanos = 1556111744859, elapsedNanos = 1556111744859)
65         val VALID_SLICE_TIME =
66             Timestamps.from(systemUptimeNanos = 1556147625539, elapsedNanos = 1556147625539)
67         val INVALID_SLICE_TIME = Timestamps.from(systemUptimeNanos = 1622127714039 + 1)
68         val END_TIME =
69             Timestamps.from(systemUptimeNanos = 1622127714039, elapsedNanos = 1622127714039)
70         val FILE
71             get() = readAssetAsFile(ASSET)
72     }
73 
74     object LegacyTransitionTrace {
75         private const val WM_ASSET = "wm_transition_trace.winscope"
76         private const val SHELL_ASSET = "shell_transition_trace.winscope"
77 
78         val START_TIME =
79             Timestamps.from(elapsedNanos = 760760231809, systemUptimeNanos = 0, unixNanos = 0)
80         val VALID_SLICE_TIME =
81             Timestamps.from(
82                 elapsedNanos = 2770105426934 - 1000,
83                 systemUptimeNanos = 0,
84                 unixNanos = 0,
85             )
86         val INVALID_SLICE_TIME =
87             Timestamps.from(elapsedNanos = 2770105426934 + 1, systemUptimeNanos = 0, unixNanos = 0)
88         val END_TIME =
89             Timestamps.from(elapsedNanos = 2770105426934, systemUptimeNanos = 0, unixNanos = 0)
90 
91         val WM_FILE
92             get() = readAssetAsFile(WM_ASSET)
93 
94         val SHELL_FILE
95             get() = readAssetAsFile(SHELL_ASSET)
96     }
97 
98     object TransitionTrace {
99         private const val ASSET = "transitions.perfetto-trace"
100 
101         val START_TIME =
102             Timestamps.from(elapsedNanos = 479583450794, systemUptimeNanos = 0, unixNanos = 0)
103         val VALID_SLICE_TIME =
104             Timestamps.from(
105                 elapsedNanos = 479583450794 + 5000,
106                 systemUptimeNanos = 0,
107                 unixNanos = 0,
108             )
109         val INVALID_SLICE_TIME =
110             Timestamps.from(elapsedNanos = 487330863192 + 1, systemUptimeNanos = 0, unixNanos = 0)
111         val END_TIME =
112             Timestamps.from(elapsedNanos = 487330863192, systemUptimeNanos = 0, unixNanos = 0)
113 
114         val FILE
115             get() = readAssetAsFile(ASSET)
116     }
117 
118     object ProtoLogTrace {
119         private const val ASSET = "protolog.perfetto-trace"
120 
121         val START_TIME =
122             Timestamps.from(elapsedNanos = 3663230963946, systemUptimeNanos = 0, unixNanos = 0)
123         val VALID_SLICE_TIME =
124             Timestamps.from(
125                 elapsedNanos = 3663230963946 + 5000,
126                 systemUptimeNanos = 0,
127                 unixNanos = 0,
128             )
129         val INVALID_SLICE_TIME =
130             Timestamps.from(elapsedNanos = 3672045108074 + 1, systemUptimeNanos = 0, unixNanos = 0)
131         val END_TIME =
132             Timestamps.from(elapsedNanos = 3672045108074, systemUptimeNanos = 0, unixNanos = 0)
133 
134         val FILE
135             get() = readAssetAsFile(ASSET)
136     }
137 
138     val TIME_5 = Timestamps.from(5, 5, 5)
139     val TIME_10 = Timestamps.from(10, 10, 10)
140 
141     val TEST_TRACE_CONFIG =
142         TraceConfigs(
143             wmTrace =
144                 TraceConfig(required = false, allowNoChange = false, usingExistingTraces = false),
145             layersTrace =
146                 TraceConfig(required = false, allowNoChange = false, usingExistingTraces = false),
147             transitionsTrace =
148                 TraceConfig(required = false, allowNoChange = false, usingExistingTraces = false),
149             transactionsTrace =
150                 TraceConfig(required = false, allowNoChange = false, usingExistingTraces = false),
151         )
152 }
153