Beispiel #1
0
def report(datalogger, datestring):
    # get data, from datalogger, or dataloggerhelper
    print "Loading data"
    tsa = datalogger.load_tsa(datestring)
    print "calculating quantilles"
    # tsa_test = tsa.slice(("cpu.used.summation", ))
    starttime = time.time()
    qa = QuantillesArray(tsa)
    print "Duration Quantilles: %f" % (time.time()-starttime)
    starttime = time.time()
    qa.dump(open("/tmp/test_quantilles.json", "wb"))
    print "Duration dump: %f" % (time.time()-starttime)
    starttime = time.time()
    qa2 = QuantillesArray.load(open("/tmp/test_quantilles.json", "rb"))
    print "Duration load: %f" % (time.time()-starttime)
    assert qa == qa2
    qa3 = datalogger.load_quantilles(datestring)
    assert qa3 == qa
    print "Output"
    print qa2[("srvarthur1.tilak.cc","0")]
    #quantilles = Quantilles(tsa, "cpu.used.summation", maxx=None)
    quantilles = qa2["cpu.used.summation"]
    #quantilles = Quantilles(tsa, "datastore.read.average", maxx=None)
    quantilles.sort(2)
    print "most demanding CPU Cores"
    print quantilles.head(20)
    print "least demanding CPU Cores"
    print quantilles.tail(20)
def main():
    project = "vdi"
    tablename = "virtualMachineMemoryStats"
    datalogger = DataLogger(BASEDIR, project, tablename)
    qa = datalogger.load_quantilles("2016-02-22")
    ret_data = []
    # build header
    ret_data.append(list(datalogger.index_keynames) + ["Q0", "Q1", "Q2", "Q3", "Q4"])
    # data part
    for k, v  in qa["mem.overhead.average"].quantilles.items():
        ret_data.append(list(k) + v.values())
    print json.dumps(ret_data)