Performance monitoring of java applications

  • Authors:
  • M. Harkema;D. Quartel;B. M. M. Gijsen;R. D. van der Mei

  • Affiliations:
  • University of Twente, The Netherlands and Expertise Group QoS Control, KPN Research, The Netherlands;University of Twente, The Netherlands;Expertise Group QoS Control, KPN Research, The Netherlands;Expertise Group QoS Control, KPN Research, The Netherlands and Free University Amsterdam, The Netherlands

  • Venue:
  • WOSP '02 Proceedings of the 3rd international workshop on Software and performance
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Over the past few years, Java has evolved into a mature platform for developing enterprise applications. A critical factor for the commercial success of these applications is end-to-end performance, e.g., in terms of response times, throughput and availability. This raises the need for the development, validation and analysis of performance models to predict performance metrics of interest. To develop and validate performance models, insight in the execution behavior of the application is essential, requiring advanced monitoring capabilities.In this paper we introduce our Java Performance Monitoring Toolkit (JPMT). JPMT represents internal execution behavior of Java applications by event traces. An event represents the occurrence of some activity, such as thread creation, method invocation, and locking contention. Events are annotated by high-resolution performance attributes, e.g., duration of locking contention and CPU time usage by method invocations. JPMT is an open toolkit, its event trace API can be used to develop custom performance analysis applications. JPMT comes with an event trace visualizer and a command-line event trace query tool for scripting. JPMT supports event filtering during and after application execution. The instrumentation required for monitoring the application is added transparently to the user during run-time. Overhead is minimized by only instrumenting for events the user is interested in. Furthermore, the instrumentation itself is carefully optimized.This paper discusses the architecture and implementation of the toolkit in detail and reports on our experience in applying the toolkit to model a CORBA implementation.