Hello Everyone
I have been working on a project called swift-topomap for the last few weeks. It’s a TUI tool designed to solve a problem I keep running into: standard tools like htop show CPU usage, but they don't tell you if that usage is actually productive.
I wanted a way to see the physical hardware topology (Sockets, L3 Cache boundaries) and overlay live microarchitectural metrics (IPC, Cache Misses) using eBPF, but without the baggage of heavy C-library dependencies.
Technical Highlights:
Native Topology Resolver: Instead of linking against libhwloc, I wrote a pure Rust parser for /sys/devices/system/cpu and /sys/devices/system/node. It maps physical package IDs to logical cores and identifies shared L3 cache boundaries natively.
Hybrid Telemetry Engine: It uses a trait-bound collector that negotiates privileges at startup. If run as root, it loads a CO-RE eBPF driver via libbpf-rs to hook sched_switch and read hardware PMCs (Performance Monitoring Counters).
Microarchitectural Insights: The TUI classifies core states. For example, a core at 100% usage but < 0.5 IPC will turn Amber (Memory-Bound/Stalled), while a high IPC core stays Emerald Green.
Static GNU Build: Linking this was a nightmare. I eventually solved the static requirements to bundle libbpf, libelf, and zstd so it ships as a single 3.5MB binary that runs on any modern Linux distro without shared library hell.
Why eBPF + Rust?
I chose Rust for the logic layer and TUI (Ratatui) because I needed memory safety for the FFI boundary with libbpf. The IPC and LLC metrics are pulled via the kernel’s Perf Subsystem, and the deltas are calculated in Rust to provide a steady 100ms-refresh dashboard.
I’m releasing this as open source under SwiftLogic Systems. I would love to hear your thoughts on the topology resolution logic or the eBPF/Perf integration.
GitHub: GitHub - swiftlogicsystems/swifttopology: A high-performance, hardware-aware system observability tool. Maps CPU topology (NUMA, Caches, Cores) with real-time performance metrics (IPC, Cache Misses) using Deep-System eBPF (CO-RE) and a Rust-based Ratatui TUI · GitHub
Some Screen Shots of the tool
1 post - 1 participant
Read full topic
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Georgien fürchtet, vom Westen vergessen zu werden | 0 | 0 | 24-02-2020 |
| 2 | Подскажите сколько адекватно стоит аренда двухкомнатной квартиры недалеко от метро? | 0 | 0 | 10-12-2016 |
| 3 | 0 | 0 | 10-03-2023 | |
| 4 | Профсоюзные санатории ежегодно принимают около 100 тыс. человек | 0 | 0 | 25-02-2020 |
| 5 | «Тайна третьей планеты» — советский полнометражный научно-фантастический мультфильм Романа Качанова, ... | 0 | 0 | 08-03-2023 |
| 6 | 0 | 0 | 09-03-2023 | |
| 7 | Восстановлено прерванное из-за ливней водоснабжение Хадыженска в Краснодарском крае | 0 | 0 | 27-10-2018 |
| 8 | Леонид Слуцкий: «Дорожная карта» России и Китая о так называемом «двойном замораживании» не теряет своей актуальности» | 0 | 0 | 25-12-2017 |
| 9 | Re: Creating topography/terrain in civil 3D from Google earth data | 0 | 0 | 15-01-2020 |
| 10 | Wildfires Mar First Day of Play at Australian Open Qualifiers | 0 | 0 | 14-01-2020 |