Exemplo n.º 1
0
    def startExperiment(self, reps=-1, timePerRep=1):
        """
		Inicia o Experimento
		>>Reps: quantidade de repetições que o experimento terá. 
				Cada repetição é igual a 1 pacote enviado.
				Caso seja <= 0 serão enviados todos os dados disponíveis
		>>timePerRep: 
				intervalo de tempo entre repetição, em segundos. 
				Padrão = 1seg
		"""
        print("\nIniciando o experimento às {0}".format(
            util.getFormattedDatetimeWithMillisec()))

        if (reps <= 0):
            reps = self._dados.length()
        print("Quantidade de pacotes que serão enviados: {}".format(reps))
        duracao = timePerRep * reps
        print("Tempo estimado de duração do experimento: {} ({})\n".format(
            util.getFormattedDateTimeFromSeconds(duracao),
            str(datetime.timedelta(seconds=duracao))))

        for i in range(0, reps):
            print("iniciando repetição {} às {}".format(
                i + 1, str(util.getFormattedDatetimeWithMillisec())))
            self.sendPackage(i)
            time.sleep(timePerRep)
Exemplo n.º 2
0
    def generateFileTXT(self):
        try:
            os.remove(self.outputFileName + '.txt')
        except OSError:
            pass
        path = self.outputFileName + '.txt'
        file = open(path, 'w')
        file.write('Início no servidor às: {}\n'.format(
            self.listPackageServer[0]))
        file.write('Fim no servidor às: {}\n'.format(
            self.listPackageServer[-1]))
        file.write('Quantidade total de pacotes no servidor: {}\n'.format(
            len(self.listPackageServer)))
        file.write('Início no cliente às: {}\n'.format(
            self.listPackageClient[0]))
        file.write('Fim no cliente às: {}\n'.format(
            self.listPackageClient[-1]))
        file.write('Quantidade total de pacotes no cliente: {}\n'.format(
            len(self.listPackageClient)))
        file.write('Quantidade total de repetições: {}'.format(len(self.reps)))
        file.write('\n\n')
        for i in range(0, len(self.reps)):
            rep = self.reps[i]
            file.write('\nRepetição {}\n'.format(i + 1))
            file.write('Início às: {}\n'.format(
                util.getFormattedDatetimeWithMillisec(rep.startTimestamp)))
            file.write('Fim às: {}\n'.format(
                util.getFormattedDatetimeWithMillisec(rep.endTtimestamp)))
            file.write('Quantidade total de pacotes: {}\n'.format(
                len(rep.listPackages)))
            file.write('Atraso médio dos pacotes: {}\n'.format(
                rep.averageDelay))
            file.write(
                'Taxa média de pacotes (média(tamanho pkt/atraso pkt)): {}\n'.
                format(rep.averagePkgLenDelay))
            file.write(
                'Taxa média de pacotes por seg (sum(tamanho pkt)/300): {}\n'.
                format(rep.averagePkgLen))
            file.write(
                'Taxa média de payload dos pacotes por seg (sum(tamanho payload)/300): {}\n'
                .format(rep.averagePayloadLen))
            file.write(
                'Taxa média de payload dos pacotes (média(tamanho payload/atraso pkt)): {}\n'
                .format(rep.averagePayloadLenDelay))
            file.write(
                'Taxa de pacotes por segund (total pkt/300)): {}\n'.format(
                    rep.ratePkgPerSec))
            file.write('Quantidade de pacotes perdidos: {}\n'.format(
                rep.pkgLost))

        file.close()
Exemplo n.º 3
0
 def generateReps(self):
     self.reps = []
     startTS = self.listPackageClient[0].timestamp
     endTS = self.listPackageServer[-1].timestamp
     while (startTS <= endTS):
         endTSAux = util.addSecs(startTS, SECONDS_FOR_EACH_REP).timestamp()
         print('\nProcessando repetição {}: de {} à {}'.format(
             len(self.reps),
             util.getFormattedDatetimeWithMillisec(startTS),
             util.getFormattedDatetimeWithMillisec(endTSAux),
         ))
         self.reps.append(
             Repetition(len(self.reps), startTS, endTSAux,
                        self.listPackageClient, self.listPackageServer))
         startTS = endTSAux
Exemplo n.º 4
0
 def do_POST(self):
     content_length = int(
         self.headers['Content-Length'])  # <--- Gets the size of data
     pkgId = self.headers['id']  # <--- Gets the size of data
     print("\nPacote id {} de tamanho {} recebido às {}".format(
         pkgId, content_length, util.getFormattedDatetimeWithMillisec()))
     # print(self)
     # post_data = self.rfile.read(content_length) # <--- Gets the data itself
     # print(post_data) # <-- Print post data
     self._set_headers()
Exemplo n.º 5
0
 def __addPackage(self, eth, receivedDatetimePackage):
     self.__packageList.append(PackageInfo(eth, receivedDatetimePackage))
     path = "HTTPPackageInfo.txt"
     openType = ('w' if len(self.__packageList) <= 0 else 'a')
     infoFile = open(path, openType)
     infoFile.write(
         "Interceptado pacote {}, enviado às {}, e recebido às {} (diferença de {})\n"
         .format(
             len(self.__packageList), '00:00:00',
             util.getFormattedDatetimeWithMillisec(receivedDatetimePackage),
             '00:00:00 000'))
     infoFile.close()
Exemplo n.º 6
0
    def startExperiment(self, reps, fileName, timePerRep=1):
        print "\nIniciando o experimento às {0}".format(
            util.getFormattedDatetimeWithMillisec())

        if (reps <= 0):
            reps = self._dados.length()

        print "Quantidade de pacotes que serão enviados: {}".format(reps)
        duracao = timePerRep * reps
        print "Tempo estimado de duração do experimento: {} ({})\n".format(
            util.getFormattedDateTimeFromSeconds(duracao),
            str(datetime.timedelta(seconds=duracao)))

        for i in range(0, reps):
            print "\niniciando repetição {} às {}".format(
                i + 1, str(util.getFormattedDatetimeWithMillisec()))
            self.sendPackage(i)
            time.sleep(timePerRep)
        self.generateDelayAndLostFiles(fileName)

        print "Número de repetições: " + str(reps)
        print "Nome do arquivo: " + fileName
Exemplo n.º 7
0
 def __str__(self):
     return '{}: {} | {} | {} | {}'.format(
         util.getFormattedDatetimeWithMillisec(self.timestamp), self.id,
         self.lenPkg, self.lenPayload, self.data)