Portable and accurate sampling profiling for Java

  • Authors:
  • Walter Binder

  • Affiliations:
  • Ecole Polytechnique Fédérale de Lausanne (EPFL), Artificial Intelligence Laboratory, CH-1015 Lausanne, Switzerland

  • Venue:
  • Software—Practice & Experience - Research Articles
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

This article presents a novel framework for the sampling-based profiling of Java programs, which relies on program transformation techniques. We exploit bytecode instruction counting to regularly activate a user-defined profiling agent, which processes the current call stack. This approach has several advantages, such as making the instrumentation entirely portable, generating reproducible profiles, and enabling a fine-grained adjustment of the sampling rate. Our framework offers a flexible API to write portable profiling agents in pure Java. While the overhead due to our profiling scheme is comparable to the overhead caused by prevailing, timing-based profilers, the resulting profiles are much more accurate. Copyright © 2006 John Wiley & Sons, Ltd.