docs: def _parse_general_counters(self, init_config):
          """
          Return a dictionary for each job counter
          {
            counter_group_name: [
                counter_name
              ]
            }
          }
          """
          job_counter = {}
  
          if init_config.get('general_counters'):
  
              # Parse the custom metrics
              for counter_group in init_config['general_counters']:
                  counter_group_name = counter_group.get('counter_group_name')
                  counters = counter_group.get('counters')
  
                  if not counter_group_name:
                      raise Exception('"general_counters" must contain a valid "counter_group_name"')
  
                  if not counters:
                      raise Exception('"general_counters" must contain a list of "counters"')
  
                  # Add the counter_group to the job_counters if it doesn't already exist
                  if counter_group_name not in job_counter:
                      job_counter[counter_group_name] = []
  
                  for counter in counters:
                      counter_name = counter.get('counter_name')
  
                      if not counter_name:
                          raise Exception('At least one "counter_name" should be specified in the list of "counters"')
  
                      job_counter[counter_group_name].append(counter_name)
  
          return job_counter