def _process_cache(self, d, path=()):
        """Recusively walk a nested recon cache dict to obtain path/values"""
        for k, v in d.iteritems():
            if not isinstance(v, dict):
                self.metrics.append((path + (k,), v))
            else:
                self._process_cache(v, path + (k,))
Recusively walk a nested recon cache dict to obtain path/values