docs: def fetch_metric(self, cursor, results, tags):
          '''
          Because we need to query the metrics by matching pairs, we can't query
          all of them together without having to perform some matching based on
          the name afterwards so instead we query instance by instance.
          We cache the list of instance so that we don't have to look it up every time
          '''
          if self.sql_name not in results:
              self.log.warning("Couldn't find {} in results".format(self.sql_name))
              return
  
          tags = tags + self.tags
  
          results_list = results[self.sql_name]
          done_instances = []
          for ndx, row in enumerate(results_list):
              ctype = row[0]
              cval = row[1]
              inst = row[2]
              object_name = row[3]
  
              if inst in done_instances:
                  continue
  
              if (self.instance != ALL_INSTANCES and inst != self.instance) or (
                  self.object_name and object_name != self.object_name
              ):
                  done_instances.append(inst)
                  continue
  
              # find the next row which has the same instance
              cval2 = None
              ctype2 = None
              for second_row in results_list[: ndx + 1]:
                  if inst == second_row[2]:
                      cval2 = second_row[1]
                      ctype2 = second_row[0]
  
              if cval2 is None:
                  self.log.warning("Couldn't find second value for {}".format(self.sql_name))
                  continue
              done_instances.append(inst)
              if ctype < ctype2:
                  value = cval
                  base = cval2
              else:
                  value = cval2
                  base = cval
  
              metric_tags = list(tags)
              if self.instance == ALL_INSTANCES:
                  metric_tags.append('{}:{}'.format(self.tag_by, inst.strip()))
              self.report_fraction(value, base, metric_tags)