[TimeStats] reduce aggregated stats size for shared timeline-based stats
Shared timeline tracks transaction-level jank, where a transaction is not necessarily associated with a buffer. But, in general transactions have debugging names that are not intended to be aggregated if there was no buffer. E.g., they include things like hash codes, and systemui generates a lot of different layer names (e.g., there is a separate animation leash used per app on app launch). As a workaround, to avoid needing to impose a restriction on all transaction callers on layer names, we'll do the following: * Layers that do not have buffers associated with them are collected into a generic bucket keyed by the app uid, with a layer name == "none". Because we enforce a minimum layer name, this is suitable as a default choice for a layer name. This way we can continue to collect transaction-level jank associated with things like animation leashes. * Layers that already associated with buffers are collected as normal, so as to preserve existing data fidelity. Bug: 173018067 Bug: 171309796 Test: adb shell dumpsys SurfaceFlinger --timestats -enable Test: adb shell dumpsys SurfaceFlinger --timestats -dump Change-Id: I8fa57ac99de14f17464d6b5d6bb4d719bd7ad9a3
Loading
Please register or sign in to comment