https://github.com/rinhizakura/bio-mon
Trace block I/O activity like biosnoop, but using BPF CO-RE
https://github.com/rinhizakura/bio-mon
ebpf linux
Last synced: 2 months ago
JSON representation
Trace block I/O activity like biosnoop, but using BPF CO-RE
- Host: GitHub
- URL: https://github.com/rinhizakura/bio-mon
- Owner: RinHizakura
- Created: 2025-10-16T15:08:47.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-01-01T16:07:09.000Z (6 months ago)
- Last Synced: 2026-01-06T19:25:55.552Z (6 months ago)
- Topics: ebpf, linux
- Language: C
- Homepage:
- Size: 37.1 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# bio-mon
## Overview
The `bio-mon` is an experimental tool to trace block I/O activity like
[biosnoop](https://github.com/iovisor/bcc/blob/master/tools/biosnoop.py), but implementing
by [BPF CO-RE](https://docs.ebpf.io/concepts/core/) instead of relying on
[bcc](https://github.com/iovisor/bcc/tree/master).
## I/O Trace Information
For each I/O trace, it includes the following information:
Field | Description
-----------|------------------
TIME(s) | Timestamp of the I/O in seconds from the start of tracing
COMM | Name of the process that issued the I/O
PID | PID of the process that issued the I/O
DISK | Name of the disk device
SECTOR | Starting sector number of the I/O
BYTES | Number of bytes transferred to the device by `request`
IOBYTES | Number of bytes of `bio` to the block layer
P | Pattern of the I/O operation (R: random, S: sequential)
QUE(ms) | Time spent from `bio` queued until the issued request is completed
LAT(ms) | Time from `request` is issued to the device driver until it is completed