Part III

Kernel-User Trace

In Part I, we learned how to do careful measurements of the four fundamental shared computer hardware resources: CPU, memory, disk/SSD, and network. In Part II, we looked at existing tools and techniques for observing the behavior of time-constrained software.

Part III teaches the reader how to build the low-overhead KUtrace tool to record for any server what kernel or user code is executing on each CPU core every nanosecond—all programs, all operating system code, all interrupt handling, all idle loops, etc. Such a trace not only captures where all the execution time went in processing a transaction, but also captures all the reasons for not executing: what the transaction is waiting for while not executing. A total ...

Get Understanding Software Dynamics now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.