def execute(self, arbiter, props):
        if 'name' in props:
            watcher = self._get_watcher(arbiter, props['name'])
            if 'process' in props:
                try:
                    return {
                        "process": props['process'],
                        "info": watcher.process_info(props['process'],
                                                     props.get('extended')),
                    }
                except __HOLE__:
                    raise MessageError("process %r not found in %r" % (
                        props['process'], props['name']))
            else:
                return {"name": props['name'],
                        "info": watcher.info(props.get('extended'))}
        else:
            infos = {}
            for watcher in arbiter.watchers:
                infos[watcher.name] = watcher.info()
            return {"infos": infos}
dataset/ETHPy150Open circus-tent/circus/circus/commands/stats.py/Stats.execute