platform_system_core/bootstat
James Hawkins 27c052263c boottime/init: Report ro.boottime.init* properties in milliseconds.
* Nanosecond precision ended up being harder to grok.
* This change modifies the Timer class to have duration_ms instead of
duration_ns.

Bug: 34466121
Test: adb logcat | grep bootstat
Change-Id: Ibd1c27dc3cb29d838a956e342281b2fb98d752a6
2017-01-27 08:26:14 -08:00
..
Android.bp bootstat: drop event_log_list_builder 2016-10-24 11:13:16 -07:00
boot_event_record_store.cpp bootstat: Remove debug logging of bootstat_mtime_matches_content. 2017-01-20 11:20:36 -08:00
boot_event_record_store.h Revert "Revert "bootstat: Handle v1 record files which do not contain file contents."" 2016-03-25 14:26:13 -07:00
boot_event_record_store_test.cpp bootstat: Remove debug logging of bootstat_mtime_matches_content. 2017-01-20 11:20:36 -08:00
bootstat.cpp boottime/init: Report ro.boottime.init* properties in milliseconds. 2017-01-27 08:26:14 -08:00
bootstat.rc bootstat: Fix false metrics due to soft reboots. 2017-01-17 13:28:17 -08:00
histogram_logger.cpp liblog: move android_log_event_context class to log/log_event_list.h 2016-11-21 09:46:34 -08:00
histogram_logger.h bootstat: Track record inconsistencies w/ a debug metric, bootstat_mtime_matches_content. 2016-03-22 16:02:01 -07:00
README.md bootstat: Record the time since factory reset on init. 2016-02-24 11:01:03 -08:00
testrunner.cpp bootstat: Fix the base includes to be AOSP-friendly. 2016-01-20 01:28:48 +00:00
uptime_parser.cpp bootstat: Disambiguate boot time on encrypted devices. 2016-03-11 15:50:39 -08:00
uptime_parser.h bootstat: Disambiguate boot time on encrypted devices. 2016-03-11 15:50:39 -08:00

bootstat

The bootstat command records boot events (e.g., firmware_loaded, boot_complete) and the relative time at which these events occurred. The command also aggregates boot event metrics locally and logs the metrics for analysis.

Usage: bootstat [options]
options include:
  -h, --help            Show this help
  -l, --log             Log all metrics to logstorage
  -p, --print           Dump the boot event records to the console
  -r, --record          Record the timestamp of a named boot event
  --record_boot_reason  Record the reason why the device booted
  --record_time_since_factory_reset Record the time since the device was reset

Relative time

The timestamp recorded by bootstat is the uptime of the system, i.e., the number of seconds since the system booted.

Recording boot events

To record the relative time of an event during the boot phase, call bootstat with the -r option and the name of the boot event.

$ bootstat -r boot_complete

The relative time at which the command runs is recorded along with the name of the boot event to be persisted.

Logging boot events

To log the persisted boot events, call bootstat with the -l option.

$ bootstat -l

bootstat logs all boot events recorded using the -r option to the EventLog using the Tron histogram. These logs may be uploaded by interested parties for aggregation and analysis of boot time across different devices and versions.

Printing boot events

To print the set of persisted boot events, call bootstat with the -p option.

$ bootstat -p
Boot events:
------------
boot_complete   71