def queryData(self, idx): data = [] intv = int(hp.CalcMinutes4Period(self.dateFrom, self.dateTo) / 60) time_list = hp.GetTimeRanges(self.dateFrom, self.dateTo, intv) for i in range(len(time_list) - 1): data.extend(qrs.query4Avg(idx, time_list[i], time_list[i + 1])) return data
def queryData(dateFrom, dateTo): data = [] # query in portions since ES does not allow aggregations with more than 10000 bins intv = int(hp.CalcMinutes4Period(dateFrom, dateTo) / 60) time_list = hp.GetTimeRanges(dateFrom, dateTo, intv) for i in range(len(time_list) - 1): data.extend(query4Avg(time_list[i], time_list[i + 1])) return data
def loadPacketLossData(dateFrom, dateTo): data = [] intv = int(hp.CalcMinutes4Period(dateFrom, dateTo) / 60) time_list = hp.GetTimeRanges(dateFrom, dateTo, intv) for i in range(len(time_list) - 1): data.extend( qrs.query4Avg('ps_packetloss', time_list[i], time_list[i + 1])) return pd.DataFrame(data)
def getPercentageMeasuresDone(grouped, tempdf): measures_done = tempdf.groupby('pair').agg({'doc_count': 'sum'}) def findRatio(row, total_minutes): if pd.isna(row['doc_count']): count = '0' else: count = str(round((row['doc_count'] / total_minutes) * 100)) + '%' return count one_test_per_min = hp.CalcMinutes4Period(dateFrom, dateTo) measures_done['tests_done'] = measures_done.apply( lambda x: findRatio(x, one_test_per_min), axis=1) grouped = pd.merge(grouped, measures_done, on='pair', how='left') return grouped