function hrToMillis(hr) {
  // process.hrTime gives you [second, nanosecond] duration pairs
  return hr[0] * 1e3 + hr[1] / 1e6
}
Explicit enumeration of the states a transaction can be in:

PENDING upon instantiation (implicitly, no start time set)
RUNNING while timer is running (implicitly, start time is set but no stop
  time is set).
STOPPED timer has been completed (implicitly, start time and stop time
  are set, but the timer has not yet been harvested).
DEAD timer has been harvested and can only have its duration read.