This poster presents MonitorMethod which helps Java programmers gain insight in the behavior of their applications. MonitorMethod instruments the Java application and relates hardware performance monitors (HPMs) to the methods in the Java application’s source code. We present a detailed case study showing that linking microprocessorlevel performance characteristics to the source code is helpful for identifying performance bottlenecks and their causes. In addition, we relate our work to a previously proposed time-based HPM profiling framework. Categories and Subject Descriptors C.4 [Computer systems organization]: Performance of systems General Terms Design, Performance Keywords Java, performance analysis, profiling, phase behavior