code: def process(self, metric):
          
          if not boto:
              return
  
          collector = str(metric.getCollectorPath())
          metricname = str(metric.getMetricPath())
  
          # Send the data as ......
  
          for rule in self.rules:
              self.log.debug(
                  "Comparing Collector: [%s] with (%s) "
                  "and Metric: [%s] with (%s)",
                  str(rule['collector']),
                  collector,
                  str(rule['metric']),
                  metricname
              )
  
              if ((str(rule['collector']) == collector and
                   str(rule['metric']) == metricname)):
  
                  if rule['collect_by_instance'] and self.instance_id:
                      self.send_metrics_to_cloudwatch(
                          rule,
                          metric,
                          {'InstanceId': self.instance_id})
  
                  if rule['collect_without_dimension']:
                      self.send_metrics_to_cloudwatch(
                          rule,
                          metric,
                          {})
docs: Process a metric and send it to CloudWatch