JP2: collecting dynamic bytecode metrics in JVMs

  • Authors:
  • Aibek Sarimbekov;Walter Binder;Andreas Sewe;Mira Mezini;Alex Villazón

  • Affiliations:
  • University of Lugano, Lugano, OR, Switzerland;University of Lugano, Lugano, OR, Switzerland;Technische Universität Darmstadt, Germany, Darmstadt, Germany;Technische Universität Darmstadt, Germany, Darmstadt, Germany;Universidad Privada Boliviana, Cochabamba, Bolivia

  • Venue:
  • Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The collection of dynamic metrics is an important part of performance analysis and workload characterization. We demonstrate JP2, a new tool for collecting dynamic bytecode metrics for standard Java Virtual Machines (JVMs). The application of JP2 is a three-step process: First, an online step instruments the application for profiling. Next, the resulting profile is dumped in an appropriate format for later analysis. Finally, the desired metrics are computed in an offline step. JP2's profiles capture both the inter-procedural and the intra-procedural control flow in a callsite-aware calling-context tree, where each node stores, amongst others, the execution count for each basic block of code. JP2 uses portable bytecode instrumentation techniques, is Open Source, and has been tested with several production JVMs.