Commit Graph

3094 Commits

Author SHA1 Message Date
Vishnu Nair
cd7c4662e4 Calculate max bounds correctly in winscope
Fixes: 143083963
Test: open banana.pb from bug in winscope, notice its not cut off
Change-Id: I6443426d8e540d5757aad41ac60ceb361768bb68
2020-03-19 18:39:44 -07:00
Vishnu Nair
cbddf0ad6c Move wayland support from default build
Wayland trace files are not available in AOSP so building Winscope will
break. Instead, pick up stub files by default and provide an option via
env args to pick up Wayland support.

Also removes obsolete protolog stubs which are no longer needed.

Test: Remove wayland trace from path and check if winscope still builds
Test: Build winscope with WAYLAND=true and confirm it pick up waylandproto file

Fixes: 151239942
Change-Id: Ie5b237725cd656c478a2ea99d469963956399714
2020-03-16 23:35:12 +00:00
Vishnu Nair
7264ef5848 Show properties for DisplayAreas and DisplayContent
Test: open wm trace in winscope, check if properties of DC and DA are
visible.
Fixes: 149672519
Change-Id: Ib5181c655a84fec94307846333fc0b1cc29d38fc

Change-Id: Ib442c75f031ceb72aa00493e46d502944827121c
2020-03-16 11:03:49 -07:00
Alec Mouri
c3457a0454 [Winscope] Add pretty-printing for properties view
This allows hwc blobs to be formatted nicely.

Bug: 119443475
Test: visually inspect SF trace
Change-Id: Ib076e341382bf419cd59d384f2761b0140f04ea4
2020-03-11 18:29:55 -07:00
Vishnu Nair
cdaead818b Support DisplayAreas in Winscope
Bug: 149672519
Test: open trace in winscope

Change-Id: I07eb3ccce0180eb21112417b3949f3953722a29d
2020-03-10 15:19:14 -07:00
Vadim Caen
d654c9e302 Update winscope hierachy protolog parsing
ag/10181371 changed the formart of the protolog dump so mirroring the
changes in winscope

Bug:151140114

Change-Id: Ic9a53303e94d3924017c42b1c37a4a069b383118
(cherry picked from commit 758f832e36)
2020-03-10 14:30:00 +00:00
Vishnu Nair
3553bee9d7 Add EffectLayer visibility to Winscope
Bug: 151091744
Test: open pip and splitscreen trace in winscope check to see colors
and shadows are marked as visible

Change-Id: I1083df1c85c85beb9ad93e39a136a61a4359ca62
2020-03-09 18:32:27 +00:00
Alec Mouri
65066517f1 [Winscope] Add chips for HWC vs GPU composited layers
Bug: 119443475
Test: SF trace
Change-Id: I13289b403d394c07b3ac8e2e7d21e5188bba56d8
2020-02-29 14:33:18 -08:00
Vadim Caen
9f29164784 Fix sysui_trace.proto name
Change-Id: I663923c0101dfb2349022d7deda25000f4ced705
2020-02-12 15:45:39 +01:00
Winson Chung
e079c50b1f Merge "Initial changes to update winscope to read sysui/launcher protos" 2020-01-29 05:04:47 +00:00
Wale Ogunwale
3fa5728f28 Merge "Update Winscope with Windowmanagerservice.proto changes" 2020-01-29 04:40:56 +00:00
Winson Chung
9428955833 Initial changes to update winscope to read sysui/launcher protos
Bug: 144854916
Test: Open sysui/launcher trace in winscope
Change-Id: I2a00351bd688e104ca20a26b8f53a8477e232d8d
2020-01-28 10:18:17 -08:00
Vishnu Nair
92dccb506d Create stub proto definitions for traces that are not available in AOSP
Also add a readme for winscope development.

Bug: 148409169
Test: builds and opens traces in AOSP

Change-Id: I2767301734bcd90410e0f97bc3da22a647bf195c
2020-01-27 15:12:27 -08:00
chaviw
0fa0953237 Added visibility check for missing relativeOf
When the layer has the flag isRelativeOf but the relativeOf is -1, that
means the relativeOf layer has been removed. This would prevent the
layer from showing up on screen, but still be in memory. Added this
reason to list of reasons why layer wouldn't be visible.

Also added fix for BufferLayer check to instead check for BufferQueueLayer
and BufferStateLayer.

Test: winscope shows "RelativeOf layer has been removed"
Change-Id: Id1d59bd71a5aac7a011204ba345d694f67c28a29
Merged-In: Id1d59bd71a5aac7a011204ba345d694f67c28a29
2020-01-27 10:20:14 -08:00
chaviw
0d8808df5e Added format for ColorTransform matrix
ColorTransform is a 4x4 matrix so formated the values to be more
readable.

Also changed code where determines if the buffer is null to check if the
layer type is BufferStateLayer or BufferQueueLayer

