summaryrefslogtreecommitdiff
path: root/startop
AgeCommit message (Collapse)Author
2020-01-07startop: Fix new comments for ag/9762399 on event sequence validator.Yan Wang
Test: Make Change-Id: I6a84868a00dfff6f4f4959ed6a6c9ac777a8b68d
2020-01-02Merge "startop: Add a validator to check the correctness of event sequence."TreeHugger Robot
2020-01-02startop: Add a validator to check the correctness of event sequence.Yan Wang
Change-Id: Ic764cfe4f3f98e14e756897d6dcdc8c167d8a728
2019-12-11Add filegroups for services.* librariesJiyong Park
... in preparation for creating a stub library from services.jar Bug: 139391334 Test: m Exempt-From-Owner-Approval: cherry-pick from internal Merged-In: Ifd6cfc77acf2284804a2f64011c2733b5c222369 (cherry picked from commit bae2e907966dce0cb3eaf3e3a81cca4364b7d941) Change-Id: Ifd6cfc77acf2284804a2f64011c2733b5c222369
2019-12-05Rename writeToProto to be dumpDebugJeffrey Huang
We want to eventually migrate some of these APIs to be @SystemApi for mainline modules. The #dumpDebug name is more appropriate than #writeToProto. Bug: 142279786 Test: Manual Change-Id: I60793e91cedf6b720d4ecef6a8484f4fed4ff30f
2019-11-17Add filegroups for services.* librariesJiyong Park
... in preparation for creating a stub library from services.jar Bug: 139391334 Test: m Change-Id: Ifd6cfc77acf2284804a2f64011c2733b5c222369
2019-11-15Add Layout Inflater Interactive MicrobenchmarkEric Holk
This allows us to quickly test small changes in layout inflation performance. TEST: mma && adb install $OUT/system/app/startop_test_app/startop_test_app.apk; Run the app Change-Id: I396157686d1e16ae2a7083a070fe1f622c05b15f
2019-11-14Refactor interactive microbenchmarksEric Holk
Replaces the SystemServer Benchmark activity with one that has several sets of benchmarks grouped into categories. This will make it easier to add more benchmarks that do not logically fit with the categories we already have. This does not remove any of the other benchmark activities, but in a follow up CL, we should remove those since they are covered by the Interactive Microbenchmarks activity. This also does not adjust the non-interactive mode, which should also happen in a followup. Change-Id: I1d079362df0d32642525ede5b41779d76a5735ec
2019-11-06Merge "Adds ToBits helper method to convert instructon opcode enum to bits" ↵Orion Hodson
am: 97757aa697 am: ddd9e55e20 am: d08a723289 Change-Id: I8027b5ca9d178abde4532c40dea5bd938ead7ece
2019-11-06Merge "Switch to slicer DEX opcode definitions" am: c2348fa906 am: 03f0ab51eaOrion Hodson
am: ac5fa84383 Change-Id: I9ec1c8a110cc1ba443da47db37f8ca79dae19cab
2019-11-04Adds ToBits helper method to convert instructon opcode enum to bitsOrion Hodson
Bug: 142948359 Test: atest dex-builder-test Change-Id: Ic1c02e74dd787107c08bd34ca861eee89d6d1423
2019-11-01Switch to slicer DEX opcode definitionsOrion Hodson
Removes dependency on art/libdexfile and uses equivalent definitions from the dexter/slicer library. Bug: 133140750 Bug: 142948359 Test: m Test: atest dex-builder-test \ view-compiler-tests \ android.view.cts.PrecompiledLayoutTest Change-Id: I49562ac4867254ecde287b828f76d23cb5132dd0
2019-10-23Add initialization check benchmarkDavid Sehr
Add a benchmark to test the cost of initialization checks. The application run with JIT versus AOT shows the cost of initialization checks of other classes. Bug: none Test: run the test, compile, run the test again Change-Id: Ic15d872e2284084e003056849453150fb533ca81
2019-10-23Separate CPU intensive test from system serverDavid Sehr
Separate into two activities, as they are unrelated. Bug: none Test: run the applications Change-Id: I390c1351d5e9c3ecdd0b863b7aceac03e735ff58
2019-10-18startop: Change the ino from decimal to hex in test and an import mistake.Yan Wang
Bug: 142958901 Test: pytest Change-Id: If9870541561c4099cd255efe0afb66a6e5e02cd0
2019-10-18startop: Fix a compiler type mismatch in test.Yan Wang
Bug: 142958901 Test: pytest Change-Id: Ifa0b0f85464447a5d50495d35276581176380d90
2019-10-16Merge "iorap: Add tests for AppLaunchEvent."TreeHugger Robot
2019-10-16Merge "Add more system server benchmarks"TreeHugger Robot
2019-10-16Merge changes from topic "reportFullyDrawn"TreeHugger Robot
* changes: startop: Add reportFullyDrawn event support in Iorap. startop: Add timestamps for IntentStarted and ActivityLaunchFinished. startop: Add reportFullyDrawn event support in framework.
2019-10-14iorap: Add tests for AppLaunchEvent.Yan Wang
Test: atest -m libiorap-java-tests Change-Id: Ib8618dbb3ebd610fe6f68ff40b8886dc1a32f3dd
2019-10-14Add more system server benchmarksEric Holk
This change adds some of the top binder calls from AppOpsManager, UserManager, and ConnectivityManager. Change-Id: I8c87a5d58d68b962927c4886c1bba90f3976d587
2019-10-11Add acquire/release wake lock benchmarkEric Holk
Change-Id: Iae151d18a80f5acfdd205d9af1d2ee677153b8db
2019-10-11Add getPackageIntentForSender benchmarkEric Holk
ActivityManagerService.getPackageForIntentSender is the second most common binder transaction during an MPTS run. Change-Id: I628857d9f323102db3d66da0311f36554cbd797b
2019-10-11Add non-interactive system server benchmarksEric Holk
This allows benchmarking system server when not sitting at the device. To use it, launch the NonInteractiveSystemServerBenchmarkActivity and then wait awhile. The benchmark results will be available at /sdcard/Android/data/com.android.startop.test/files/benchmark.csv Change-Id: If7697657228f6e631846fdb79a5a5acfdaf7fe65
2019-10-11Refactor system server benchmarksEric Holk
This change does a better job of separating the UI code from the benchmark running code, with the goal of enabling a non-interactive version of the benchmarks. Change-Id: Id7a673b9abca69cd9643a487f7b05f965e1f2614
2019-10-10startop: Add reportFullyDrawn event support in Iorap.Yan Wang
Bug: 137684347 Test: make Test: run on a crosshatch device and check the reportFullyDrawn event in the logcat. Change-Id: Ib8373ecfa1d3579c937242d30cea1ce1396ba632
2019-10-10Merge "startop: Only do perfetto trace when needed."TreeHugger Robot
2019-10-09startop: Only do perfetto trace when needed.Yan Wang
Bug: 141324324 Test: python app_startup_runner.py --package com.google.android.GoogleCamera --readahead fadvise --inodes ../tmp.txt -d Test: python app_startup_runner.py --package com.google.android.GoogleCamera --readahead cold --inodes ../tmp.txt -d Change-Id: Icbf9e253cd3cf9517dca89c8d50efd21012105a9
2019-10-09startop: Change the pattern to find the completion of readahead.Yan Wang
The pattern is shown in logcat and should match the text in iorap. Test: python app_startup_runner.py --package com.google.android.GoogleCamera --readahead fadvise --inodes ../tmp.txt -d Bug: 142350683 Change-Id: Ia708ea8d29f4c97126e9e721284a0d346e19573b
2019-09-25Merge "Refactor DexViewBuilder" am: f5617abe09 am: 0ea5d04aff am: 75f7f68128Eric Holk
am: 17a198c638 Change-Id: I1bb9f0d43a6a3e8324dffe4f905404ca8c453bb4
2019-09-25Merge "Refactor DexViewBuilder"Treehugger Robot
2019-09-23Merge "Host users of libutils trace use libcutils." am: 4a17a712f5 am: ↵Steven Moreland
330c15e273 am: fb59c94709 am: c1e240aa7a Change-Id: I507ef7554513ad0221b6fa95b2854c9066e8f9f3
2019-09-20Host users of libutils trace use libcutils.Steven Moreland
Reducing device/host differences. This is now required since libutils Trace.h always calls the libcutils functions, instead of before where it only called these functions on device. Bug: 124524556 Test: build & boot Change-Id: Ic096ed7caf8ca59292b3427a16c4e2545d12dfd9
2019-09-20Add a threaded CPU-intensive benchmark to testDavid Sehr
In order to understand how simpleperf reports percentages from a whole system, craft a benchmark set that runs a CPU-intensive thread a number of times. Bug: none Test: run the app Change-Id: I7c8748f9b5da89be20775a5af60b223d4673023b
2019-09-18Refactor DexViewBuilderEric Holk
The code was previously pretty messy and hard to follow. This reworks some things to make it more manageable. Among the changes: * Pull out fragments of code into their own method, so the high level steps are more apparent in methods like DexViewBuilder::Start. * Pull frequently used types into global constants in dex_layout_compiler.cc. * Rework register handling to track liveness so a strict stack discipline is no longer needed. Change-Id: Idb4b41f88c96a1ac4efb2c7b9bed05c2de0da999
2019-09-18Merge "Add more system_server benchmarks"TreeHugger Robot
2019-09-12Make Startop Test App run on O and higherEric Holk
Change-Id: I60af3e06680aa9d3473be11f8d93447166e5fe71
2019-09-11startop: Fix the if condition to prevent duplicate filename for file idYan Wang
0 in host compiler. Test: pytest Bug: 140655545 Change-Id: I952db4cf06060483cfcf8e42352324ad0d710d3b
2019-09-11Merge changes I3e6b6b44,I467e4264TreeHugger Robot
* changes: Run system_server benchmarks for 5 seconds Add additional system_server benchmarks
2019-09-10Merge "Initial system server benchmark activity"TreeHugger Robot
2019-09-10Add more system_server benchmarksEric Holk
This CL adds: * getLaunchIntentForPackage * getPackagesForUid * getPackageUid * checkPermission * checkSignatures * queryBroadcastReceivers * hasSystemFeature * resolveService * getRunningAppProcesses Bug: 140743821 Change-Id: I61118f29ee4b4113b6d0f9b95458de3798bc4ce7
2019-09-10Run system_server benchmarks for 5 secondsEric Holk
Especially for short running methods, this gives us better results and also gives us more data for things like simpleperf to work on. Since we don't know ahead of time how many times each benchmark will run, we had to switch the mean and standard deviation formulas to one that supports running updates. This has the advantage of making it constant space. Bug: 140743821 Change-Id: I3e6b6b44d3bd573bad8afc8831226194147b108a
2019-09-10startop: add compiler type support to host and device switch.Yan Wang
When using device, the python modules for host are not loaded to be compatiable in tradefed. Test: pytest Test: python app_startup_runner.py --package com.google.android.GoogleCamera --readahead fadvise --inodes textcache --output output.txt -lc 1 -d Change-Id: I9fe54045fbabda5f66ebe1cfe6d0a5461fff0640
2019-09-10Add additional system_server benchmarksEric Holk
This CL adds benchmarks for the following PackageManager APIs: * getInstalledApplications * getInstalledPackages * getPackageInfo * getApplicationInfo * getResourcesForApplication * getActivityInfo Bug: 140743821 Change-Id: I467e4264a5e8f5c1c34194c7ad4b4c415387da9e
2019-09-09Initial system server benchmark activityEric Holk
This adds a simple activity to the Startop Test App for non-scientific interactive benchmark running for system_server APIs. Bug: 140743821 Change-Id: I5485152bde4a791035c71d7b3f23e8cff9649292
2019-09-05Merge "[view compiler] Add test coverage for layouts compiled from APK"TreeHugger Robot
2019-09-05Merge "iorap: Fix data race in AppLaunchObserver on the binder remote"TreeHugger Robot
2019-09-05[view compiler] Add test coverage for layouts compiled from APKEric Holk
The existing LayoutCompilerTest only covered compiled layouts generated from text XML files. It did not cover layouts that were extracted from the APK. This is an important area to cover. This test works by calling `pm compile --compile-layouts` on the test APK, and then directly loads the `compiled_view.dex` file. From there, it pulls out the compiled layouts and executes their inflater. This makes sure the generated DEX files validate and execute without error. Bug: 111895153 Merged-In: Ifc6719c2f438474b5474def02422ef68eee800b2 Change-Id: I7024069bb4d77a81871366f259fb34ae54a55aac
2019-09-03startop: Fix comments in gerrit CL 9172239.Yan Wang
Test: pytest Change-Id: I706730c8d54e575e26ff0e2bdbb668d2e70a5c2e
2019-09-03iorap: Fix data race in AppLaunchObserver on the binder remoteIgor Murashkin
Bug: 139545079 Change-Id: I2797a5fe098a2a7a81f0b5928844e8a61cc6bb96