class_docstr: This profiler simply records the duration of actions (in seconds) and reports the mean duration of each action
  and the total time spent over the entire training run.
class_docstr_tok: ["This","profiler","simply","records","the","duration","of","actions","(","in","seconds",")","and","reports","the","mean","duration","of","each","action","and","the","total","time","spent","over","the","entire","training","run","."]
code: def _make_report_extended(
      self,
  ) -> Tuple[_TABLE_DATA_EXTENDED, float, float]:
      total_duration = time.monotonic() - self.start_time
      report = []
  
      for a, d in self.recorded_durations.items():
          d_tensor = torch.tensor(d)
          len_d = len(d)
          sum_d = torch.sum(d_tensor).item()
          percentage_d = 100.0 * sum_d / total_duration
  
          report.append((a, sum_d / len_d, len_d, sum_d, percentage_d))
  
      report.sort(key=lambda x: x[4], reverse=True)
      total_calls = sum(x[2] for x in report)
      return report, total_calls, total_duration
  
file_path: pytorch-lightning/src/lightning/pytorch/profilers/simple.py
imports: import logging
  import os
  import time
  from collections import defaultdict
  from pathlib import Path
  from typing import Dict, List, Optional, Tuple, Union
  import torch
  from typing_extensions import override
  from lightning.pytorch.profilers.profiler import Profiler
label_desc: Use image node_id 4 for calling the SimpleProfiler obj's underlying member method code with example usage: obj._make_report_extended() and returns: report,  total_calls,  total_duration