Rewriting executable files to measure program behavior
Software—Practice & Experience
Optimally profiling and tracing programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Exploiting hardware performance counters with flow and context sensitive profiling
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Continuous profiling: where have all the cycles gone?
ACM Transactions on Computer Systems (TOCS)
Efficient and precise modeling of exceptions for the analysis of Java programs
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A portable sampling-based profiler for Java virtual machines
Proceedings of the ACM 2000 conference on Java Grande
A framework for reducing the cost of instrumented code
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Portable resource control in Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Profiling Java applications using code hotswapping and dynamic call graph revelation
WOSP '04 Proceedings of the 4th international workshop on Software and performance
Program transformations for portable CPU accounting and control in Java
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A Portable CPU-Management Framework for Java
IEEE Internet Computing
Vertical profiling: understanding the behavior of object-priented applications
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using hardware performance monitors to understand the behavior of java applications
VM'04 Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3
Comprehensive profiling support in the javaTM virtual machine
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Hi-index | 0.00 |
This paper presents innovative program transformations for the efficient and accurate profiling of Java programs. The profiling is based on a deterministic sampling mechanism that exploits the number of executed JVM bytecode instructions to trigger a user-defined profiling agent in order to process samples of the call stack. The instrumentation is entirely portable, profiles are reproducible, and the sampling rate can be dynamically tuned. Moderate overhead and high profile accuracy make the profiling framework attractive for developers of complex systems, such as application servers.