code: def _process_metrics(
          self, data, url, services_incl_filter=None, services_excl_filter=None, custom_tags=None, active_tag=None
      ):
          
          hostname = data['svname']
          service_name = data['pxname']
          back_or_front = data['back_or_front']
          custom_tags = [] if custom_tags is None else custom_tags
          active_tag = [] if active_tag is None else active_tag
          tags = ["type:%s" % back_or_front, "instance_url:%s" % url, "service:%s" % service_name]
          tags.extend(custom_tags)
          tags.extend(active_tag)
  
          if self._is_service_excl_filtered(service_name, services_incl_filter, services_excl_filter):
              return
  
          if back_or_front == Services.BACKEND:
              tags.append('backend:%s' % hostname)
              if data.get('addr'):
                  tags.append('server_address:{}'.format(data.get('addr')))
  
          for key, value in data.items():
              if HAProxy.METRICS.get(key):
                  suffix = HAProxy.METRICS[key][1]
                  name = "haproxy.%s.%s" % (back_or_front.lower(), suffix)
                  try:
                      if HAProxy.METRICS[key][0] == 'rate':
                          self.rate(name, float(value), tags=tags)
                      else:
                          self.gauge(name, float(value), tags=tags)
                  except ValueError:
                      pass
docs: Data is a dictionary related to one host
          (one line) extracted from the csv.
          It should look like:
          {'pxname':'dogweb', 'svname':'i-4562165', 'scur':'42', ...}