this shell-line can show pipe buffer size too:
M=0; while true; do dd if=/dev/zero bs=1k count=1 2>/dev/null; \
M=$(($M+1)); echo -en "\r$M KB" 1>&2; done | sleep 999
(sending 1k chunks to blocked pipe until buffer full) ...some test outputs:
64K (intel-debian), 32K (aix-ppc), 64K (jslinux bellard.org) ...Ctrl+C.
shortest bash-one-liner using printf:
M=0; while printf A; do >&2 printf "\r$((++M)) B"; done | sleep 999