Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59abac27 authored by Elliott Hughes's avatar Elliott Hughes
Browse files

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
parent 8f03e3cb
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -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);
    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;
}
+7 −4
Original line number Diff line number Diff line
@@ -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
--------------