b89a63447e8fe6a31f5f4e4f23d3439f9e4ddc94 |
|
05-May-2016 |
John Reck <jreck@google.com> |
Add AM benchmark/stresser Bug: 28606903 What this test does is sends a startService to a service defined in a new process. That service then sends a broadcast that it was started, which is received in the originating process. After that broadcast is sent it stopSelf()'s and exit(0)'s. The time it takes from start -> started as well as the service -> receiver are tracked and reported. The test does this round trip ping/pong in multiple configurations. First doing just 1 at a time, then 2 at a time, then 4, then etc... all the way up to 10 active startService/sendBroadcasts at a time across 10 worker threads in the main process. There's a ring buffer of 100 services in 100 different sub processes to ensure that every startService goes through the entire zygote-fork bringup with no risk of overlapping with the dying/stopping of a previous startService. Change-Id: I4f19e89ae1b14c9d1660d8a546ccbb92ec5127cd
/frameworks/base/tests/AmSlam/src/test/amslam/PingReceiver.java
|