A General Purpose Metering Substrate The metering substrate is based on the idea of decomposing a wide variety of metering tools into a set of orthogonal components: among them enabling, data generation, data collection, filtering, and display. The substrate provides several useful forms of each. Each component has a well defined protocol and can be used by different metering tools, or easily replaced by programmers. The components all fit in a framework that attempts to solve issues that come up when doing intrusive metering of computer systems: the substrate keeps track of its own overhead, and can safely provide hooks into the internals of the operating system. All metering takes place without requiring compilation of code in a special profile mode. This allows metering to be enabled immediately in response to an observed performance problem. Although much of the implementation took advantage of features of the Lisp Machine, we believe this metering architecture is extendable to other systems.