“Profiling is a technique for measuring where software programs consume resources, including CPU time and memory. In this article, software architect Andrew Wilcox explains the benefits of profiling and introduces some current profiling options and their shortcomings. He then shows you how to use the new Java 5 agent interface and simple aspect-oriented programming techniques to build your own profiler.”