Search strategies for Java bottleneck location by dynamic instrumentation
The authors have developed a prototype tool that supports instrumentation of distributed Java applications by on-the-fly deployment of interposition code at user-selectable program points. The paper explores the idea, originated in the Paradyn Performance Consultant, of systematically searching for performance bottlenecks by progressive refinement. They present the callgraph search algorithm in detail, and discuss a number of shortcomings with the approach, some of which can be addressed by improving the search strategy. They support their conclusions with two application examples. This is a report of work in progress, aimed at stimulating further investigation of this interesting approach.