Como obter uma velocidade média de fluxo do tubo

16

Se myfileestiver aumentando com o tempo, posso obter o número de linhas por segundo usando

tail -f | pv -lr > /dev/null

Dá velocidade instantânea, não média.

Como posso obter a velocidade média (ou seja, a integral da função de velocidade ao v(t)longo do tempo de monitoramento).

user123456
fonte

Respostas:

15

Com o pv1.2.0 (dezembro de 2010) e acima, é com a -aopção:

Aqui, com os atuais e os médios, baseados em linhas:

$ find / 2> /dev/null | pv -ral > /dev/null
[6.28k/s] [70.1k/s]

Com 1.3.8 (outubro de 2012) e mais recente, você também pode usar -F/ --formatcom %a:

$ find / 2> /dev/null | pv -lF 'current: %r, average: %a'  > /dev/null
current: [4.66k/s], average: [ 218k/s]

Observe que tail -fcomeça descartando as últimas 10 linhas do arquivo. Use tail -n 0 -f file | pv -lapara evitar esse viés no seu cálculo de velocidade média.

Stéphane Chazelas
fonte