#!/bin/sh
# Copyright (c) 2012 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.

getfield() {
  shift "$1"
  echo "$1"
}

# Converts a floating point number of seconds to a properly rounded
# number of integer milliseconds.
seconds_to_ms() {
  echo "$1" | awk '{ print int($1 * 1000.0 + 0.5)}'
}

EVENT="$1"
shift
if [ $# -eq 0 ]; then
  set -- time
fi

while [ $# -gt 0 ]; do
  case "$1" in
    time)
      TAG=uptime
      FIELD=1
    ;;
    # Emit time in milliseconds instead of fractional seconds.
    time-ms)
      TAG=uptime
      FIELD=1
      EMIT_MS=1
    ;;
    read-sectors)
      TAG=disk
      FIELD=3
    ;;
    write-sectors)
      TAG=disk
      FIELD=7
    ;;
    *)
      shift
      continue
    ;;
  esac
  # The 'boot-complete' upstart job tests for whether an event has
  # been recorded by calling this script, so it's not an error if
  # the requested event doesn't exist.
  EVENTFILE="/tmp/${TAG}-${EVENT}"
  if [ -f "${EVENTFILE}" ]; then
    result="$(getfield "${FIELD}" "$(tail -1 "${EVENTFILE}")")"
    if [ -n "${EMIT_MS}" ]; then
      result="$(seconds_to_ms "${result}")"
    fi
    echo "${result}"
  fi
  shift
done
