# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description   "Collects boot data and optionally creates a chart"
author        "chromium-os-dev@chromium.org"

# Job bootchart is started before job pre-startup for covering as much as
# possible of the boot.
start on starting pre-startup
# A lot of services start via "start on started system-services" which is
# why we use a pre-stop sleep below.  That should gather some data even on
# non-critical (UI/login blocking) services.
stop on started system-services

# Use /dev/ file system for temporary files because /tmp/ and /run/ are not yet
# mounted in job pre-startup.
env BC_RUN=/dev/.bootchart
env BC_LOG=/var/log/bootchart

pre-start script
  # Bootchart is disabled by default and is enabled only in the boot perf test.
  # To enable bootchart, add "cros_bootchart" to kernel args.
  if grep -qs 'cros_bootchart' /proc/cmdline; then
    mkdir -p "${BC_RUN}"
  else
    stop
  fi
end script

exec /lib/bootchart/collector 25 "${BC_RUN}"

# See "stop on" comment above.
pre-stop exec sleep 10

post-stop script
  if [ -d "${BC_RUN}" ]; then
    BC_DATA="${BC_LOG}/boot-$(date +%Y%m%d-%H%M%S).tgz"

    mkdir -p "${BC_LOG}"
    /lib/bootchart/gather "${BC_DATA}" "${BC_RUN}"

    rm -rf "${BC_RUN}"
  fi
end script
