This document discusses instrumentation and measurement techniques used to gather performance data from programs. It describes: - Program, binary, dynamic, processor, operating system, and network instrumentation techniques to collect data on software components, hardware usage, and network traffic. - The Paradyn performance analysis tool, which uses dynamic instrumentation to monitor metrics, store data in histograms and traces, and employs a "Why, Where, When" search model to diagnose potential performance problems in parallel applications. - How the Performance Consultant module in Paradyn automatically searches the problem space defined by the "Why, Where, When" axes to discover performance issues by evaluating hypotheses tests against collected metrics.