          retval = self._format_stats(retval)
          logger.debug("Final stats: %s", retval)
          return retval
  
      def _get_time_stats(self):
          """ Populates the attribute :attr:`_time_stats` with the start start time, end time and
          data points for each session id within the loaded session if it has not already been
          calculated.
  
          If the main Session is currently training, then the training session ID is updated with the
 
</s> remove     def _get_per_session_stats(self):
 </s> add     def _get_per_session_stats(self) -> None: </s> remove     def is_training(self):
 </s> add     def is_training(self) -> bool: </s> remove         timestamps:
            The time stamp summary data for the given session id
 </s> add  </s> remove     def logging_disabled(self):
 </s> add     def logging_disabled(self) -> bool: </s> remove     def _total_stats(self):
 </s> add     def _total_stats(self) -> dict:
    def _get_time_stats(self) -> None:
          retval = self._format_stats(retval)
          logger.debug("Final stats: %s", retval)
          return retval
  
    def _get_time_stats(self) -> None:
          """ Populates the attribute :attr:`_time_stats` with the start start time, end time and
          data points for each session id within the loaded session if it has not already been
          calculated.
  
          If the main Session is currently training, then the training session ID is updated with the
keep keep keep keep replace keep keep keep keep keep
 Bugfixes:
  - Stats graph - Handle NaNs in data
  - logger - de-elevate matplotlib font messages 
lib/gui/analysis/stats.py