1. Changed the layout using material design ui in vuetify.
2. Changed the file upload to drag-and-drop style.
Test: Mannual tested.
Change-Id: I8b34a405ae3783d6806946f0adc5fc5ac9c30a49
When there are too many data entries, the pie chart is too crowded to
view. So we set a parameter in the class EchartsData called
maximumEntries, only the top <maximumEntries> will be shown and the rest
will be added to a single entry called 'other'.
Test: mannual tested.
Change-Id: I84bfadd3513c5827426d84ee7d5ad957b1ac5eab
An Android AB OTA-package provide installation operations by their
operation types, block adresses and payloads. One cannot know which file
is being operated by an installation operation unless checking the .map
file in the target build.
Now, the OTA_analysis tool can analyse which file is being operated and
do statistics over the the filename extensions when provided the target
build. This is done by building a hashtable according to the .map file
in the target build, and then query this hashtable by the operated
blocks, which is defined in the OTA package.
In the future, we can use segment tree instead of hashtable for better
query performance.
Test: Mannual tested, unit test will be added in a seperate CL.
Change-Id: I150677ff81c79813ff13bf96b6401dac01e4e17a
The default entry point is /analyseOTA in production enviroment. This is
for the deployment on android.github.io/.
Test: Mannual tested.
Change-Id: Ic77277024b34b67b9964be8cf4f1592cebf5c5e8
Package.json is for npm and update_metadata_pb.js is generated from
protobufjs.
No-Typo-Check: auto-generated artifacts
Test: Mannual tested.
Change-Id: Id4808a26fb9c5b18d3ae0680a97045bee5d650b0
Add backwards compatibility for traces that didn't use the TaskFragment
on winscope. Moreover, fix the overlap calculation (using wrong object
type)
Bug: 185516271
Test: yarn run dev and open older SF and WM traces
Change-Id: I8d6c98a53cf4c5062dd7a366ef467755907dc0ed
(cherry picked from commit 752cec2b96)
Now the OTA_analysis is able to do statistics over how many blocks
are being operated by different types of COW merge operations.
Also refactor part of payload.js.
Test: Mannual tested.
Change-Id: Icd24f2c0aa42f968438965378b05a7021bafb88c
Now update_metadata.js will be able to parse COW merge operations in the
OTA packages. Please refer to change 1736935 for more details.
No-Typo-Check: auto-generated artifacts
Test: Mannual tested.
Change-Id: Ie18125524b991173b0599704eca51004fd0c0243
Now both OTA configuration and OTA analysis page support select/unselect
all partitions.
Test: Mannual tested.
Change-Id: I684912886f3d3da259aeafea6aea1e53ae4a1c9a
echarts_data.js will take the raw data and convert it into vue-echarts
readable option. PieChart.vue take this option and render it into a
pie chart.
Test: Mannual tested.
Change-Id: I54af3603031f0e23afa743ffc420d240a1b07bb2
payload_composition.js defines functions that could parse the
manifest of payload and do statistical analysis based on different
metrics. Currently, there are two functions:
1. Number of blocks (in target build) that are being operated,
categorized by the installation operations.
2. Disk usage of the payload.bin, categorized by the installation
operations.
The output is currently a list of pairs: (Operation, Number), which
can be later turned into input of visualized element.
Test: Mannual Tested.
Change-Id: I07defc23f6f04616656d8c9d3a7ecd05026bbbff
payload.js defines a Class that could parse the OTA metadata from
an OTA package(.zip). PackageAnalysis.vue enable users to upload
their own OTA package for analysis. PayloadDetail.vue and
OperationDetail will display the metadata in a human-readable way.
The whole analysis process is done on frontend and no communication
with server is involved after loading the page.
Test: Mannual tested.
Change-Id: I3becba872f6564ec9e44edad3a6cc19eb0714ed6
Use protobufjs to compile the update_metadata.proto
into update_metadata_pb.js
No-Typo-Check: auto-generated artifacts
Test: Mannual tested.
Change-Id: Ia0fefa57154f68809c8775ead9fa5e24d4804013