Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danteslimbo/dust
https://github.com/danteslimbo/dust
ebpf
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/danteslimbo/dust
- Owner: danteslimbo
- Created: 2024-06-18T02:26:32.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-07-15T12:58:56.000Z (6 months ago)
- Last Synced: 2024-09-30T04:20:53.749Z (3 months ago)
- Topics: ebpf
- Language: C
- Homepage:
- Size: 807 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dust
`dust` is a [pwru](https://github.com/cilium/pwru) to trace io request
## Why dust?
As we all know, io requests initiated by processes go through a long process before they finally hit the disk, during which the io request is handled by the kworker. This asynchronous processing makes it very difficult to track io, so we start with the io request and track the io request's lifecycle.`dust` tracks the io request returned by `blk_mq_alloc_request` and monitors how long it runs in all functions that call `struct request *`, giving a clearer picture of the io request lifecycle.
## TL;DR
Usage:```shell
./dust -h
Usage: ./dust [options]
Available options:
-h, --help show help
-i, --interval uint32 set monitor time in seconds (default 10)
-o, --ofile string output file
-p, --pid uint32 filter pid
-v, --version show version
```
Example: trace a process for 30 seconds.
```shell
sudo ./dust -p {the_process_you_want_to_trace} -i 30
```## TODO
- [ ] kprobe filters.
- [ ] kprobe.multi supports.
- [x] output to files.