Cara mendapatkan kecepatan aliran pipa rata-rata

16

Jika myfilemeningkat dari waktu ke waktu, saya bisa mendapatkan jumlah baris per detik menggunakan

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

Ini memberikan kecepatan instan, bukan rata-rata.

Bagaimana saya bisa mendapatkan kecepatan rata-rata (yaitu integral dari fungsi kecepatan v(t)dari waktu pemantauan).

pengguna123456
sumber

Jawaban:

15

Dengan pv1.2.0 (Desember 2010) dan di atasnya, ada -aopsi:

Di sini dengan arus dan rata-rata, berbasis garis:

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

Dengan 1.3.8 (Oktober 2012) dan yang lebih baru, Anda juga dapat menggunakan -F/ --formatdengan %a:

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

Perhatikan bahwa tail -fmulai dengan membuang 10 baris terakhir file. Gunakan tail -n 0 -f file | pv -launtuk menghindari bias dalam perhitungan kecepatan rata-rata Anda.

Stéphane Chazelas
sumber