Test: go/winscope with color transform
Change-Id: Ief46f2f3260e0736ffced8c233ab375e162d4228
Merged-In: Ief46f2f3260e0736ffced8c233ab375e162d4228
2020-01-27 10:20:05 -08:00
Adam Pardyl
819c345c1e Update Winscope with ProtoLog changes
Winscope side changes for ag/9225809 and ag/9447040.

Bug:
Test: yarn run dev
Change-Id: I2e34edd244996124fa894ee5ee5a57f554fe771e
Merged-In: I29db4770065ffc5bcced5d4cb17a51d2b9924f06
2020-01-27 10:19:57 -08:00
Adam Pardyl
2a94ec6dba Download trace files from Winscope
Added a download file button to DataView.

Bug:
Test: yarn run dev
Change-Id: I203f3f19168c43a0dbefb3ec00237c021380f89f
Merged-In: I203f3f19168c43a0dbefb3ec00237c021380f89f
2020-01-27 10:19:43 -08:00
Adam Pardyl
c5708b2f83 Support ProtoLog in Winscope
Added a new view for displaying logs, ProtoLog decoding and tracing
with ADB Connect.
Fixed a vertical scrolling bug.

Bug:
Test: yarn run dev
Change-Id: I756b596c10242ff919c0d7053813fa0b9f1f88fd
Merged-In: I756b596c10242ff919c0d7053813fa0b9f1f88fd
2020-01-27 10:19:32 -08:00
Adam Pardyl
7c3b2d568f Support WM & SF dumps with ADB Connect, minor fixes
Added support for capturing WindowManager and SurfaceFlinger dumps
directly from the browser.

Fixed DataFilter errors on non-transaction data files.
Fixed Timeline behaviour on empty data list.

Bug: 140374376
Test: yarn run dev & python3 adb_proxy/winscope_proxy.py
Change-Id: I0d47ec36e1e769b856365d2a36c91bfb1f831b71
Merged-In: I0d47ec36e1e769b856365d2a36c91bfb1f831b71
2020-01-27 10:19:23 -08:00
Adam Pardyl
f9e219ce1d Add transaction tracing support, fix device id regex.
Added support for recording SF transactions with ADB Connect,
Fixed device regex not matching emulated devices.

Bug:
Test: yarn run dev & python3 adb_proxy/winscope_proxy.py
Change-Id: I43b45b978841309d3f011df919df69ae7ebc905a
Merged-In: I43b45b978841309d3f011df919df69ae7ebc905a
2020-01-27 10:19:13 -08:00
Vishnu Nair
a1262475d3 Introduced filters to winscope for transaction files.
Test: Launch winscope and upload a transaction file. Verify that the
filter checklist at the top left corner will filter each of the eight
increment types.

Change-Id: I3e2506bdbe32dbcda59b6f263e2bc13e8403ae38
Merged-In: I3e2506bdbe32dbcda59b6f263e2bc13e8403ae38
2020-01-27 10:19:02 -08:00
Adam Pardyl
ab03a005c0 Fix variable name in DataAdb
A typo in a variable name caused the exception handling to fail.

Bug:
Test: yarn run dev
Change-Id: Id02495fe323bbb7f6ccbb973fbe6091a3d518523
Merged-In: Id02495fe323bbb7f6ccbb973fbe6091a3d518523
2020-01-27 10:18:51 -08:00
Adam Pardyl
cbe7c4e5ed Limit the height of Hierarchy and Properties views.
Bug:
Test: yarn run dev
Change-Id: I50d4c9ebe7c376cd7595ffddc092b8d3c760c629
Merged-In: I50d4c9ebe7c376cd7595ffddc092b8d3c760c629
2020-01-27 10:18:39 -08:00
Evan Rosky
e1f3d5d92b Add support for Wayland traces
This adds support for wayland traces, but it isn't complete.
Specifically the rects are ordered funny. However, it is enough
to help with debugging and can be improved over time.

Bug: 129502361
Test: Open a wayland trace and a wayland dump
Change-Id: Iee327f2fee2651ff492d56ee0b06935b5ed57de7
Merged-In: Iee327f2fee2651ff492d56ee0b06935b5ed57de7
2020-01-27 10:18:28 -08:00
Vishnu Nair
33009d144c Winscope: prefix layer id to surface flinger layer name
Also fixes exception on startup in App.vue

Test: open sf trace in winscope
Test: open winscope with debugger and check for exceptions

Change-Id: I2b0e1fad5f26258e7f2ca5c47f82ad11037a84d2
Merged-In: I2b0e1fad5f26258e7f2ca5c47f82ad11037a84d2
2020-01-27 10:18:19 -08:00
Robert Delgado
2c4be1fc8d Fixed bug when clearing file, winscope could not allow up/down arrows.
Test: run yarn dev. First launch a file on winscope, clear, then launch a
second, different file. Now, the up/down arrows will be able to function again.
Change-Id: I4140a1a8f8e1c4d9d2cef054456003aec5661412
Merged-In: I4140a1a8f8e1c4d9d2cef054456003aec5661412
2020-01-27 10:18:09 -08:00
Robert Delgado
a14866b210 Changed shell script for capturing traces.
Captures both transaction and surfaceflinger trace files.

Test: bash capture_transaction.sh then upload transactiontrace.pb and
layerstrace.pb files to the winscope server.

Change-Id: I4461afa4048a504a158e5837af7c75fbedafeb0f
Merged-In: I4461afa4048a504a158e5837af7c75fbedafeb0f
2020-01-27 10:17:59 -08:00
Adam Pardyl
8b38ea8f8d Implement Winscope ADB connect.
The objective of this feature is to simplify the process
of debugging window transition issues by implementing
an automated trace capture flow for the WindowManager
and SurfaceFlinger trace analysis tool - Winscope.
By creating a bridge between the browser-based Winscope
and locally running ADB server traces can be captured
with a single click.

Design doc: https://goto.google.com/winscope-adb-connect

Bug:
Test: yarn run dev & python3 adb_proxy/winscope_proxy.py
Change-Id: I13ee2274566de5e63c89a9e292708416b654fc65
Merged-In: I13ee2274566de5e63c89a9e292708416b654fc65
2020-01-27 10:17:49 -08:00
Robert Delgado
b6eb992807 Added transaction support for winscope.
Test: yarn run dev for a transaction file.
Change-Id: Icfc672e2ab8423da35602d6d3d2e174c53c0154a
Merged-In: Icfc672e2ab8423da35602d6d3d2e174c53c0154a
2020-01-27 10:17:39 -08:00
Adam Pardyl
10884cd134 Update vue-material, regenerate yarn.lock
Version update of vue-material is required by a future CL.

Bug:
Test: yarn run dev

Change-Id: I355720677530066f8bceeb4b36b3841186a67ac1
Merged-In: I355720677530066f8bceeb4b36b3841186a67ac1
2020-01-27 10:17:27 -08:00
Adam Pardyl
f33d616849 Refactor file decoding, implement video view
File decoding code has been refactored to support non-trace files.
Implemented displaying device screen recordings frame-by-frame,
synced to SurfaceFlinger and WindowManager traces.

Design doc: http://go/winscope-video-sync

Test: yarn run dev
Bug:
Change-Id: Ibaa4746a74ecab4ff158cb8bffb346e1f90f8306
Merged-In: Ibaa4746a74ecab4ff158cb8bffb346e1f90f8306
2020-01-27 10:17:15 -08:00
Robert Delgado
0258452674 Fixed visibility check in winscope.
Changed visibility reasoning to check for bufferTransform validity only
when activeBuffer is valid. Also separated reasoning for
transforms and bufferTransforms.

Test: yarn run dev then run a trace file.
Change-Id: I6ed2065c2f316019d9dde41a613b02c311c705e4
Merged-In: I6ed2065c2f316019d9dde41a613b02c311c705e4
2020-01-27 10:17:05 -08:00
Robert Delgado
92b922ac24 Added check for invalid transform.
Test: A transform whose matrix is not invertible.
Change-Id: I6b0b5b9a1c890c8a8694f17a4fbe52a2e875b51a
Merged-In: I6b0b5b9a1c890c8a8694f17a4fbe52a2e875b51a
2020-01-27 10:16:54 -08:00
Robert Delgado
37a206b10b Added reasons for invisibility of a layer.
Test: Create an SFTrace that opens an app, then closes. Then test the
wide variety of layers created by this file.

Change-Id: Idd198cc6507c67a03f38cf3e34d737d319295c16
Merged-In: Idd198cc6507c67a03f38cf3e34d737d319295c16
2020-01-27 10:16:43 -08:00
Adam Pardyl
d49db4cbfb Fix overlapping timeline indicator
The selected data point indicator on timeline was often hidden behind
other data points. This CL changes its behaviour to ensure it is always
visible.

Test: yarn run dev
Bug:
Change-Id: Ide13e97ac7ab54e20cc6213be2ccdadce3d567a7
Merged-In: Ide13e97ac7ab54e20cc6213be2ccdadce3d567a7
2020-01-27 10:16:31 -08:00
Adam Pardyl
813431292c Support multiple trace files.
This commit allows to view trace for both SurfaceFlinger and
WindowManager at the same time using one timeline.

Test: yarn run dev
Bug:
Change-Id: I11abcf8b6423a03ca9af63e56a7b992958d21175
Merged-In: I11abcf8b6423a03ca9af63e56a7b992958d21175
2020-01-27 10:16:29 -08:00
Robert Delgado
8bd2346edf Improved logic for error detection.
Test: Ran windump, winlayer, surfacedump, surfacelayer, and a txt file
on winscope's autodetect file upload feature.
Change-Id: Ia638bb4fbd9c5ad24ac7c84814205eaa8d429824
Merged-In: Ia638bb4fbd9c5ad24ac7c84814205eaa8d429824
2020-01-27 10:16:25 -08:00
Jeff Chang
bcb7490039 Update Winscope with Windowmanagerservice.proto changes
All activity related code is under the wm package, we will move all activity
related proto from activitymanagerservice.proto to windowmanagerservice.proto.
ag/9789099, Framework consolidate ActivityRecordProto,AppWindowTokenProto and
move to windowmanagerservice.proto.

This CL base on the proto change to update transform function.
Bug: 143460940
Test: yarn run dev

Change-Id: I20b9254931afb01f079b2c9a8f9bc05523aa5c2a
2020-01-07 21:04:31 +08:00
Adam Pardyl
494b54f702 Update Winscope with ProtoLog changes
Winscope side changes for ag/9225809 and ag/9447040.

Bug:
Test: yarn run dev
Change-Id: I29db4770065ffc5bcced5d4cb17a51d2b9924f06
2019-09-25 12:06:28 +02:00
Adam Pardyl
5a6b3b0ac1 Download trace files from Winscope
Added a download file button to DataView.

Bug:
Test: yarn run dev
Change-Id: I203f3f19168c43a0dbefb3ec00237c021380f89f
2019-09-17 11:00:43 +02:00
Adam Pardyl
f1af74f619 Support ProtoLog in Winscope
Added a new view for displaying logs, ProtoLog decoding and tracing
with ADB Connect.
Fixed a vertical scrolling bug.

Bug:
Test: yarn run dev
Change-Id: I756b596c10242ff919c0d7053813fa0b9f1f88fd
2019-09-16 12:34:03 +02:00
Adam Pardyl
19bab4cf7b Support WM & SF dumps with ADB Connect, minor fixes
Added support for capturing WindowManager and SurfaceFlinger dumps
directly from the browser.

Fixed DataFilter errors on non-transaction data files.
Fixed Timeline behaviour on empty data list.

Bug: 140374376
Test: yarn run dev & python3 adb_proxy/winscope_proxy.py
Change-Id: I0d47ec36e1e769b856365d2a36c91bfb1f831b71
2019-09-05 13:42:29 +00:00
Evan Rosky
f4692ea1d2 Merge "Add support for Wayland traces" 2019-08-30 21:34:21 +00:00
TreeHugger Robot
6ace53f981 Merge "Introduced filters to winscope for transaction files." 2019-08-30 19:07:53 +00:00
Vishnu Nair
9757c70206 Introduced filters to winscope for transaction files.
Test: Launch winscope and upload a transaction file. Verify that the
filter checklist at the top left corner will filter each of the eight
increment types.

Change-Id: I3e2506bdbe32dbcda59b6f263e2bc13e8403ae38
2019-08-30 07:33:42 -07:00
Evan Rosky
c32649b9e3 Add support for Wayland traces
This adds support for wayland traces, but it isn't complete.
Specifically the rects are ordered funny. However, it is enough
to help with debugging and can be improved over time.

Bug: 129502361
Test: Open a wayland trace and a wayland dump
Change-Id: Iee327f2fee2651ff492d56ee0b06935b5ed57de7
2019-08-29 18:00:59 -07:00
Martin Stjernholm
50252a881f Merge "Support <include> directives in manifests." am: ed31855802 am: c611ab31bf am: beba402bd3 am: 4c52664326
am: 2b3f36c313

Change-Id: I95557acf0c95fa6f6ea877137d0826d85318ad39
2019-08-29 14:55:26 -07:00
Martin Stjernholm
c611ab31bf Merge "Support <include> directives in manifests."
am: ed31855802

Change-Id: I31034b5f65fa75bfbcd18f26464510e88e470b10
2019-08-29 14:26:17 -07:00
Adam Pardyl
ff4fa13a14 Add transaction tracing support, fix device id regex.
Added support for recording SF transactions with ADB Connect,
Fixed device regex not matching emulated devices.

Bug:
Test: yarn run dev & python3 adb_proxy/winscope_proxy.py
Change-Id: I43b45b978841309d3f011df919df69ae7ebc905a
2019-08-28 23:39:07 +02:00
Martin Stjernholm
0c28099695 Support <include> directives in manifests.
Test: "development/tools/repo_pull/repo_pull.py pull ..." on a large topic
  from a manifest with includes.
Bug: 140113116
Change-Id: I781c9a3ca0bcdf53cc8ed1896b3ec12389e4e797
2019-08-27 18:45:46 +01:00