Cómo obtener una velocidad de flujo promedio de la tubería

16

Si myfileaumenta con el tiempo, puedo obtener el número de línea por segundo usando

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

Da velocidad instantánea, no promedio.

¿Cómo puedo obtener la velocidad promedio (es decir, la integral de la función de velocidad v(t)durante el tiempo de monitoreo)?

usuario123456
fuente

Respuestas:

15

Con pv1.2.0 (diciembre de 2010) y superior, tiene la -aopción:

Aquí con actual y promedio, basado en línea:

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

Con 1.3.8 (octubre de 2012) y más reciente, también puede usar -F/ --formatcon %a:

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

Tenga en cuenta que tail -fcomienza volcando las últimas 10 líneas del archivo. Use tail -n 0 -f file | pv -lapara evitar ese sesgo en su cálculo de velocidad promedio.

Stéphane Chazelas
fuente