def report(project, tablename, datestring1, datestring2, value_key): # get data, from datalogger, or dataloggerhelper # datalogger = DataLogger(BASEDIR, project, tablename) dataloggerweb = DataLoggerWeb(DATALOGGER_URL) print "loading data" starttime = time.time() # tsa1 = datalogger.load_tsa(datestring1) tsa1 = dataloggerweb.get_tsa(project, tablename, datestring1) # tsastat1 = datalogger.load_tsastats(datestring1) tsastat1 = dataloggerweb.get_tsastats(project, tablename, datestring1) # tsa2 = datalogger.load_tsa(datestring2) tsa2 = dataloggerweb.get_tsa(project, tablename, datestring2) # tsastat2 = datalogger.load_tsastats(datestring2) tsastat2 = dataloggerweb.get_tsastats(project, tablename, datestring2) print "Duration load %f" % (time.time() - starttime) starttime = time.time() cm = CorrelationMatrixTime(tsa1, tsa2, value_key) print "TOP most differing keys between %s and %s" % (datestring1, datestring2) for key, coefficient in sorted(cm.items(), key=lambda items: items[1], reverse=True)[:20]: print key, coefficient
# group values by function grouped_value = group_funcs[stat_func](value, data[group_key][value_key][stat_func]) # store data[group_key][value_key][stat_func] = grouped_value # get to same format as TimeseriesArrayStats.to_json returns outdata = [tsastat.index_keys, tsastat.value_keys, ] outdata.append([(key, json.dumps(value)) for key, value in data.items()]) # use TimeseriesArrayStats.from_json to get to TimeseriesArrayStats # object new_tsastat = TimeseriesArrayStats.from_json(json.dumps(outdata)) return new_tsastat if __name__ == "__main__": datalogger = DataLoggerWeb(DATALOGGER_URL) #caches = datalogger.get_caches("sanportperf", "fcIfC3AccountingTable", datalogger.get_last_business_day_datestring()) tsastats = datalogger.get_tsastats("sanportperf", "fcIfC3AccountingTable", datalogger.get_last_business_day_datestring()) g_tsastat1 = groupby(tsastats, (u'hostname',)) tsastats = datalogger.get_tsastats("sanportperf", "fcIfC3AccountingTable", datalogger.get_last_business_day_datestring()) g_tsastat2 = tsastats.group_by_index_keys((u'hostname',)) print(g_tsastat1.keys()) print(g_tsastat2.keys()) assert g_tsastat1 == g_tsastat2 g_tsastat = groupby(tsastats, (u'ifDescr',)) print(g_tsastat.keys()) g_tsastat = groupby(tsastats, (u'hostname', u'ifDescr',)) assert g_tsastat == tsastats print(g_tsastat.keys()) #tsastats.remove_by_value(u'fcIfC3InOctets', "sum", 0.0) #csvdata = tsastats.to_csv("sum", u'fcIfC3OutOctets', reverse=True) #print("\n".join(csv_to_table(csvdata[:20]))) #print("\n".join(csv_to_wiki(csvdata[:20])))