)]}'
{
  "log": [
    {
      "commit": "4d8e3eaf9fee1126f61fbde6eb61ddd00e068785",
      "tree": "5358e0c60d8924d9230d04147dd66bee4cdce971",
      "parents": [
        "cb1a8e7fdd231a9d1e95b1493ad716b9008dd81f"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Wed Jan 15 23:52:29 2020 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Mon Feb 03 10:30:06 2020 +0000"
      },
      "message": "Don\u0027t retrigger bootstat during userspace reboot.\n\nUserspace reboot can be treated as extension of runtime restart: instead\nof restarting just system_server, it restarts all post-data services.\n\nTest: adb reboot userspace\nTest: checked bootstat didn\u0027t run again.\nTest: system/core/bootstat/boot_reason_test.sh\nBug: 135984674\nChange-Id: Ieda4b201f9b9294a3a54b7f0118ee769f5dd2065\n"
    },
    {
      "commit": "4e9c653c932cf2dc7638ab2de58b5bb85a1c0c47",
      "tree": "968a5751d41600f0792fac38ac4626c156a7c8ca",
      "parents": [
        "708d45979ccecd6b541740d2b8dc0fe4d6db138c"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Feb 07 10:05:42 2019 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Fri Feb 08 02:55:06 2019 +0000"
      },
      "message": "bootstat: Update boot reason property earlier\n\nbootstat updates boot reason upon boot_complete, however users of the\nupdated properties e.g. getLastShutdownReason from PowerManager could\nbe called before boot_complete. This introduces a inconsistency and\nracing for those APIs.\n\nIn this CL, we change boot reason to be updated at the same time when\nzygote starts where persist properties have been loaded already. Also\nthe initialization of bootloader\u0027s boot reason is pulled into post-fs\nwhere all kernel command line arguments have been parsed in init already.\n\nBug: 122696730\nBug: 119509425\nTest: trigger thermal shutdown and see warnings\nTest: verify boot reason properties updated correctly post boot\nChange-Id: Ia393b98ea072bc0ae6e4110d111393b34be0ee5d\nSigned-off-by: Wei Wang \u003cwvw@google.com\u003e\n"
    },
    {
      "commit": "993f65619e534d29a1e63cdc3d76a5bdec97225b",
      "tree": "f4722454450fb1ac0039c4851d7c67494fd54f44",
      "parents": [
        "dc17e9efa043dc74c177c50834937a84457aaf3f"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Feb 06 15:57:38 2018 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jun 04 13:31:05 2018 -0700"
      },
      "message": "Fix performance degradation from BootSequence atom\n\n(partial cherry pick from commit fe3e762b6de94ab43b3019d38cdc2abfad3a786c)\n\nAdding the boot sequence reported atom in ag/3518079 caused the duration\nof bootstat to increase, as seen in b/72864061. I isolated the cause\ndown to calling BootReasonStrToReason. However, this function also gets\ncalled in ReportBootReason, so I created another function that does the\nparsing and sets the system boot reason property, and made\nRecordBootReason and statsd logging get that property.\n\nBug: 72864061\nTest: rebooted phone, verified boot events were received in adb shell\nlogcat -b stats and verified adb shell bootstat -p printed correct\nvalues. Ran timing tests as well on walleye with 20 boots: before this\nchange, the average was ~150-160ms. After, it was ~80ms.\nChange-Id: I92dbc9880328835647be7d9d50c7861b42f27bdb\nMerged-In: I92dbc9880328835647be7d9d50c7861b42f27bdb\n"
    },
    {
      "commit": "557a9d4054f6da38bc000a5842582d2afbc23294",
      "tree": "5bf3d032d61f5bf9a8e19593908a05435bc19149",
      "parents": [
        "8a30fcabcb6a13e32452163627a7e7786db74f64"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Sep 15 13:02:19 2017 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Sep 19 07:36:34 2017 -0700"
      },
      "message": "bootstat: reduce overall boot time\n\nRun bootstat as a oneshot service rather than as a series of inline\nexec commands.  exec commands impact boot time.\n\nTest: cts-tradefed run cts-dev --module CtsBootStatsTestCases\n      system/core/bootstat/boot_reason_test.sh all\n         (make sure it filters out new init reports)\nBug: 65736247\nChange-Id: Ic9d509a8cbee4bc1e278081de1001e25ae0915fd\n"
    },
    {
      "commit": "25246ddfe6aa0d92c68ad450e206887147f766b4",
      "tree": "9a1c5ff91a556e19d006d55a9990b217f3f2f084",
      "parents": [
        "ae054903af11a125263a3bdb434b8ab47cd7a9a7"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Sep 18 10:27:01 2017 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Sep 19 14:34:42 2017 +0000"
      },
      "message": "bootstat: bootloader stat files misspelled\n\nTest: system/core/bootstat/boot_reason_test.sh\nBug: 63736262\nChange-Id: I6620c9965f4af8b6a3829f1f4cdcc9b691471a71\n"
    },
    {
      "commit": "b304f6d4e7752e08519a96aeaa936e36492afdc9",
      "tree": "7896fbfe0ec2eea5fb7dd587e2e9657acc97b5f0",
      "parents": [
        "2dac833ea81fae56c01803e9c7cdd1dd81555622"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Aug 04 13:35:51 2017 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Sep 12 09:28:25 2017 -0700"
      },
      "message": "bootstat: introduce sys.boot.reason\n\nAdding functionality to bootstat --record_boot_complete and\n--record_boot_reason to initialize sys.boot.reason, the canonical\nsystem boot reason.\n\nFilter out ro.boot.bootreason oem noise into sys.boot.reason.  Add\nheuristics to determine what the boot reason is, when otherwise would\nbe defaulting to the blunt and relatively devoid of detail catch-all\nreboot reasons (\"reboot\", \"shutdown\", \"cold\", \"warm\", \"hard\").\n\nboot_reason_test.sh is also a compliance test.\n\nTest: boot_reason_test.sh all\nBug: 63736262\nChange-Id: Ic9a42cccbcfc89a5c0e081ba66d577a97c8c8c76\n"
    },
    {
      "commit": "c3ad75be840c1f4bec5c1638da445122fc3062b1",
      "tree": "7a6ff4b67fcfb3829d070c31f87144dc063aed17",
      "parents": [
        "2d1d8812cc71c9ab17c0362602f3adff9e643d81"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Aug 09 14:54:56 2017 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Aug 09 15:08:21 2017 -0700"
      },
      "message": "bootstat: switch from root.root to system.log\n\nbootstat does not need root uid and root gid permissions to perform\nits tasks.  It appears that system uid and log gid are adequate and\nappropriate.\n\nTest: manual\nBug: 63736262\nChange-Id: I094c2cb054e441562fa8717a4d3dc0086fb70a7a\n"
    },
    {
      "commit": "bd6ab49555065abe090600c1d10d0263e1338be1",
      "tree": "a59771f29212cd43422be7f2490fe40471393459",
      "parents": [
        "ce07b6fa4f20facc8beae6f91d62802c50e9d5a5"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Feb 09 09:58:14 2017 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Feb 09 10:09:22 2017 -0800"
      },
      "message": "bootstat.rc: record post_decrypt_time_elapsed only for FDE device\n\nBug: 35110957\nTest: on marlin\nChange-Id: Id32f65ad4d693dcf52f1581bf55b3fe671c985cc\n"
    },
    {
      "commit": "f1c2350668a627f8578fdc7d4dcb0c2a3a2be3b2",
      "tree": "2c54f1e9beff7f3adacb846056ac70b1a6f41ec8",
      "parents": [
        "2cd07e8b972401728f94849c5e9b52edb6b4d7ce"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Tue Jan 31 11:52:48 2017 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Wed Feb 01 01:30:08 2017 +0000"
      },
      "message": "bootstat: Update the wording of \u0027soft reboot\u0027 to \u0027runtime restart\u0027.\n\nIn an effort to be more accurate with respect to terminology.\n\nBug: None\nTest: None\nChange-Id: Ida8e118975e715c686aa7fd526f964e78c06aa06\n"
    },
    {
      "commit": "800ceb45b15c2b63edd4c699862653c55fe55ef2",
      "tree": "f96b27103e1a5e6989f5819d726670d62e2921bd",
      "parents": [
        "4c5c9db17b55bfcb2d62eec158440d0e794e30bb"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Tue Jan 17 13:27:05 2017 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Tue Jan 17 13:28:17 2017 -0800"
      },
      "message": "bootstat: Fix false metrics due to soft reboots.\n\nUse a flag to enable/disable logging metrics, set to false during soft\nreboots.\n\nBug: 32807863\nChange-Id: Ib1359327af4e18d40400c29961c454f7be1b8d0c\nTest: None\n"
    },
    {
      "commit": "e4079fbdefac654f84b091335cc67fd89d79841c",
      "tree": "32393ec4afa96b6861ddd7e5b4de644966ea078c",
      "parents": [
        "de07029ad07cc9f1da6fecdb8d81d039f7d1a8f5"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Thu Dec 01 14:02:17 2016 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Thu Dec 01 14:02:17 2016 -0800"
      },
      "message": "bootstat: Fix the boot complete signal for FBE devices.\n\nFBE devices suffice with bootanim\u003dstopped, but must be gated on\nro.crypto.type\u003dfile.\n\nBug: 33049941\nTest: adb reboot \u0026\u0026 adb logcat | grep bootstat \u003c Has output\nChange-Id: I346d47aaf9d1d4b40f05906056849630b922a20d\n"
    },
    {
      "commit": "c08e996ac86bc0a27a754c1fddc4bda535f7e49f",
      "tree": "2c32255e50a190d97d7ceb1eab4fcafc3fac2f79",
      "parents": [
        "1f13c1a208394b74a8c60e677546a8c8ed697091"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Fri Mar 11 14:59:50 2016 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Fri Mar 11 15:50:39 2016 -0800"
      },
      "message": "bootstat: Disambiguate boot time on encrypted devices.\n\nThis change introduces new metrics to discern boot time on encrypted devices:\n* post_decrypt_time_elapsed\n* boot_decryption_complete\n* boot_complete_post_decrypt\n* boot_complete_no_encryption\n\nBug: 27497357\nChange-Id: I8d3a411029bd6a45f80589ff67c408593e133a87\n"
    },
    {
      "commit": "5e655f02c5e772447254d68a5b299a625399f3cb",
      "tree": "50cf311ea67e624879b2b3231fa42248e9ee42dd",
      "parents": [
        "ad5dc479cd8333da389fab6d8e270bf6e7428151"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Thu Mar 03 14:36:22 2016 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Thu Mar 03 14:40:29 2016 -0800"
      },
      "message": "bootstat: Gate boot time metrics logging on an encrypted device being decrypted.\n\nThis prevents double-counting boot metrics for encrypted devices.\n\nBug: 27454346\nChange-Id: If63dd421e4f91a01b43d730d59896544a26d138a\n"
    },
    {
      "commit": "53684ea625b9cff34f9cdb2d4bae4cd25538ca3b",
      "tree": "c7ebe4d311d771e409bcb1cbccfd44c58e189057",
      "parents": [
        "72d6269b6efda3e43a119de048b87758ff970184"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Tue Feb 23 16:18:19 2016 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Wed Feb 24 11:01:03 2016 -0800"
      },
      "message": "bootstat: Record the time since factory reset on init.\n\nBug: 25448351\nChange-Id: I71905a598e74f41c18a96d469c7a6ddd5a2e07fb\n"
    },
    {
      "commit": "a4a1a4ac8556fd9550d5b6c916546519b3641fb0",
      "tree": "8c8ab1080925e6c68d9751b50185084257e8448f",
      "parents": [
        "dc5bd3a1b9d8710db3cb5b6e3a5fb025a443a7d3"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Tue Feb 09 15:32:38 2016 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Tue Feb 09 15:32:38 2016 -0800"
      },
      "message": "bootstat: Add support for logging the boot_reason metric.\n\nThis value is read from the ro.boot.bootreason system property.\n\nBug: 21724738\nChange-Id: I43bef3d85ba9c8d87669a91da1aa675d9a86e348\n"
    },
    {
      "commit": "6bff639c1999a392e15a35e62d84337441db9fe0",
      "tree": "544ab40d35ef22fd485f87b7729d494e5d0cb637",
      "parents": [
        "7fc87c9bc2b10eae7f5fa08708fd613186887d92"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Thu Jan 21 15:16:36 2016 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Tue Jan 26 11:23:31 2016 -0800"
      },
      "message": "bootstat: Hook up bootstat to record the boot complete signal and log\nboot events in the LOCAL_INIT_RC file, bootstat.rc.\n\nThis change also creates the /data/misc/bootstat dir during the\nfilesystem creation block in init.rc.\n\nBug: 21724738\nChange-Id: I2ad6913c0235d5f926c6ef8b3c65d650159c6ed7\n"
    }
  ]
}
