-
public final class RenderingMetricsClass aggregating raw frame metrics into more high level representation suitable for reporting and simpler to analyze
-
-
Field Summary
Fields Modifier and Type Field Description private final LongtotalFramesprivate final LongslowFramesprivate final LongfrozenFramesprivate final LongdroppedFramesprivate final LongtotalFreezeTimeMsprivate final LongforegroundTimeMs
-
Method Summary
Modifier and Type Method Description final LonggetTotalFrames()Total amount of frames rendered during the screen session final LonggetSlowFrames()Amount of frames that take more that 16ms to render (considered as "slow") final LonggetFrozenFrames()Amount of frames that take more that 700ms to render (considered as "frozen") final LonggetDroppedFrames()Amount of "good" frames that potentially could be rendered, but were "dropped" due to rendering performance issues. final LonggetTotalFreezeTimeMs()Total time of freezing the UI due to rendering of the slow frames per screen session. final LonggetForegroundTimeMs()Total time spent by user on current screen. -
-
Method Detail
-
getTotalFrames
final Long getTotalFrames()
Total amount of frames rendered during the screen session
-
getSlowFrames
final Long getSlowFrames()
Amount of frames that take more that 16ms to render (considered as "slow")
-
getFrozenFrames
final Long getFrozenFrames()
Amount of frames that take more that 700ms to render (considered as "frozen")
-
getDroppedFrames
final Long getDroppedFrames()
Amount of "good" frames that potentially could be rendered, but were "dropped" due to rendering performance issues.
For instance if we target 60fps, the "good" frame would be any frame rendered for less than 16ms. But when we see "slow" frame that take 48ms to render, it spend the same time to render as 3 "good" frames would spend. That means that due to performance issue the app has rendered 1 frame, but 2 potentially good frames were dropped
-
getTotalFreezeTimeMs
final Long getTotalFreezeTimeMs()
Total time of freezing the UI due to rendering of the slow frames per screen session. This metric accumulates all freeze durations during the screen session
-
getForegroundTimeMs
final Long getForegroundTimeMs()
Total time spent by user on current screen. Helpful as a supporting metrics, since sometimes increase in Total Freeze Time might be caused by longer interactions with the screen
-
-
-
-