code: def _make_report(
      timer: TimerProtocol,
  ) -> Tuple[_TABLE_DATA, float, float]:
      total_time = _get_total_time(timer)
      report = [
          (
              a,
              np.mean(d),
              len(d),
              np.sum(d),
              100.0 * np.sum(d) / total_time,
          )
          for a, d in timer.recorded_durations.items()
      ]
      report.sort(key=lambda x: x[4], reverse=True)
      total_calls = sum(x[2] for x in report)
      return report, total_calls, total_time
  
imports: import datetime
  import logging
  import os
  from collections import defaultdict
  from contextlib import contextmanager
  from time import perf_counter
  from typing import Any, Dict, Generator, List, Optional, Protocol, runtime_checkable, Sequence, Tuple, TypeVar
  import numpy
  import torch
  import torch.distributed
  from tabulate import tabulate
  from torchtnt.utils.distributed import PGWrapper
label_desc: Use image node_id 3 for calling a global function with example usage: _make_report(timer) and returns: report,  total_calls,  total_time