code: def handle_report_metric_data(self, data):
          
          value = extract_scalar_reward(data['value'])
          bracket_id, i, _ = data['parameter_id'].split('_')
          bracket_id = int(bracket_id)
          if data['type'] == 'FINAL':
              # sys.maxsize indicates this value is from FINAL metric data, because data['sequence'] from FINAL metric
              # and PERIODICAL metric are independent, thus, not comparable.
              self.brackets[bracket_id].set_config_perf(int(i), data['parameter_id'], sys.maxsize, value)
              self.completed_hyper_configs.append(data)
          elif data['type'] == 'PERIODICAL':
              self.brackets[bracket_id].set_config_perf(int(i), data['parameter_id'], data['sequence'], value)
          else:
              raise ValueError('Data type not supported: {}'.format(data['type']))
docs: Parameters
          ----------
          data: 
              it is an object which has keys 'parameter_id', 'value', 'trial_job_id', 'type', 'sequence'.
          
          Raises
          ------
          ValueError
              Data type not supported