diff options
author | Elliott Hughes <enh@google.com> | 2015-03-28 12:12:51 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2015-03-28 12:12:51 -0700 |
commit | 59abac27cb3178794857eefbf6c6ae445a91269c (patch) | |
tree | 1a62cdc03bf3ab8b0f799cf1a6750fc3ce78044e /init | |
parent | 8f03e3cb3db392127fd8dc0a2ce62aa15a755ffd (diff) | |
download | system_core-59abac27cb3178794857eefbf6c6ae445a91269c.zip system_core-59abac27cb3178794857eefbf6c6ae445a91269c.tar.gz system_core-59abac27cb3178794857eefbf6c6ae445a91269c.tar.bz2 |
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
Diffstat (limited to 'init')
-rw-r--r-- | init/bootchart.cpp | 16 | ||||
-rw-r--r-- | init/readme.txt | 11 |
2 files changed, 13 insertions, 14 deletions
diff --git a/init/bootchart.cpp b/init/bootchart.cpp index 03c8b30..95687cb 100644 --- a/init/bootchart.cpp +++ b/init/bootchart.cpp @@ -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; } diff --git a/init/readme.txt b/init/readme.txt index 4c8d0d3..630dd03 100644 --- a/init/readme.txt +++ b/init/readme.txt @@ -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 -------------- |