Processes metrics.

        This method is called by the Snap deamon during the process phase
        of the execution of a Snap workflow.  Examples of processing metrics
        include applying filtering, max, min, average functions as well as
        adding additional context to the metrics to name just a few.

        In this example we are adding a tag called 'context' to every metric.

        Args:
            metrics (obj:`list` of `snap_plugin.v1.Metric`):
                List of metrics to be processed.

        Returns:
            :obj:`list` of `snap_plugin.v1.Metric`:
                List of processed metrics.

def process(self, metrics, config):
        """Processes metrics.

        This method is called by the Snap deamon during the process phase
        of the execution of a Snap workflow.  Examples of processing metrics
        include applying filtering, max, min, average functions as well as
        adding additional context to the metrics to name just a few.

        In this example we are adding a tag called 'context' to every metric.

        Args:
            metrics (obj:`list` of `snap_plugin.v1.Metric`):
                List of metrics to be processed.

        Returns:
            :obj:`list` of `snap_plugin.v1.Metric`:
                List of processed metrics.
        """
        LOG.debug("Process called")
        for metric in metrics:
            metric.tags["instance-id"] = config["instance-id"]
        return metrics