https://github.com/raghu-nandan-bs/cpupeek
Peek into CPU execution time of processes
https://github.com/raghu-nandan-bs/cpupeek
cpu-monitoring ebpf system-engineering
Last synced: 2 months ago
JSON representation
Peek into CPU execution time of processes
- Host: GitHub
- URL: https://github.com/raghu-nandan-bs/cpupeek
- Owner: raghu-nandan-bs
- License: apache-2.0
- Created: 2023-12-14T16:14:17.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-16T18:11:16.000Z (over 2 years ago)
- Last Synced: 2025-09-05T13:01:12.862Z (10 months ago)
- Topics: cpu-monitoring, ebpf, system-engineering
- Language: Go
- Homepage:
- Size: 11 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cpupeek
Gives visual representation of how much CPU processes are using, and other aspects.

Supports two selectors:
- CPU
- PID
That is, we can select a CPU to inspect runtime of each process in it.
or we can chose a process and see what CPUs it gets scheduled on, and how long its been running in each of these CPUs.

By default, all CPUs and all PIDs are selected, and display is grouped by process.
if a `CPU` is selected, display will be grouped by processes.
if a `Process` is selected, display will be grouped by `CPUs` it has been running on.
This app uses `ebpf`.
## Installation
```
wget https://github.com/raghu-nandan-bs/cpupeek/raw/main/release/cpupeek-$(uname -m) -O cpupeek \
&& chmod +x cpupeek
```
## Run
```
sudo ./cpupeek
```
## Options
```
sudo ./cpupeek --help
Usage of ./cpupeek:
-cpu int
cpu to track (default -1)
-interval duration
how often should the screen refresh? (default 1s)
-log string
log file to write to (default "cpupeek.log")
-pid int
pid to track (default -1)
-show-items int
number of items to show in the barchart (default 20)
-show-pids
display process id instead of their names.
-true-scale
scale the barchart to 1s (y axis)
```