code: def record_better_monitor(self, trainer, results):
      self.best_monitor_step = trainer.global_forward_batches
      self.best_monitor_epoch = trainer.cur_epoch_idx
      self.best_results = self.itemize_results(results)
  
imports: import json
  from typing import Union
  from .has_monitor_callback import HasMonitorCallback
  from fastNLP.core.utils import f_rich_progress, f_tqdm_progress
  from fastNLP.core.log import logger
label_desc: Use image node_id 2 for calling the ProgressCallback obj's underlying member method code with example usage: obj.record_better_monitor(trainer, results) without return types