@tornado.gen.coroutine<EOL><INDENT>def fetch(self, cluster, metric, topology, component, instance, timerange, environ=None):<DEDENT>
components = [component] if component != "<STR_LIT:*>" else (yield get_comps(cluster, environ, topology))<EOL>futures = []<EOL>for comp in components:<EOL><INDENT>query = self.get_query(metric, comp, instance)<EOL>future = get_metrics(cluster, environ, topology, timerange, query)<EOL>futures.append(future)<EOL><DEDENT>results = yield futures<EOL>timelines = []<EOL>for result in results:<EOL><INDENT>timelines.extend(result["<STR_LIT>"])<EOL><DEDENT>result = self.get_metric_response(timerange, timelines, False)<EOL>raise tornado.gen.Return(result)<EOL>
:param cluster:
:param metric:
:param topology:
:param component:
:param instance:
:param timerange:
:param environ:
:return: