I am planning to evolve the performance tools that I had written for FreeBSD in 2005.

The goals for the revised implementation are:

  • To support for modern hardware performance monitoring features (this needs the programming API to be changed).
  • To improve the testability of the project’s code.
  • To improve its portability to other operating system kernels.
  • To improve its interoperability with existing visualization tools.
  • 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).

The redesign involves reimagining what it means to debug system performance issues. For example, I would like to offer users a way formulate hypotheses (assertions) about their system’s behavior on hardware, with the ability to execute user-specified actions when these hypotheses become ‘true’ or ‘false’.

Presentation

Link to the presentation (PDF): An Invitation to Collaborate (2023-11-17).