Buscando garantir a confiabilidade de sistemas críticos através de testes realizados em ambientes controlados, esta é uma análise da performance do ‘LLM GPT-2’ em busca de indícios de envelhecimento do software. Através da comparação de gráficos elaborados ao longo de um período de tempo, será analisado o comportamento padrão a fim de construir relações a partir dos resultados obtidos. Dessa forma, este projeto será apresentado na seguinte ordem: Pacotes Utilizados: descreve os pacotes utilizados durante o desenvolvimento do projeto; Dados e sua Preparação: apresenta as informações básicas dos dados, como suas colunas, e descreve sua preparação; Análise Exploratória: a partir dos dados obtidos, serão realizadas análises e gerados gráficos para visualização; Conclusão: apresentará as conclusões obtidas por meio das análises e propostas futuras.
Os dados consistem em duas tabelas, geradas durante o envio de requisições UDP de client mobile para um servidor desktop, pra este projeto foram realizadas duas capturas uma com o intervalo de 5 segundos e outra com o intervalo de 1 segundo. A primeira tabela se refere as informações de status do sistema, como memória e uso de CPU, a segunda tabela se refere aos processos gerados durante os testes.
fileCleaning <- function(fileName) {
# lendo o arquivo informado
processesgpt2 <- readLines(fileName)
# separando cada linha do arquivo por espaços em branco
processesgpt2 <- gsub("\\s+", " ", processesgpt2)
# o comando que gera os arquivos insere um cabeçalho para cada registro, então é necessárido detecatalo através das string 'USER' e retiralos do comando exceto pelo primeiro
processesgpt2 <- processesgpt2[-grep(pattern = "USER", processesgpt2)[-1]]
# iteração por cada elemento para limpeza de cada linha
for (i in 1:length(processesgpt2)) {
# listando os elementos separados por espaco em um vetor
vetor <- unlist(strsplit(processesgpt2[i], " "))
# unindo os seis primeiros elementos que, pois nao sao separados por espaco
string1 <- paste(vetor[1:6], collapse = ",")
# o ultimo elemento representa o comando utilizado para inicializar o processo, entap é necessário uni-lo em apenas uma string, alem de manter os espacos contidos anteriormente
string2 <- paste(",\"",paste(vetor[7:length(vetor)], collapse = " "),"\"", sep = "")
# união das duas strings geradas
processesgpt2[i] <- paste(string1,string2,sep="")
}
# ajustando o cabeacalho
processesgpt2[1] <- "CURRENT_TIME,USER,PID,VSZ,RSS,MEM,COMMAND"
# removendo a extensao .txt do arquivo
fileName <- unlist(strsplit(fileName, ".txt"))
# adicionando .csv como extensao do arquivo
file_path <- paste("C:\\Users\\chas\\Documents\\GitHub\\dataAnalysisExercises\\project\\",fileName,"_clean.csv", sep="")
writeLines(processesgpt2, con = file_path)
}