Dynamic program analysis and simulation tools are used extensively by computer architecture and compiler optimization researchers to improve existing techniques or develop new ones. We propose the Alleria framework to make it easier for researchers to comprehensively collect interesting information such as virtual and physical addresses, accessed values, and thread schedules about one or more target applications. Such profilers incur substantial performance overheads that are orders of magnitude over native execution time. We discuss how that overhead can be significantly reduced using a novel profiling mechanism, called adaptive profiling, and a type of configuration, called window configuration, that is much more powerful that what exiting tools offer.