summaryrefslogtreecommitdiff
path: root/libs/gui/BLASTBufferQueue.cpp
diff options
context:
space:
mode:
author Kean Mariotti <keanmariotti@google.com> 2023-04-19 13:41:55 +0000
committer Kean Mariotti <keanmariotti@google.com> 2023-09-01 10:40:54 +0000
commit3e68a20316a7d9d6be55bb71adad643a0eb7f856 (patch)
treeb55980a2bb0ad9614c9963dc65f2c80ee61f0a31 /libs/gui/BLASTBufferQueue.cpp
parent639b54fb2cbf67a94a957ea235fe36abe007a2ae (diff)
Revert^2 Integrate transaction tracing with perfetto
Define the perfetto custom data source TransactionDataSource. TransactionDataSource is registered with perfetto and is used to listen to perfetto events (setup, start, stop, flush) and to write trace packets to perfetto. The user can configure/start/stop tracing via /system/bin/perfetto. Tracing can operate in the following modes. ACTIVE mode: The transactions ring buffer (starting state + following committed transactions) is written (only once) to perfetto when the 'start' event is received. Transactions are then written to perfetto each time they are committed. On the receiver side, the data source is to be configured to periodically flush data to disk providing a virtually infinite storage. CONTINUOUS mode: Listens to the perfetto 'flush' event (e.g. when a bugreport is taken). When a 'flush' event is received, the ring buffer (starting state + following committed transactions) hold by TransactionTracing is written to perfetto. On the receiver side, the data source is to be configured with a dedicated buffer large enough to store all the flushed data. Bug: b/284424784 Test: atest libsurfaceflinger_unittest && atest transactiontrace_testsuite Change-Id: I703ed53e71f442e2f6af7c4a638d2f847107167a
Diffstat (limited to 'libs/gui/BLASTBufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions