'Handle a prometheus metric message according to the following flow:
- search self.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
`send_histograms_buckets` is used to specify if yes or no you want to send the buckets as tagged values when dealing with histograms.'

def process_metric(self, message, send_histograms_buckets=True, custom_tags=None, **kwargs):

    try:
        if (message.name in self.ignore_metrics):
            return
        if (message.name in self.metrics_mapper):
            self._submit_metric(self.metrics_mapper[message.name], message, send_histograms_buckets, custom_tags)
        else:
            getattr(self, message.name)(message, **kwargs)
    except AttributeError as err:
        self.log.debug('Unable    to    handle    metric:    {}    -    error:    {}'.format(message.name, err))
