docs: def process_metric(self, metric, scraper_config, metric_transformers=None):
          """
          Handle a prometheus metric according to the following flow:
              - search scraper_config['metrics_mapper'] for a prometheus.metric <--> datadog.metric mapping
              - call check method with the same name as the metric
              - log some info if none of the above worked
  
          `metric_transformers` is a dict of <metric name>:<function to run when the metric name is encountered>
          """
          # If targeted metric, store labels
          self._store_labels(metric, scraper_config)
  
          if metric.name in scraper_config['ignore_metrics']:
              return  # Ignore the metric
  
          # Filter metric to see if we can enrich with joined labels
          self._join_labels(metric, scraper_config)
  
          if scraper_config['_dry_run']:
              return
  
          try:
              self.submit_openmetric(scraper_config['metrics_mapper'][metric.name], metric, scraper_config)
          except KeyError:
              if metric_transformers is not None:
                  if metric.name in metric_transformers:
                      try:
                          # Get the transformer function for this specific metric
                          transformer = metric_transformers[metric.name]
                          transformer(metric, scraper_config)
                      except Exception as err:
                          self.log.warning("Error handling metric: {} - error: {}".format(metric.name, err))
                  else:
                      self.log.debug(
                          "Unable to handle metric: {0} - error: "
                          "No handler function named '{0}' defined".format(metric.name)
                      )
              else:
                  # build the wildcard list if first pass
                  if scraper_config['_metrics_wildcards'] is None:
                      scraper_config['_metrics_wildcards'] = [x for x in scraper_config['metrics_mapper'] if '*' in x]
  
                  # try matching wildcard (generic check)
                  for wildcard in scraper_config['_metrics_wildcards']:
                      if fnmatchcase(metric.name, wildcard):
                          self.submit_openmetric(metric.name, metric, scraper_config)