An Invitation To Collaborate
I am planning to evolve the performance tools that I had written for FreeBSD in 2005. (This project ended up becoming the de facto performance measurement toolkit in FreeBSD.)
My goals for the revised implementation are:
- To improve its portability to other operating system kernels — porting it one more BSD system, and if possible, to a modern micro-kernel.
- To support for modern hardware performance monitoring features (this needs the programming API to be changed).
- To improve the testability of the project.
- To improve its interoperability with existing visualization tools.
- To allow the performance of distributed systems to be analyzed with ease.
- To use an ‘RFC’-like or ‘PEP’-like process to guide the evolution of the tools.
- To offer users and implementors appropriately scaffolded documentation (see Cameron Shorter, 2018).
In addition, the project involves reimagining how we approach performance debugging of distributed systems: the new system would allow users to formulate ‘performance assertions’ about their distributed system’s behavior that would execute user-specified actions when they trigger. So debugging performance issues would involve working through a series of hypotheses about system behavior, till the root cause of a performance loss is identified and addressed.
Presentation
Link to the presentation (PDF): An Invitation to Collaborate (2023-11-17).