You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The depth of this screen in the application’s screen hierarchy, where 0 represents the root screen.
93
+
The time, in nanoseconds, from screen initialization to the first frame being rendered.
94
94
note: >
95
-
Depth represents the screen's position in the screen hierarchy tree.
96
-
The root screen of the app is considered to have a depth of 0. Screens
97
-
that are nested within other screens (such as in tab navigation, modals,
98
-
or multi-screen flows) will have increasing depth values (1, 2, etc.).
99
-
For example, a modal screen that is presented over the root screen would
100
-
have a depth of 1, while a screen inside a modal might have a depth of 2.
101
-
examples: [0, 2, 5]
102
-
- id: app.screen.first_appear.duration
103
-
type: int
104
-
stability: development
105
-
brief: >
106
-
The time, in nanoseconds, from screen initialization to the first visual render of the screen.
107
-
note: >
108
-
This measures the time, in nanoseconds, until the first pixels of the screen
109
-
are drawn and the screen becomes visible to the user.
110
-
It does not necessarily mean the screen is fully interactive or that dynamic content
111
-
(like images, API responses, or animations) is fully loaded.
95
+
This measures the time, in nanoseconds, until the first frame of the screen
96
+
is rendered and becomes visible to the user.
112
97
examples: [1000]
113
98
- id: app.screen.load.duration
114
99
type: int
115
100
stability: development
116
101
brief: >
117
-
The total time, in nanoseconds, from navigation trigger (e.g., button tap)
118
-
to when the screen is able to handle user interactions.
102
+
The time taken, in nanoseconds, for a screen to load and become stable, measured from when
103
+
the screen begins appearing until the first stable frame has been rendered.
119
104
note: >
120
-
This includes time, in nanoseconds, spent rendering the screen, waiting for dynamic content
121
-
(if necessary), and ensuring the app is ready to process user input.
122
-
The screen is considered "ready" once the UI is able to respond to user interactions
123
-
such as taps, swipes, or gestures.
105
+
This attribute represents the total duration, in nanoseconds, of a screen load as experienced by the user.
106
+
The screen load is considered complete when the first stable frame of the screen has been rendered.
107
+
A frame is considered stable when no major layout or frame changes occur for a brief stability interval (e.g. 150 ms).
124
108
examples: [1000]
125
-
- id: app.screen.main_thread_busy_time
126
-
type: int
127
-
stability: development
128
-
brief: >
129
-
The time, in nanoseconds, during which the main thread is occupied or
130
-
blocked from processing user input, such as during rendering, animations,
131
-
or network requests. This indicates the time the app is "busy" and unable to respond to user interactions.
132
-
- id: app.screen.nodes
133
-
type: int
134
-
stability: development
135
-
brief: >
136
-
The total number of visual or interactive elements (widgets, views, components, etc.) within an application screen.
137
-
note: >
138
-
A "node" is any individual visual or interactive component contained within a screen.
139
-
This includes UI elements like buttons, labels, text fields, images, containers, and static content such as images or text.
140
-
examples: [5, 23, 147]
141
109
- id: app.screen.type
142
110
type:
143
111
members:
@@ -196,15 +164,7 @@ groups:
196
164
stability: development
197
165
- id: warm
198
166
value: "warm"
199
-
brief: App start from background state]
200
-
stability: development
201
-
- id: hot
202
-
value: "hot"
203
-
brief: App start from memory (already running)
204
-
stability: development
205
-
- id: pre_warm
206
-
value: "pre_warm"
207
-
brief: App start using pre-warmed process
167
+
brief: App start from background state
208
168
stability: development
209
169
stability: development
210
170
brief: >
@@ -214,9 +174,7 @@ groups:
214
174
215
175
- **Cold**: The app is started from a terminated state, meaning no prior instance of the app is running.
216
176
- **Warm**: The app is started from the background, meaning an instance of the app is still in memory, but not active.
217
-
- **Hot**: The app is already running and brought to the foreground, meaning no re-initialization is needed.
218
-
- **Pre-Warm**: The app started uses a pre-warmed process, meaning part of the app's initialization has already been done in anticipation of the start.
0 commit comments