This is the final report for the project I was working for Google Summer of Code 2022
The htop utility recently acquired the ability to display multiple Tabs in its user interface. Currently these display only process information. The aim of this project is to support generalized Tabs, where information beyond processes can be displayed in columns.
- Extend htop Tabs to provide a more generalized Tab and Columns concept, such that top-most resource utilization for system objects other than processes can be displayed.
- The addition of a Tab for Linux cgroup metrics would be an excellent way to visually demonstrate this idea.
- Extend pcp-htop tabs to allow loading at runtime from (text-based) configuration files. This is conceptually similar to the dynamic Meter and Column configuration available in htop today.
- The ability to configure a dynamic Tab for PCP eBPF metrics would be an excellent outcome.
BPF CO-RE Execsnoop within pcp-htop! hooray! 🥳
- My Google Summer of Code Page: link
- List of all my Htop commits: link
- List of all my PCP commits: link
- PCP-Htop SysArch Meter: PR #1213
- PCP-Htop ZFS Meter: PR #1218
- Dynamic Meters: PR #669
- Dynamic Columns: PR #707
- PCP-Htop File Descriptor Meter: PR #992
- Porting BPF CO-RE execsnoop tool to PCP Platform: PR #1565
- QA for execsnoop: PR #1604
- Porting another 10 BPF CO-RE tools to PCP Platform: PR #1612
- Dynamic Screens: PR #1102
- PCP: Add Meter Choice framework for Dynamic Meters: PR #1081
- Porting BPF CO-RE biosnoop: PR #1679
Google Summer of Code was a wonderful experience for me. I now feel a bit more comfortable with the PCP & Htop codebase. I feel confident I will begin an amazing journey with open source projects. I would like to express my gratitude to the Performance Co-Pilot Organization for mentoring me and Google for giving me this opportunity. I'm extremely thankful to my mentors: Nathan Scott, Benny Baumann, Andreas Gerstmayr, Jason Koch, and Ahmad Fatoum. I learned a lot from their insights. Thanks to all my friends for the mental support.
- LinkedIn: linkedin.com/in/smalinux
- My website: smalinux.github.io