示例#1
0
def makeDroppedJobsSeq(dir,
                       dir2,
                       dictRun,
                       type=["doppedJobsSLA"],
                       type2="internalJobs",
                       where="dispatcher",
                       preset=3,
                       much=1):
    #Sostanzialmente fa quello che fa makeFilesNoLB ma in più deve normalizzare i valori di droppedJob
    values1 = sp.getValue(dictRun, dir, type, where, much)
    values2 = sp.getValue(dictRun, dir, type2, where)  #nInternalJobs
    values3 = dict()

    for key in values1:
        if key not in values3:
            values3[key] = list()
        for i in range(len(values1[key])):
            if values2[key][i] == 0:
                values3[key].append(0)
            else:
                values3[key].append(values1[key][i] / values2[key][i])

    means = sp.getMeans(values3)
    sp.makeFile(means,
                path.join(dir2),
                where + type[0] + "frattoTotalJobs",
                preset=preset)
    files = sp.getFiles(dir2, "frattoTotalJobs.sp")
    #drawSingle(dir2, files)
    #drawDouble(dir2, together(files,"_001"),"_001;droppedJobs")
    #drawDouble(dir2, together(files,"_1"),"_1;droppedJobs")
    return files
示例#2
0
def makeFiles1VSFiles2SF(files1,
                         files2,
                         dir2,
                         valuesFile1,
                         valuesFile2,
                         xlabel=""):
    files1.sort()
    files2.sort()
    #unisce i file di cui vogliamo fare i grafici uniti
    #creando un file a 3 colonne (rho(x) - values1(y1) - values2(y2))
    sp.joinFiles(dir2, files1, files2)

    #Recupero i files appena creati
    filesJoin = sp.getFiles(dir2, valuesFile2 + "_1_joined.sp")

    #Plot dei grafici uniti
    #thr = [i+1 for i in range(20)]
    if xlabel == "thr":
        rho = ["0.2", "0.5", "0.8", "0.9"]
        for i in rho:
            p.drawOverlayed(dir2,
                            together(filesJoin, "mul_10-rho_" + str(i) + ";",
                                     "joined.sp"),
                            "_" + str(i),
                            valuesFile1,
                            valuesFile2,
                            namex=xlabel)
            p.drawOverlayed(dir2,
                            together(filesJoin, "mul_001-rho_" + str(i) + ";",
                                     "joined.sp"),
                            "_" + str(i),
                            valuesFile1,
                            valuesFile2,
                            namex=xlabel)
        #drawOverlayed(dir2, together(filesJoin,"mul_001","joined.sp"), "_001", valuesFile1, valuesFile2)
    elif xlabel == "rho":
        thr = [i + 1 for i in range(20)]
        for i in thr:
            p.drawOverlayed(dir2,
                            together(filesJoin, "mul_10-thr_" + str(i) + ";",
                                     "joined.sp"),
                            "_" + str(i),
                            valuesFile1,
                            valuesFile2,
                            namex=xlabel)
            p.drawOverlayed(dir2,
                            together(filesJoin, "mul_001-thr_" + str(i) + ";",
                                     "joined.sp"),
                            "_" + str(i),
                            valuesFile1,
                            valuesFile2,
                            namex=xlabel)
        #drawOverlayed(dir2, together(filesJoin,"mul_001","joined.sp"), "_001", valuesFile1, valuesFile2)
    ansca.deleteFiles(filesJoin, dir2)
示例#3
0
def makeFilesNoLB(dir, dir2, dictRun, valuesName):
    #Creo files.sp per valuesName
    #cioè un file che ha due colonne, la prima con rho e la seconda con i valori delle medie di valuesName
    ansca.makeFile(dir, dir2, dictRun, valuesName)
    #recupero i file appena creati
    files = sp.getFiles(dir2, valuesName + ".sp")
    #disegno il singolo plot (es. per 1serv20cap)
    #drawSingle(dir2, files, "rho",valuesName)
    #disegno i plot uniti (stesso mul, per 1serv e 20serv)
    #drawDouble(dir2, together(files,"mul_001"),"_001;"+valuesName,x_label="rho",y_label=valuesName,start="MG",end=";")
    #drawDouble(dir2, together(files,"mul_1"),"_1;"+valuesName,x_label="rho",y_label=valuesName,start="MG",end=";")
    return files
示例#4
0
def makeFiles1VSFiles2(files1,
                       files2,
                       dir2,
                       valuesFile1,
                       valuesFile2,
                       delete=False):
    files1.sort()
    files2.sort()

    sp.joinFiles(dir2, files1, files2)

    #Recupero i files appena creati
    filesJoin = sp.getFiles(dir2, valuesFile2 + "_joined.sp")

    #Plot dei grafici uniti
    #drawOverlayed(dir2, together(filesJoin,"mul_1","joined.sp"), "_1", valuesFile1, valuesFile2)
    #drawOverlayed(dir2, together(filesJoin,"mul_001","joined.sp"), "_001", valuesFile1, valuesFile2)
    if (delete):
        deleteFiles(filesJoin, dir2)

    return filesJoin
示例#5
0
def makeDroppedJobs(dir, dir2, dictRun, preset=1):

    values1 = sp.getValue(dictRun, dir, "droppedJobsTotal")
    values2 = sp.getValue(dictRun, dir, "totalJobs")
    values3 = dict()
    for key in values1:
        if key not in values3:
            values3[key] = list()
        for i in range(len(values1[key])):
            if values2[key][i] == 0:
                values3[key].append(0)
            else:
                values3[key].append(values1[key][i] / values2[key][i])
    means = sp.getMeans(values3)
    sp.makeFile(means,
                path.join(dir2, split[-2]),
                "droppedJobsTotalfrattoTotalJobs",
                preset=preset)
    files = sp.getFiles(dir2, "frattoTotalJobs.sp")
    #drawSingle(dir2, files, "rho", "droppedJobs")
    #drawDouble(dir2, together(files,"mul_001"),"_001;droppedJobs",x_label="rho",y_label="droppedJobs",start="MG",end=";")
    #drawDouble(dir2, together(files,"mul_1"),"_1;droppedJobs",x_label="rho",y_label="droppedJobs",start="MG",end=";")
    return files
示例#6
0
文件: sfvsnolb.py 项目: mions1/Fog
from scipy.stats import lognorm
from scipy.stats import gamma
from scipy.optimize import curve_fit
import vectorParse as vp
import scaParse as sp
import analysis_sca as ansca
import sys, glob, os
from os import path

dir = sys.argv[1]  #Cartella dei files.sca
dir2 = dir if len(sys.argv) <= 2 else sys.argv[
    2]  #Se non passata, dir2 = dir. Cartella output

#Parse dei file .sca, quindi creazione file .sp (dati in colonna)

scaFiles = sp.getFiles(dir, "sca")  #Recupero files.sca da dir
dictRun = sp.divideByRun(
    scaFiles)  #Divido i file per le run, utile per fare media
split = dir.split(
    "/"
)  #splitto per prendere l'ultima parte della directory per fare il nome "1serv20cap" etc, sarà la radice dei file.sp che creerò dopo

dir = sys.argv[1]  #Cartella dei files.sca
dir2 = dir if len(sys.argv) <= 2 else sys.argv[
    2]  #Se non passata, dir2 = dir. Cartella output

#Parse dei file .sca, quindi creazione file .sp (dati in colonna)

scaFiles = sp.getFiles(dir, "sca")  #Recupero files.sca da dir
dictRun = sp.divideByRun(
    scaFiles)  #Divido i file per le run, utile per fare media
示例#7
0
    #drawDouble(dir2, together(files,"mul_1"),"_1;droppedJobs",x_label="rho",y_label="droppedJobs",start="MG",end=";")
    return files


#---------------------------------------------
"""
Prime analisi - FogNoLB
"""

dir = sys.argv[1]  #Cartella dei files.sca
dir2 = dir if len(sys.argv) <= 2 else sys.argv[
    2]  #Se non passata, dir2 = dir. Cartella output

#Parse dei file .sca, quindi creazione file .sp (dati in colonna)

scaFiles = sp.getFiles(dir, "sca")  #Recupero files.sca da dir
dictRun = sp.divideByRun(
    scaFiles)  #Divido i file per le run, utile per fare media
split = dir.split(
    "/"
)  #splitto per prendere l'ultima parte della directory per fare il nome "1serv20cap" etc, sarà la radice dei file.sp che creerò dopo

filesResponseTime = makeFilesNoLB(dir, dir2, dictRun, "responseTime")
filesRho = makeFilesNoLB(dir, dir2, dictRun, "rho")
filesDroppedJobs = makeDroppedJobs(dir, dir2, dictRun)
filesBalancerTime = makeFilesNoLB(dir, dir2, dictRun, "avg_balancerTime_1")

makeFiles1VSFiles2(filesResponseTime, filesRho, dir2, "responseTime", "rho",
                   True)
ansca.makeFiles1VSFiles2(filesDroppedJobs, filesResponseTime, dir2,
                         "droppedJobs", "responseTime", True)
示例#8
0
    plt.plot(data["x"], data["y"], 'r-', label="time-sharing")  # , t, t ** 2, 'bs', t, t ** 3, 'g^')
    plt.plot(data["x"], data["z"], 'b--', label="No time-sharing")

    #plt.title(name)
    plt.xlabel(x_label)
    plt.ylabel(y_label)
    plt.legend()
    plt.savefig(path.join(dir, *["plot", name + ".svg"]))
    plt.clf()
    pass

"""
#TSVSNOTS
"""

dir = sys.argv[1]   #Cartella dei files.sca
dir2 = dir if len(sys.argv) <= 2 else sys.argv[2]	#Se non passata, dir2 = dir. Cartella output


#Parse dei file .sca, quindi creazione file .sp (dati in colonna)

scaFiles = sp.getFiles(dir,"sca")   #Recupero files.sca da dir
dictRun = sp.divideByRun(scaFiles)  #Divido i file per le run, utile per fare media
split = dir.split("/")  #splitto per prendere l'ultima parte della directory per fare il nome "1serv20cap" etc, sarà la radice dei file.sp che creerò dopo

respFiles = sp.getFiles(dir,"responseTime.jsp")
dropFiles = sp.getFiles(dir,"droppedJobs.jsp")

tmp(dir, respFiles[0], "TsVSNoTs-Mul_1-responseTime" ,"rho", "responseTime")
tmp(dir, dropFiles[0], "TsVSNoTs-Mul_1-droppedJobs" ,"rho", "droppedJobs")
示例#9
0
    #plt.title(name)
    plt.xlabel(x_label)
    plt.ylabel(y_label)
    plt.legend()
    plt.savefig(path.join(dir, *["plot", name + ".svg"]))
    plt.clf()
    pass


dir = sys.argv[1]  #Cartella dei files.sca
dir2 = dir if len(sys.argv) <= 2 else sys.argv[
    2]  #Se non passata, dir2 = dir. Cartella output

#Parse dei file .sca, quindi creazione file .sp (dati in colonna)

scaFiles = sp.getFiles(dir, "sca")  #Recupero files.sca da dir
dictRun = sp.divideByRun(
    scaFiles)  #Divido i file per le run, utile per fare media
split = dir.split(
    "/"
)  #splitto per prendere l'ultima parte della directory per fare il nome "1serv20cap" etc, sarà la radice dei file.sp che creerò dopo

#Terze Analisi - FogSequentialForward

#cartella rho

#makeFile(dir, dir2, dictRun, "rho", preset=3)
#makeFile(dir, dir2, dictRun, "droppedJobsSLA_class_1", preset=3)
ansca.makeFile(dir, dir2, dictRun, "avg_responseTime_1", preset=3)
ansca.makeFile(dir, dir2, dictRun, "avg_balancerCount_1", preset=3)
ansca.makeFile(dir, dir2, dictRun, "avg_balancerTime_1", preset=3)
示例#10
0
import vectorParse as vp
import scaParse as sp
import analysis_sca as ansca
import sys, glob, os
from os import path
"""
#Seconde analisi - QLEN
"""

dir = sys.argv[1]  #Cartella dei files.sca
dir2 = dir if len(sys.argv) <= 2 else sys.argv[
    2]  #Se non passata, dir2 = dir. Cartella output

#Parse dei file .sca, quindi creazione file .sp (dati in colonna)

scaFiles = sp.getFiles(dir, "sca")  #Recupero files.sca da dir
dictRun = sp.divideByRun(
    scaFiles)  #Divido i file per le run, utile per fare media
split = dir.split(
    "/"
)  #splitto per prendere l'ultima parte della directory per fare il nome "1serv20cap" etc, sarà la radice dei file.sp che creerò dopo

#Creo file di rho/responseTime/dropped jobs in relazione alla q-len

makeFile(dir, dir2, dictRun, "rho", preset=2)
makeFile(dir, dir2, dictRun, "avg_responseTime_1", preset=2)
filesDJ = ansca.makeDroppedJobs(dir, dir2, dictRun, preset=2)

#Creo plot dei precedenti file
filesRho = sp.getFiles(dir2, "rho.sp")
p.drawSingle(dir2, files, x_label="q_len", y_label="rho")