def _get_data(self, node): # TODO: Create here the object SnapQuery from the string results = {} for query_vars in InfoGraphNode.get_queries(node): query = SnapQuery(self.snap, query_vars['metric'], query_vars['tags'], query_vars['ts_from'], query_vars['ts_to']) res = query.run() results[query.metric] = res results_dataframe = self._to_dataframe(results) return results_dataframe
def get_data(self, node): """ Return telemetry data for the specified node :param node: InfoGraph node :return: pandas.DataFrame """ queries = InfoGraphNode.get_queries(node) ret_val = pandas.DataFrame() try: ret_val = self._get_data(queries) except Exception as ex: LOG.debug("Exception in user code: \n{} {} {}".format('-' * 60), traceback.print_exc(file=sys.stdout), '-' * 60) #ret_val.set_index(keys='timestamp') if InfoGraphNode.node_is_vm(node): if not ret_val.empty: ret_val.columns = tm_utils.clean_vm_telemetry_colnames( ret_val.columns) return ret_val