Calcular Processamento medio - script [RESOLVIDO]

1. Calcular Processamento medio - script [RESOLVIDO]

alex menezes dos santos
bhartt

(usa Ubuntu)

Enviado em 02/03/2012 - 10:47h

Senhores, bom dia,

Preciso de ajuda para montar um script que calcule o tempo médio de transações/processamento por um determinado período de tempo, pode ser por x horas ou por dia, ou seja, desejo saber o tempo médio de processamento das transações, o arquivo e este abaixo:

Tail -f /usr/local/pasta_aplicação/logs/strings.2012-03-02.arquivo.log 'DURACAO PROCESSAMENTO' (mm:ss:SSS)00:03:947

costumo monitorar por tail em tempo real este arquivo, mas para calcular este tempo médio, não faço ideia de como fazelo, preciso que o script calcule os campos de tempo, some e depois divida pela quantidade de transações.


Desde Já agradeço.....


  


2. Re: Calcular Processamento medio - script [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 02/03/2012 - 11:35h

Considerando um arquivo de entrada (extrada.txt):

(Formato: [MIN]:[SEG]:[MILISEG])

15:18:433
18:25:377
11:18:151


E o script seguinte (calcula.awk):

!/usr/bin/awk

BEGIN{
FS=":"
SUM=0
COUNTER=0
}

{
SUM += ($3 + ($2 * 1000) + ($1 * 1000 * 1000))
COUNTER++
}

END{
SUM /= (COUNTER * 1.0)

MIN = int(SUM / (1000 * 1000))
SUM -= (MIN * 1000 * 1000)

SEG = int(SUM / 1000)
SUM -= (int(SEG) * 1000)

MILISEG = int(SUM)

printf "Valores coletados: %d\n", COUNTER
printf "Tempo medio: %d:%d:%d\n", MIN, SEG, MILISEG
}


Execute:
cat entrada.txt | awk -f calcula.awk

E a saida será:

Valores coletados: 3
Tempo medio: 14:687:320


Espero ter ajudado!

PS: Nao esquece de dar permissao de execucao para o script calcula.awk!


3. Re: Calcular Processamento medio - script [RESOLVIDO]

alex menezes dos santos
bhartt

(usa Ubuntu)

Enviado em 03/03/2012 - 18:22h

Hebang, boa noite,

vlw pela prontidão em ajudar....

Queria tirar uma dúvida, o arquivo que quero o calculo médio é o "strings.2012-03-02.arquivo.log" onde eu aponto dentro do script que é para executar a partir deste arquivo, é que tenho pouco conhecimento em script e fiquei voando nessa parte...


Grato




4. Duvida

alex menezes dos santos
bhartt

(usa Ubuntu)

Enviado em 07/03/2012 - 12:37h

Ola!


Alguém pode me ajudar a entender como apontar o arquivo que o script deve efetuar o cálculo?


desde já agradeço...






5. Re: Calcular Processamento medio - script [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 07/03/2012 - 12:39h

Opa!

Apenas mude o "entrada.txt", depois do comando "cat", pelo seu arquivo.


6. Re: Calcular Processamento medio - script [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 07/03/2012 - 12:44h

Outra forma de rodar o script seria a seguinte:


awk -f calcula.awk [seus arquivos]


Onde voce deve substituir o "[seus arquivos]" acima pela lista de arquivos que deseja calcular a media, separados por espaco.

PS: Passando mais de um arquivo, o script faz a media de todos os arquivos juntos, e não individualmente.
Para fazer individualmente, rode um comando para cada arquivo, ou itere os mesmos em um laço.

Espero ter ajudado!


7. Re: Calcular Processamento medio - script [RESOLVIDO]

alex menezes dos santos
bhartt

(usa Ubuntu)

Enviado em 08/03/2012 - 14:54h

Heban,

Valw mais uma vez....

Consegui executar o script olha só:

A saida do script foi:
Valores coletados: 424221
Tempo medio: 0:29:405

só que houve um problema que não sei como resolver, o calculo final não corresponde ao campo duração processamento, que 98% das conexões duram em média 219 Milisegundos, acho que a linha que contem (FS=":") está calculando o cabeçalho do arquivo que contém o inicio da conexão "[2012-02-25 23:58:56,306] juntamente com o campo que quero que é "DURACAO PROCESSAMENTO (mm:ss:SSS): 00:00:027", tentei eliminar a contagem deste campo mas não consegui...

poderia me ajudar + uma vez ou indicar um link que eu possa entender como funciona a sintaxi desse script...?


Vlw!


8. Calcular Processamento medio - script

alex menezes dos santos
bhartt

(usa Ubuntu)

Enviado em 09/03/2012 - 17:21h

Ola Hebang..


Vim comunicar que consegui filtrando o campo que preciso calcular com o if($8), me bati um pouco mais consegui filtrar certinho, vlw pela ajuda que deu, foi muito útil...


Abç...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts