Clarify a few things about bootcharts.

Make it clearer in dmesg when we're deliberately not doing
bootcharting, and explain in the documentation that the output
for init is quite misleading (and, as far as I can tell, not
within our power to fix).

Change-Id: I0b22a56f83521d64c6d176dc423c81f7ea86b23c
This commit is contained in:
Elliott Hughes 2015-03-28 12:12:51 -07:00
parent 8f03e3cb3d
commit 59abac27cb
2 changed files with 13 additions and 14 deletions

View File

@ -195,13 +195,8 @@ static int bootchart_init() {
}
// Create kernel process accounting file.
{
int fd = open( LOG_ACCT, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC,0644);
if (fd >= 0) {
close(fd);
acct( LOG_ACCT );
}
}
close(open(LOG_ACCT, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644));
acct(LOG_ACCT);
log_header();
return count;
@ -210,11 +205,12 @@ static int bootchart_init() {
int do_bootchart_init(int nargs, char** args) {
g_remaining_samples = bootchart_init();
if (g_remaining_samples < 0) {
ERROR("bootcharting init failure: %s\n", strerror(errno));
ERROR("Bootcharting init failure: %s\n", strerror(errno));
} else if (g_remaining_samples > 0) {
NOTICE("bootcharting started (will run for %d ms)\n", g_remaining_samples*BOOTCHART_POLLING_MS);
NOTICE("Bootcharting started (will run for %d s).\n",
(g_remaining_samples * BOOTCHART_POLLING_MS) / 1000);
} else {
NOTICE("bootcharting ignored\n");
NOTICE("Not bootcharting.\n");
}
return 0;
}

View File

@ -323,12 +323,11 @@ init.svc.<name>
Bootcharting
------------
This version of init contains code to perform "bootcharting": generating log
files that can be later processed by the tools provided by www.bootchart.org.
On the emulator, use the new -bootchart <timeout> option to boot with
bootcharting activated for <timeout> seconds.
On the emulator, use the -bootchart <timeout> option to boot with bootcharting
activated for <timeout> seconds.
On a device, create /data/bootchart/start with a command like the following:
@ -349,9 +348,13 @@ retrieve them and create a bootchart.tgz file that can be used with the
bootchart command-line utility:
sudo apt-get install pybootchartgui
ANDROID_SERIAL=<device serial number>
# grab-bootchart.sh uses $ANDROID_SERIAL.
$ANDROID_BUILD_TOP/system/core/init/grab-bootchart.sh
One thing to watch for is that the bootchart will show init as if it started
running at 0s. You'll have to look at dmesg to work out when the kernel
actually started init.
Debugging init
--------------