summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Gamito <pablogamito@google.com>2023-06-09 14:23:25 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-06-09 14:23:25 +0000
commit2809fe16429e1d974e35e95493a7708ca00aae02 (patch)
tree58865261f0b295a9c10e392dbebec87f2b7702fb
parentc43426f67e75f02b3467451a78989198713c57d1 (diff)
parent89570faf2c88e0c217131443f8e11a705e159624 (diff)
downloaddevelopment-2809fe16429e1d974e35e95493a7708ca00aae02.tar.gz
Show noop transactions in viewer am: 89570faf2c
Original change: https://googleplex-android-review.googlesource.com/c/platform/development/+/23631337 Change-Id: I332a2412178b687000e0ee1a125c52becb07f655 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--tools/winscope/src/viewers/viewer_transactions/presenter.ts20
-rw-r--r--tools/winscope/src/viewers/viewer_transactions/presenter_test.ts21
-rw-r--r--tools/winscope/src/viewers/viewer_transactions/ui_data.ts1
3 files changed, 39 insertions, 3 deletions
diff --git a/tools/winscope/src/viewers/viewer_transactions/presenter.ts b/tools/winscope/src/viewers/viewer_transactions/presenter.ts
index 7c0ef394e..d4a091086 100644
--- a/tools/winscope/src/viewers/viewer_transactions/presenter.ts
+++ b/tools/winscope/src/viewers/viewer_transactions/presenter.ts
@@ -283,6 +283,26 @@ export class Presenter {
)
);
}
+
+ if (
+ transactionStateProto.layerChanges.length === 0 &&
+ transactionStateProto.displayChanges.length === 0
+ ) {
+ entries.push(
+ new UiDataEntry(
+ originalIndex,
+ TimeUtils.format(entry.getTimestamp()),
+ Number(entryProto.vsyncId),
+ transactionStateProto.pid.toString(),
+ transactionStateProto.uid.toString(),
+ UiDataEntryType.NO_OP,
+ '',
+ transactionStateProto.transactionId.toString(),
+ '',
+ {}
+ )
+ );
+ }
}
for (const layerCreationArgsProto of entryProto.addedLayers) {
diff --git a/tools/winscope/src/viewers/viewer_transactions/presenter_test.ts b/tools/winscope/src/viewers/viewer_transactions/presenter_test.ts
index 1cd964ca6..7ea260ef3 100644
--- a/tools/winscope/src/viewers/viewer_transactions/presenter_test.ts
+++ b/tools/winscope/src/viewers/viewer_transactions/presenter_test.ts
@@ -32,7 +32,7 @@ describe('PresenterTransactions', () => {
let traces: Traces;
let presenter: Presenter;
let outputUiData: undefined | UiData;
- const TOTAL_OUTPUT_ENTRIES = 1504;
+ const TOTAL_OUTPUT_ENTRIES = 1647;
beforeAll(async () => {
parser = await UnitTestUtils.getParser('traces/elapsed_and_real_timestamp/Transactions.pb');
@@ -75,10 +75,11 @@ describe('PresenterTransactions', () => {
'LAYER_CHANGED',
'LAYER_DESTROYED',
'LAYER_HANDLE_DESTROYED',
+ 'NO_OP',
]);
- expect(outputUiData?.allTransactionIds.length).toEqual(1152);
- expect(outputUiData?.allLayerAndDisplayIds.length).toEqual(116);
+ expect(outputUiData?.allTransactionIds.length).toEqual(1295);
+ expect(outputUiData?.allLayerAndDisplayIds.length).toEqual(117);
expect(outputUiData?.entries.length).toEqual(TOTAL_OUTPUT_ENTRIES);
@@ -158,6 +159,7 @@ describe('PresenterTransactions', () => {
UiDataEntryType.LAYER_CHANGED,
UiDataEntryType.LAYER_DESTROYED,
UiDataEntryType.LAYER_HANDLE_DESTROYED,
+ UiDataEntryType.NO_OP,
])
);
@@ -189,6 +191,19 @@ describe('PresenterTransactions', () => {
);
});
+ it('includes no op transitions', () => {
+ presenter.onTypeFilterChanged([UiDataEntryType.NO_OP]);
+ expect(new Set(outputUiData!.entries.map((entry) => entry.type))).toEqual(
+ new Set([UiDataEntryType.NO_OP])
+ );
+
+ for (const entry of outputUiData!.entries) {
+ expect(entry.layerOrDisplayId).toEqual('');
+ expect(entry.what).toEqual('');
+ expect(entry.propertiesTree).toEqual({});
+ }
+ });
+
it('filters entries according to "what" search string', () => {
expect(outputUiData!.entries.length).toEqual(TOTAL_OUTPUT_ENTRIES);
diff --git a/tools/winscope/src/viewers/viewer_transactions/ui_data.ts b/tools/winscope/src/viewers/viewer_transactions/ui_data.ts
index 36f2f3e9f..f61d86cdb 100644
--- a/tools/winscope/src/viewers/viewer_transactions/ui_data.ts
+++ b/tools/winscope/src/viewers/viewer_transactions/ui_data.ts
@@ -56,6 +56,7 @@ class UiDataEntryType {
static LAYER_DESTROYED = 'LAYER_DESTROYED';
static LAYER_CHANGED = 'LAYER_CHANGED';
static LAYER_HANDLE_DESTROYED = 'LAYER_HANDLE_DESTROYED';
+ static NO_OP = 'NO_OP';
}
export {UiData, UiDataEntry, UiDataEntryType};