absl::Duration RunnerWatcher::GetNonWarmupsDuration()

in e2e-examples/gcs/benchmark/runner_watcher.cc [83:95]


absl::Duration RunnerWatcher::GetNonWarmupsDuration() const {
  auto operations = GetNonWarmupsOperations();
  if (operations.empty()) {
    return absl::ZeroDuration();
  }
  absl::Time begin = operations[0].time;
  absl::Time end = operations[0].time + operations[0].elapsed_time;
  for (auto op : operations) {
    begin = std::min(begin, op.time);
    end = std::max(begin, op.time) + op.elapsed_time;
  }
  return end - begin;
}