def fetch_outputs(self, scope, extra=False, itername=''):
        outputs = self._extra_outputs if extra else self._outputs
        data = []
        exc = None

        # Fetch all outputs we can, retaining only the last exception.
        exprs = self._exprs
        if exprs:
            for name in outputs:
                if extra and name == itername:
                    continue
                expr = exprs.get(name)
                try:
                    if expr:
                        value = expr.evaluate(scope)
                    else:
                        value = scope.get(name)
                    data.append((name, value))
                except Exception:
                    exc = sys.exc_info()
        else:
            for name in outputs:
                if extra and name == itername:
                    continue
                try:
                    value = scope.get(name)
                    data.append((name, value))
                except Exception:
                    exc = sys.exc_info()

        return (data, exc)
Parse a message and post it as a metric.
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.lib/src/openmdao/lib/drivers/caseiterdriver.py/_Case.fetch_outputs--crossover with--dataset/ETHPy150Open tmm1/graphite/carbon/lib/carbon/amqp_listener.py/AMQPGraphiteProtocol.processMessage