[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/584369.584388acmconferencesArticle/Chapter ViewAbstractPublication PagesicpeConference Proceedingsconference-collections
Article

Performance monitoring of java applications

Published: 24 July 2002 Publication History

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.

References

[1]
Apache Software Foundation, Log4J, http://jakarta.apache.org/log4j/, 2001.]]
[2]
S. Browne, J. Dongarra, N. Garner, G. Ho, P. Mucci, A Portable Programming Interface for Performance Evaluation on Modern Processors, The International Journal of High Performance Computing Applications 14, 3:189-204 (Fall), 2000.]]
[3]
M. Dahm, The Byte Code Engineering Library, 2001. http://bcel.sf.net/]]
[4]
E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.]]
[5]
J. Gosling, B. Joy, G. Steele, The Java Language Specification, Addison-Wesley, 1996.]]
[6]
C.A.R. Hoare, Monitors: An Operating System Structuring Concept, Comm. ACM 17, 10:549-557 (October), 1974.]]
[7]
M. Henning, S. Vinoski, Advanced CORBA Programming with C++, ISBN 0201379279, Addison-Wesley, 1999.]]
[8]
IBM Research, Jinsight project, http://www.research.ibm.com/jinsight/, 2001.]]
[9]
Intel, VTune Performance Analyzer, http://developer.intel.com/software/products/vtune/, 2001.]]
[10]
Intel Corporation, Intel Architecture Software Developer's Manual Volume 3: System Programming Guide, 1997.]]
[11]
IONA Technologies, Object Oriented Concepts Inc., ORBacus 4 for Java, 2000.]]
[12]
R, Jain, The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling, John Wiley & Sons, 1991.]]
[13]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, W.G. Griswold, An Overview of AspectJ, 15th European Conference on Object-Oriented Programming (ECOOP), 2001.]]
[14]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. Loingtier, J. Irwin, Aspect-Oriented Programming, 11th European Conference on Object-Oriented Programming (ECOOP), 1997.]]
[15]
S. Liang, D. Viswanathan, Comprehensive Profiling Support in the Java Virtual Machine, 5th USENIX Conference on Object-Oriented Technologies and Systems, May 1999.]]
[16]
T. Lindholm, F. Yellin, The Java Virtual Machine. Specification, 2nd ed., Sun Microsystems, 1999.]]
[17]
M. McPhail, JMonde Trace tool, 2001. (available from http://jmonde.org/Trace)]]
[18]
Compuware NuMega, DevPartner TrueTime Java Edition, http://www.compuware.com/products/numega/dps/java/tt java.htm, 2001.]]
[19]
Object Management Group, The Common Object Request Broker: Architecture and Specification, revision 2.5, OMG document formal/2001-09-01, 2001.]]
[20]
M. Pettersson, Linux perfctr OS extensions (sofware), 2001. http://www.csd.uu.se/~mikpe/linux/perfctr/]]
[21]
Rational Software Corporation, Rational Quantify, http://www.rational.com/products/quantify nt/index.jsp, 2001.]]
[22]
D. Schmidt, Evaluating Architectures for Multi-threaded CORBA Object Request Brokers, Comm. ACM 41, 10, Special Issue on CORBA, 1998.]]
[23]
Sun Microsystems, Java Platform Debugger Architecture, http://java.sun.com/j2se/1.3/docs/guide/jpda/index.html, 1999.]]
[24]
Sitraka Inc., Jprobe Suite, http://www.klg.com/software/jprobe/, 2001.]]
[25]
U. Vahalia, UNIX Internals --- The New Frontiers, Prentice Hall, 1996.]]
[26]
VMGear, OptimizeIt, http://www.optimizeit.com/, 2001.]]
[27]
Visible Workings, Trace for Java, http://www.visibleworkings.com/trace/, 2001.]]
[28]
M. Woodside, Software Performance Evaluation by Models, In Performance Evaluation, LNCS 1769, 2000.]]

Cited By

View all
  • (2024)Java Programming Language: Time Permanence Comparison with Other Languages: A ReviewITM Web of Conferences10.1051/itmconf/2024640101264(01012)Online publication date: 5-Jul-2024
  • (2023)Automated Detection of Software Performance Antipatterns in Java-Based ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2023.323432149:4(2873-2891)Online publication date: 1-Apr-2023
  • (2015)Accurate and Efficient Object Tracing for Java ApplicationsProceedings of the 6th ACM/SPEC International Conference on Performance Engineering10.1145/2668930.2688037(51-62)Online publication date: 28-Jan-2015
  • Show More Cited By

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
WOSP '02: Proceedings of the 3rd international workshop on Software and performance
July 2002
318 pages
ISBN:1581135637
DOI:10.1145/584369
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 July 2002

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. performance measurement and monitoring of java applications

Qualifiers

  • Article

Conference

WOSP02

Acceptance Rates

WOSP '02 Paper Acceptance Rate 35 of 64 submissions, 55%;
Overall Acceptance Rate 149 of 241 submissions, 62%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Java Programming Language: Time Permanence Comparison with Other Languages: A ReviewITM Web of Conferences10.1051/itmconf/2024640101264(01012)Online publication date: 5-Jul-2024
  • (2023)Automated Detection of Software Performance Antipatterns in Java-Based ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2023.323432149:4(2873-2891)Online publication date: 1-Apr-2023
  • (2015)Accurate and Efficient Object Tracing for Java ApplicationsProceedings of the 6th ACM/SPEC International Conference on Performance Engineering10.1145/2668930.2688037(51-62)Online publication date: 28-Jan-2015
  • (2010)THORIBM Journal of Research and Development10.1147/JRD.2010.205848154:5(456-472)Online publication date: 1-Sep-2010
  • (2006)Using Java method traces to automatically characterize and model J2EE server applicationsProceedings of the 38th conference on Winter simulation10.5555/1218112.1218326(1187-1194)Online publication date: 3-Dec-2006
  • (2006)Portable and accurate sampling profiling for JavaSoftware—Practice & Experience10.5555/1133013.113301636:6(615-650)Online publication date: 1-May-2006
  • (2006)Using Java Method Traces to Automatically Characterize and Model J2EE Server ApplicationsProceedings of the 2006 Winter Simulation Conference10.1109/WSC.2006.323210(1187-1194)Online publication date: Dec-2006
  • (2006)Exact and Portable Profiling for the JVM Using Bytecode Instruction CountingElectronic Notes in Theoretical Computer Science10.1016/j.entcs.2006.07.011164:3(45-64)Online publication date: Oct-2006
  • (2006)Portable and accurate sampling profiling for JavaSoftware: Practice and Experience10.1002/spe.71236:6(615-650)Online publication date: 2006
  • (2005)EJBMemProf – a memory profiling framework for enterprise javabeansProceedings of the 8th international conference on Component-Based Software Engineering10.1007/11424529_2(17-32)Online publication date: 14-May-2005
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media