We are interested in obtaining detailed performance information on-the-fly from long-running systems without adversely affecting the performance of the systems. We have developed a methodology consisting of a framework, DYPER, and a number of specialized agents called proflets each of which analyzes a different performance aspect. DYPER gathers performance information with a guaranteed maximum overhead that is dynamically settable by the programmer using priorities set by the proflets. Moreover, the type of information that the system can provide is generally only available for tools that generally have too much overhead to be usable in production or long-running systems. DYPER includes the ability to control and display performance data as the program is run.