diff options
author | Nataniel Borges <natanieljr@google.com> | 2019-01-03 14:22:44 -0800 |
---|---|---|
committer | Nataniel Borges <natanieljr@google.com> | 2019-01-28 13:37:13 -0800 |
commit | 98d92aa5d3f13124b364b2e58de2df0283b2c1d0 (patch) | |
tree | 0bb6544b696fbab7af7fa80390cad523e720f13d /tests/DynamicCodeLoggerIntegrationTests/src/cpp/test_executable.cpp | |
parent | ffa0d6c94453c1fcb70d6b29894e1e2d95fffb85 (diff) |
Support a ring buffer or a queue to store window manager traces
Currently the WM uses a BlockingQueue with limited capacity to store
the traces and a separate thread to continuously write the buffer
elements to disk. This implementation allows the WM trace to use its
current logging behavior or to use a ring buffer instead.
The ring buffer:
- Stores the most recent traces and discard the oldest ones when it
reaches maximum capacity.
- Write to disk only when the trace logging is stopped or during a
bugreport, instead of having a thread to continuously write to disk.
The ring buffer can be selected (or disabled) using the command:
- adb shell cmd window tracing continuous (true/false)
Any value other than "true" (case insensitive) is considered false
After selecting ring buffer, start and stop WM trace
monitoring with 'adb shell cmd window tracing (start/stop)'
Current capacity is fixed to 512KB. Future implementations will make
this value configurable.
Test: Flash a device. Enable continuous mode and window manager
tracing. Use the device. Stop the trace and pull the logged trace.
Open the trace in Winscope and check if the last X KB of data are
there. Unit tests: atest WmTests:WindowTraceBufferTest
Change-Id: Id4108b0231ab7af504240ea35c8a030fecf8b8a9
Diffstat (limited to 'tests/DynamicCodeLoggerIntegrationTests/src/cpp/test_executable.cpp')
0 files changed, 0 insertions, 0 deletions