Examples of urandomread.py, the Linux eBPF/bcc version.


To demonstrate this, the following workload was issued:

# dd if=/dev/urandom of=/dev/null bs=1k count=5

While urandomread.py was tracing in another session:

# ./urandomread.py
TIME(s)            COMM             PID    GOTBITS
22592556.392825000 dd               14228  8192
22592556.392949000 dd               14228  8192
22592556.393068999 dd               14228  8192
22592556.393183999 dd               14228  8192
22592556.393298000 dd               14228  8192

The GOTBITS of 8192 matches the workload of 1 Kbyte (8 Kbit) reads.

This program was really written as a simple example of tracing a tracepoint.