History log of /frameworks/base/tests/AmSlam/src/test/amslam/PingReceiver.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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