Skip to content

an ebpf based program which focus on process's network bandwidth, like Nethogs but provides every connection's bandwidth as well, and even terminal graph

License

Ivlyth/process-bandwidth

Repository files navigation

process-bandwidth is an ebpf based program which focus on process's network bandwidth (include each connection). it provides a clean terminal UI based on tview (as a CLI tool), and provides a simple API to export data for prometheus (as a long-running task).

Screenshots

screenshot-top screenshot-options

Usage

in top mode, you can open/close settings by press F4, exit by press ESC or CTRL+C, and pause/resume the update by press F5, and you can click on the table header line (currently only support In, Out, Total) to change the sort column and order

also you can use tab to change focus between process's table、connection's table and filter input box, and you can use up/down keys to
scroll in the table, press the Enter key to choose current process or connection

Requirements

linux kernel version >= 3.10

Installation

please download through GitHub's release page, or you can build your own by just run make under the root directory of the project

Filter

filter processes (default mode)
  • GetConnections.ConnectionInfo.LocalPort=9091 or Name=java
filter connections (you should check the Connes and uncheck the Process)
  • ConnectionInfo.LocalPort = 2181 or ConnectionInfo.LocalPort = 9091
filter both (you should check the both)

Note: filter processes and connections at the same time it's only meaningful that you filter processes based on connection and you want see connections only satisfies the filter for process. so we just use or to concat two (or more) filter, but we know that one is for process and another is for connection.

  • GetConnections.ConnectionInfo.LocalPort = 2181 or ConnectionInfo.LocalPort = 2181

filter function implement based on uni-filter, see more document here

Thanks

About

an ebpf based program which focus on process's network bandwidth, like Nethogs but provides every connection's bandwidth as well, and even terminal graph

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages