Binder, WalterHulaas, JarleMoret, Philippe2007-07-162007-07-162007-07-16200610.1109/IISWC.2006.302745https://infoscience.epfl.ch/handle/20.500.14299/9508Many performance analysis tools for Java focus on tracking executed bytecodes, but provide little support in determining the specific contribution of native code libraries. This paper introduces and assesses a portable approach for characterizing the amount of native code executed by Java applications. A profiling agent based on the JVM Tool Interface (JVMTI) accurately keeps track of all runtime transitions between bytecode and native code. It relies on a combination of JVMTI events, Java Native Interface (JNI) function interception, bytecode instrumentation, and hardware performance counters.A Quantitative Evaluation of the Contribution of Native Code to Java Workloadstext::conference output::conference proceedings::conference paper