Pular para o conteúdo

Calcular Processamento medio - script [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Calcular Processamento medio - script [RESOLVIDO]

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.....

Responder tópico

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

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]

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

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]

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]

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]

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

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ç...

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder